Jay Vosburgh wrote:
Or Gerlitz <[EMAIL PROTECTED]> wrote:

        What network device drivers are there that don't permit ever
changing the device MAC address?

I am thinking about what would it take to support active-backup/bonding for IP over Infiniband (see Documentation/infiniband/ipoib.txt).

The IPoIB MAC address (defined in RFC 4391 section 9.1.1) is 20 bytes long and made of the IB port GID (16 bytes), the IB QPN (Queue-Pair number) used by this device (3 bytes) plus 1 reserved byte.

The IPoIB MAC address is made of two unique hardware resource identifiers: the GID which identifies the HCA IP port and the number of the QP opened by the driver on this HCA/port. Currently the driver does not support changing this MAC and i am also looking into whether its possible and what does it would take to have some abstraction layer implemented in the driver that would allow for external setting of the MAC address; that is an intermediate data structure that would translate from the MAC address exposed in the device and neigh structures to the actual IB hardware address.

However, again, if you would ACK an intension to patch the bonding driver such that it will not force usage of dev->set_mac_address for active-backup/bonding i would prefer to first produce and test a patch which does not change the IPoIB driver (drivers/infiniband/ulp/ipoib)

Or.

Below is the addr info on a node named dill with two ipoib devices ib0 (192.168.10.118) and ib1 (not up) and the neigh info for an ipoib endpoint whose address is 192.168.10.57

so

the GID of the port associated with ib0 is fe:80:00:00:00:00:00:00:00:08:f1:04:03:96:51:dd

the GID of the port associated with ib1 is
fe:80:00:00:00:00:00:00:00:08:f1:04:03:96:51:de

the qpn used by ib0 is 00:04:04 (0x404)
the qpn used by ib1 is 00:04:05 (0x405)

the remote GID in this example is fe:80:00:00:00:00:00:00:00:08:f1:04:03:97:07:99

and the remote qpn is 0x404

dill # ip addr show ib0
6: ib0: <BROADCAST,MULTICAST,UP,10000> mtu 2044 qdisc pfifo_fast qlen 128
    link/[32] 00:00:04:04:fe:80:00:00:00:00:00:00:00:08:f1:04:03:96:51:dd
      brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
    inet 192.168.10.118/24 brd 192.168.10.255 scope global ib0
    inet6 fe80::208:f104:396:51dd/64 scope link
       valid_lft forever preferred_lft forever

dill# ip addr show ib1
7: ib1: <BROADCAST,MULTICAST> mtu 2044 qdisc noop qlen 128
    link/[32] 00:00:04:05:fe:80:00:00:00:00:00:00:00:08:f1:04:03:96:51:de
      brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff

dill# ip neigh show 192.168.10.57
192.168.10.57 dev ib0 lladdr 00:00:04:04:fe:80:00:00:00:00:00:00:00:08:f1:04:03:97:07:99 nud reachable

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to