|
@@ -51,6 +51,7 @@
|
|
|
#include <linux/netdev_features.h>
|
|
|
#include <linux/neighbour.h>
|
|
|
#include <uapi/linux/netdevice.h>
|
|
|
+#include <uapi/linux/if_bonding.h>
|
|
|
|
|
|
struct netpoll_info;
|
|
|
struct device;
|
|
@@ -2056,6 +2057,7 @@ struct pcpu_sw_netstats {
|
|
|
#define NETDEV_RESEND_IGMP 0x0016
|
|
|
#define NETDEV_PRECHANGEMTU 0x0017 /* notify before mtu change happened */
|
|
|
#define NETDEV_CHANGEINFODATA 0x0018
|
|
|
+#define NETDEV_BONDING_INFO 0x0019
|
|
|
|
|
|
int register_netdevice_notifier(struct notifier_block *nb);
|
|
|
int unregister_netdevice_notifier(struct notifier_block *nb);
|
|
@@ -3494,6 +3496,19 @@ struct sk_buff *__skb_gso_segment(struct sk_buff *skb,
|
|
|
struct sk_buff *skb_mac_gso_segment(struct sk_buff *skb,
|
|
|
netdev_features_t features);
|
|
|
|
|
|
+struct netdev_bonding_info {
|
|
|
+ ifslave slave;
|
|
|
+ ifbond master;
|
|
|
+};
|
|
|
+
|
|
|
+struct netdev_notifier_bonding_info {
|
|
|
+ struct netdev_notifier_info info; /* must be first */
|
|
|
+ struct netdev_bonding_info bonding_info;
|
|
|
+};
|
|
|
+
|
|
|
+void netdev_bonding_info_change(struct net_device *dev,
|
|
|
+ struct netdev_bonding_info *bonding_info);
|
|
|
+
|
|
|
static inline
|
|
|
struct sk_buff *skb_gso_segment(struct sk_buff *skb, netdev_features_t features)
|
|
|
{
|