net: pass info struct via netdevice notifier
So far, only net_device * could be passed along with netdevice notifier event. This patch provides a possibility to pass custom structure able to provide info that event listener needs to know. Signed-off-by: Jiri Pirko <jiri@resnulli.us> v2->v3: fix typo on simeth shortened dev_getter shortened notifier_info struct name v1->v2: fix notifier_call parameter in call_netdevice_notifier() Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
b1098bbe1b
commit
351638e7de
@@ -794,9 +794,9 @@ EXPORT_SYMBOL(can_proto_unregister);
|
||||
* af_can notifier to create/remove CAN netdevice specific structs
|
||||
*/
|
||||
static int can_notifier(struct notifier_block *nb, unsigned long msg,
|
||||
void *data)
|
||||
void *ptr)
|
||||
{
|
||||
struct net_device *dev = (struct net_device *)data;
|
||||
struct net_device *dev = netdev_notifier_info_to_dev(ptr);
|
||||
struct dev_rcv_lists *d;
|
||||
|
||||
if (!net_eq(dev_net(dev), &init_net))
|
||||
|
||||
@@ -1350,9 +1350,9 @@ static int bcm_sendmsg(struct kiocb *iocb, struct socket *sock,
|
||||
* notification handler for netdevice status changes
|
||||
*/
|
||||
static int bcm_notifier(struct notifier_block *nb, unsigned long msg,
|
||||
void *data)
|
||||
void *ptr)
|
||||
{
|
||||
struct net_device *dev = (struct net_device *)data;
|
||||
struct net_device *dev = netdev_notifier_info_to_dev(ptr);
|
||||
struct bcm_sock *bo = container_of(nb, struct bcm_sock, notifier);
|
||||
struct sock *sk = &bo->sk;
|
||||
struct bcm_op *op;
|
||||
|
||||
@@ -445,9 +445,9 @@ static inline void cgw_unregister_filter(struct cgw_job *gwj)
|
||||
}
|
||||
|
||||
static int cgw_notifier(struct notifier_block *nb,
|
||||
unsigned long msg, void *data)
|
||||
unsigned long msg, void *ptr)
|
||||
{
|
||||
struct net_device *dev = (struct net_device *)data;
|
||||
struct net_device *dev = netdev_notifier_info_to_dev(ptr);
|
||||
|
||||
if (!net_eq(dev_net(dev), &init_net))
|
||||
return NOTIFY_DONE;
|
||||
|
||||
@@ -239,9 +239,9 @@ static int raw_enable_allfilters(struct net_device *dev, struct sock *sk)
|
||||
}
|
||||
|
||||
static int raw_notifier(struct notifier_block *nb,
|
||||
unsigned long msg, void *data)
|
||||
unsigned long msg, void *ptr)
|
||||
{
|
||||
struct net_device *dev = (struct net_device *)data;
|
||||
struct net_device *dev = netdev_notifier_info_to_dev(ptr);
|
||||
struct raw_sock *ro = container_of(nb, struct raw_sock, notifier);
|
||||
struct sock *sk = &ro->sk;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user