]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - include/linux/netdevice.h
Merge branch 'regmap-linus' into regmap-next
[karo-tx-linux.git] / include / linux / netdevice.h
index 661a07746e9468c04ab32f10828fe50efa436052..ddee79bb8f1583e8dd45a46e25e264da84967104 100644 (file)
@@ -34,7 +34,7 @@
 #include <linux/pm_qos_params.h>
 #include <linux/timer.h>
 #include <linux/delay.h>
-#include <asm/atomic.h>
+#include <linux/atomic.h>
 #include <asm/cache.h>
 #include <asm/byteorder.h>
 
@@ -1521,6 +1521,39 @@ struct packet_type {
 
 #include <linux/notifier.h>
 
+/* netdevice notifier chain. Please remember to update the rtnetlink
+ * notification exclusion list in rtnetlink_event() when adding new
+ * types.
+ */
+#define NETDEV_UP      0x0001  /* For now you can't veto a device up/down */
+#define NETDEV_DOWN    0x0002
+#define NETDEV_REBOOT  0x0003  /* Tell a protocol stack a network interface
+                                  detected a hardware crash and restarted
+                                  - we can use this eg to kick tcp sessions
+                                  once done */
+#define NETDEV_CHANGE  0x0004  /* Notify device state change */
+#define NETDEV_REGISTER 0x0005
+#define NETDEV_UNREGISTER      0x0006
+#define NETDEV_CHANGEMTU       0x0007
+#define NETDEV_CHANGEADDR      0x0008
+#define NETDEV_GOING_DOWN      0x0009
+#define NETDEV_CHANGENAME      0x000A
+#define NETDEV_FEAT_CHANGE     0x000B
+#define NETDEV_BONDING_FAILOVER 0x000C
+#define NETDEV_PRE_UP          0x000D
+#define NETDEV_PRE_TYPE_CHANGE 0x000E
+#define NETDEV_POST_TYPE_CHANGE        0x000F
+#define NETDEV_POST_INIT       0x0010
+#define NETDEV_UNREGISTER_BATCH 0x0011
+#define NETDEV_RELEASE         0x0012
+#define NETDEV_NOTIFY_PEERS    0x0013
+#define NETDEV_JOIN            0x0014
+
+extern int register_netdevice_notifier(struct notifier_block *nb);
+extern int unregister_netdevice_notifier(struct notifier_block *nb);
+extern int call_netdevice_notifiers(unsigned long val, struct net_device *dev);
+
+
 extern rwlock_t                                dev_base_lock;          /* Device list lock */
 
 
@@ -1603,12 +1636,9 @@ static inline void unregister_netdevice(struct net_device *dev)
 extern int             netdev_refcnt_read(const struct net_device *dev);
 extern void            free_netdev(struct net_device *dev);
 extern void            synchronize_net(void);
-extern int             register_netdevice_notifier(struct notifier_block *nb);
-extern int             unregister_netdevice_notifier(struct notifier_block *nb);
 extern int             init_dummy_netdev(struct net_device *dev);
 extern void            netdev_resync_ops(struct net_device *dev);
 
-extern int call_netdevice_notifiers(unsigned long val, struct net_device *dev);
 extern struct net_device       *dev_get_by_index(struct net *net, int ifindex);
 extern struct net_device       *__dev_get_by_index(struct net *net, int ifindex);
 extern struct net_device       *dev_get_by_index_rcu(struct net *net, int ifindex);