• David Ahern's avatar
    net: ipv6: Make inet6addr_validator a blocking notifier · ff7883ea
    David Ahern authored
    inet6addr_validator chain was added by commit 3ad7d246 ("Ipvlan
    should return an error when an address is already in use") to allow
    address validation before changes are committed and to be able to
    fail the address change with an error back to the user. The address
    validation is not done for addresses received from router
    advertisements.
    
    Handling RAs in softirq context is the only reason for the notifier
    chain to be atomic versus blocking. Since the only current user, ipvlan,
    of the validator chain ignores softirq context, the notifier can be made
    blocking and simply not invoked for softirq path.
    
    The blocking option is needed by spectrum for example to validate
    resources for an adding an address to an interface.
    Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
    Reviewed-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ff7883ea
ipvlan_main.c 25.8 KB