]> err.no Git - linux-2.6/blobdiff - include/linux/netdevice.h
bonding: Allow setting max_bonds to zero
[linux-2.6] / include / linux / netdevice.h
index 2b0266484c8442f7d2571e848a5315ebe4bb11cc..9ccbfac3fd95aacee71c79a775c5abf873e4ea3c 100644 (file)
@@ -514,12 +514,10 @@ struct net_device
 #define NETIF_F_NETNS_LOCAL    8192    /* Does not change network namespaces */
 #define NETIF_F_MULTI_QUEUE    16384   /* Has multiple TX/RX queues */
 #define NETIF_F_LRO            32768   /* large receive offload */
-#define NETIF_F_VLAN_TSO       65536   /* Supports TSO for VLANs */
-#define NETIF_F_VLAN_CSUM      131072  /* Supports TX checksumming for VLANs */
 
        /* Segmentation offload features */
-#define NETIF_F_GSO_SHIFT      20
-#define NETIF_F_GSO_MASK       0xfff00000
+#define NETIF_F_GSO_SHIFT      16
+#define NETIF_F_GSO_MASK       0xffff0000
 #define NETIF_F_TSO            (SKB_GSO_TCPV4 << NETIF_F_GSO_SHIFT)
 #define NETIF_F_UFO            (SKB_GSO_UDP << NETIF_F_GSO_SHIFT)
 #define NETIF_F_GSO_ROBUST     (SKB_GSO_DODGY << NETIF_F_GSO_SHIFT)
@@ -747,6 +745,9 @@ struct net_device
        /* rtnetlink link ops */
        const struct rtnl_link_ops *rtnl_link_ops;
 
+       /* VLAN feature mask */
+       unsigned long vlan_features;
+
        /* for setting kernel sock attribute on TCP connection setup */
 #define GSO_MAX_SIZE           65536
        unsigned int            gso_max_size;
@@ -1478,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_allmulti(struct net_device *dev, int inc);
 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);
 /* Load a device via the kmod */
 extern void            dev_load(struct net *net, const char *name);
@@ -1504,6 +1506,9 @@ extern void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos);
 extern void dev_seq_stop(struct seq_file *seq, void *v);
 #endif
 
+extern int netdev_class_create_file(struct class_attribute *class_attr);
+extern void netdev_class_remove_file(struct class_attribute *class_attr);
+
 extern void linkwatch_run_queue(void);
 
 extern int netdev_compute_features(unsigned long all, unsigned long one);