[ofa-general] RE: [RFC V3 PATCH 4/5] rdma/cma: implement RDMA_CM_EVENT_NETDEV_CHANGE notification

Sean Hefty sean.hefty at intel.com
Wed May 28 10:59:34 PDT 2008


>The rdma-cm maintains a mapping between IDs to the physical devices. The
>mapping is established during address resolution using the HW address of
>the --network-- device that was resolved (eg through ARP and then
>looking on neigh->dev or route lookup) for this ID.

This is what I was thinking.

>In the bonding case, the network device --borrows-- the HW address from
>the active slave device. During fail-over, the bonding net device
>changes its HW address and then the netdev event is delivered on which
>this code acts. So the same cma_dev can have IDs with different netdev
>HW address in their dev_addr struct, say bond0 = <ib0, ib1> and pdevA
>list = { <ID1, HW(ib0)>, <ID2, HW(ib1)>} depending on the time address
>resolution was done to ID1,ID2 and the ULP behavior on the ADDR_CHANGE
>event. I don't see how to get along with a simple check that tell on
>what cma_dev to look for matches. If we really want to avoid scanning
>all the cma_dev list, we can add a mapping between --net devices-- to
>IDs and then scan only the list of the affiliated netdevice.

Ok - looping through everything isn't that bad, since it's not expected to
happen often.  If there's a way to improve this, I'm fine waiting to see if
there's a real problem before complicating things.

- Sean




More information about the general mailing list