Page MenuHomeFreeBSD

Fix for IPoIB over lagg
ClosedPublic

Authored by hselasky on Dec 17 2020, 5:59 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 11, 4:10 AM
Unknown Object (File)
Sun, Nov 10, 6:47 AM
Unknown Object (File)
Sun, Nov 10, 6:34 AM
Unknown Object (File)
Sun, Nov 10, 1:57 AM
Unknown Object (File)
Sat, Nov 9, 12:31 PM
Unknown Object (File)
Thu, Nov 7, 2:07 PM
Unknown Object (File)
Tue, Nov 5, 3:03 PM
Unknown Object (File)
Oct 10 2024, 6:39 AM
Subscribers

Details

Summary

Need to update both link layer address and broadcast address when active link changes for IP over infiniband.
This is because the broadcast address contains the so-called P-key, which is interface dependent.

MFC after: 1 week
Sponsored by: Mellanox Technologies // NVIDIA Networking

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

hselasky edited the summary of this revision. (Show Details)

I suspect this is not how LL addresses are supposed to work, or rather, it breaks typical use scenario involving LL. For instance, hosts use router LL address for forwarding packets. If this address changes, you get connectivity issues on SLAAC-configured hosts until 1. router rtadvd notices link-level configuration change 2. rtadvd sens new RA packet. And I am not sure that typical implementations of rtadvd even monitor such changes, quick look at the FreeBSD implementation suggests that it does not.

I believe that the solution there is for LAGG to generate some own LL address and consistently use it regardless of which interface is active.

I believe that the solution there is for LAGG to generate some own LL address and consistently use it regardless of which interface is active.

That's why we only support failover. The LL addresses are "hardcoded" to each ib<N> interface. IPoIB does not work like ethernet unfortunately.

ok, assuming LL means link-level and not link-local.

This revision is now accepted and ready to land.Dec 29 2020, 1:29 PM
This revision was automatically updated to reflect the committed changes.