rdma_cap_eth_ah(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… rdma_cap_eth_ah β€” like, the Kernel API Manual edition, bestie ✨

okay so picture this: you're deep in the kernel, you're poking at an ib_device, and you need to know ONE thing β€” is this port giving RoCE energy or not? That's the whole vibe of rdma_cap_eth_ah(9). Buckle up πŸŽ€


πŸ¦‹ NAME πŸ¦‹

rdma_cap_eth_ah β€” basically a vibe check that asks: does this device's port have the Ethernet Address Handle capability? πŸ’–


✨ SYNOPSIS ✨

bool rdma_cap_eth_ah (const struct ib_device *device , u32 port_num );

like, that's it. that's the whole function. iconic behavior honestly πŸ‘‘


🌸 ARGUMENTS 🌸

  • device β€” the device you're checking. the main character of this operation 🫢
  • port_num β€” the port number you're checking. yes, that one. the specific one πŸ’…

πŸ’œ DESCRIPTION πŸ’œ

so. RoCE. it stands for InfiniBand over Ethernet, and ngl it's kind of a genius little trick β€” it uses a well defined technique to fabricate GIDs over Ethernet/IP specific addresses that are native to the port. like it's out here hand-crafting addresses, we love a resourceful queen 🧚

normally? packet headers are generated by the sending host adapter, no stress, automatic, slay. BUT β€” and this is the plot twist 😭 β€” when you're sending connectionless datagrams, we must manually inject the proper headers for the fabric we're communicating over. no autopilot, bestie. you're doing it by hand. πŸ”₯


⭐ RETURN ⭐

returns true if we are running as a RoCE port and we must force the addition of a Global Route Header built from our Ethernet Address Handle into our header list for connectionless packets. so like, true = yes babe you're doing the manual header thing πŸ’€


🌈 SEE ALSO 🌈

everything's connected, iykyk πŸ’« β€” kernel file ./include/rdma/ib_verbs.h, and:


no cap, that's a lot of friends. go read them too, they're all slaying in ./include/rdma πŸ’€πŸ’–

okay that's the whole page bestie!! this little cutie lives in ./include/rdma, it's the October 2026 era, and it goes by rdma_cap_eth_ah(9) πŸŽ€βœ¨ go forth and check your Ethernet Address Handle capability, you absolute icon πŸ‘‘πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from