net/core: add NETDEV_BONDING_FAILOVER event
Add NETDEV_BONDING_FAILOVER event to be used in a successive patch by bonding to announce fail-over for the active-backup mode through the netdev events notifier chain mechanism. Such an event can be of use for the RDMA CM (communication manager) to let native RDMA ULPs (eg NFS-RDMA, iSER) always be aligned with the IP stack, in the sense that they use the same ports/links as the stack does. More usages can be done to allow monitoring tools based on netlink events being aware to bonding fail-over. Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
743d32ad36
commit
c1da4ac752
|
@ -1479,6 +1479,7 @@ extern void __dev_addr_unsync(struct dev_addr_list **to, int *to_count, struct
|
||||||
extern void dev_set_promiscuity(struct net_device *dev, int inc);
|
extern void dev_set_promiscuity(struct net_device *dev, int inc);
|
||||||
extern void dev_set_allmulti(struct net_device *dev, int inc);
|
extern void dev_set_allmulti(struct net_device *dev, int inc);
|
||||||
extern void netdev_state_change(struct net_device *dev);
|
extern void netdev_state_change(struct net_device *dev);
|
||||||
|
extern void netdev_bonding_change(struct net_device *dev);
|
||||||
extern void netdev_features_change(struct net_device *dev);
|
extern void netdev_features_change(struct net_device *dev);
|
||||||
/* Load a device via the kmod */
|
/* Load a device via the kmod */
|
||||||
extern void dev_load(struct net *net, const char *name);
|
extern void dev_load(struct net *net, const char *name);
|
||||||
|
|
|
@ -197,6 +197,7 @@ static inline int notifier_to_errno(int ret)
|
||||||
#define NETDEV_GOING_DOWN 0x0009
|
#define NETDEV_GOING_DOWN 0x0009
|
||||||
#define NETDEV_CHANGENAME 0x000A
|
#define NETDEV_CHANGENAME 0x000A
|
||||||
#define NETDEV_FEAT_CHANGE 0x000B
|
#define NETDEV_FEAT_CHANGE 0x000B
|
||||||
|
#define NETDEV_BONDING_FAILOVER 0x000C
|
||||||
|
|
||||||
#define SYS_DOWN 0x0001 /* Notify of system down */
|
#define SYS_DOWN 0x0001 /* Notify of system down */
|
||||||
#define SYS_RESTART SYS_DOWN
|
#define SYS_RESTART SYS_DOWN
|
||||||
|
|
|
@ -961,6 +961,12 @@ void netdev_state_change(struct net_device *dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void netdev_bonding_change(struct net_device *dev)
|
||||||
|
{
|
||||||
|
call_netdevice_notifiers(NETDEV_BONDING_FAILOVER, dev);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(netdev_bonding_change);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dev_load - load a network module
|
* dev_load - load a network module
|
||||||
* @net: the applicable net namespace
|
* @net: the applicable net namespace
|
||||||
|
|
Loading…
Reference in a new issue