• Roland Dreier's avatar
    [IPV6]: IPoIB link addr option needs two byte pad. · 46b2c02f
    Roland Dreier authored
    Anand Parthasarathy pointed out that draft-ietf-ipoib-ip-over-infiniband-09.txt says:
    
                [DISC] specifies the length of source/target option in
                number of 8-octets as indicated by a length of '3' above.
                Since the IPoIB link-layer address is only 20-octet long,
                two octets of zero MUST be prepended to fill the total
                option length of 24 octets.
    
    The current Linux neighbour discovery code puts the padding after the
    link address.  This patch fixes up ndisc.c to put the padding in the
    correct place by adding a general ndisc_addr_option_pad() function
    (which could be used in the future if someone ever implements RFC 3831
    IPv6-over-FC or some other encapsulation that requires padding).
    Signed-off-by: default avatarRoland Dreier <roland@topspin.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    46b2c02f
ndisc.c 38.8 KB