Page MenuHomeFreeBSD

D30522.id91065.diff
No OneTemporary

D30522.id91065.diff

diff --git a/sys/compat/linuxkpi/common/include/linux/netdevice.h b/sys/compat/linuxkpi/common/include/linux/netdevice.h
--- a/sys/compat/linuxkpi/common/include/linux/netdevice.h
+++ b/sys/compat/linuxkpi/common/include/linux/netdevice.h
@@ -59,6 +59,7 @@
/* According to linux::ipoib_main.c. */
struct netdev_notifier_info {
struct net_device *dev;
+ struct ifnet *ifp;
};
static inline struct net_device *
@@ -67,6 +68,12 @@
return (ni->dev);
}
+static inline struct ifnet *
+netdev_notifier_info_to_ifp(struct netdev_notifier_info *ni)
+{
+ return (ni->ifp);
+}
+
int register_netdevice_notifier(struct notifier_block *);
int register_inetaddr_notifier(struct notifier_block *);
int unregister_netdevice_notifier(struct notifier_block *);
diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c
--- a/sys/compat/linuxkpi/common/src/linux_compat.c
+++ b/sys/compat/linuxkpi/common/src/linux_compat.c
@@ -2315,6 +2315,7 @@
struct netdev_notifier_info ni;
nb = arg;
+ ni.ifp = ifp;
ni.dev = (struct net_device *)ifp;
if (linkstate == LINK_STATE_UP)
nb->notifier_call(nb, NETDEV_UP, &ni);
@@ -2329,6 +2330,7 @@
struct netdev_notifier_info ni;
nb = arg;
+ ni.ifp = ifp;
ni.dev = (struct net_device *)ifp;
nb->notifier_call(nb, NETDEV_REGISTER, &ni);
}
@@ -2340,6 +2342,7 @@
struct netdev_notifier_info ni;
nb = arg;
+ ni.ifp = ifp;
ni.dev = (struct net_device *)ifp;
nb->notifier_call(nb, NETDEV_UNREGISTER, &ni);
}
@@ -2351,6 +2354,7 @@
struct netdev_notifier_info ni;
nb = arg;
+ ni.ifp = ifp;
ni.dev = (struct net_device *)ifp;
nb->notifier_call(nb, NETDEV_CHANGEADDR, &ni);
}
@@ -2362,6 +2366,7 @@
struct netdev_notifier_info ni;
nb = arg;
+ ni.ifp = ifp;
ni.dev = (struct net_device *)ifp;
nb->notifier_call(nb, NETDEV_CHANGEIFADDR, &ni);
}

File Metadata

Mime Type
text/plain
Expires
Mon, Nov 18, 10:42 PM (4 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14705947
Default Alt Text
D30522.id91065.diff (1 KB)

Event Timeline