]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/linux/if_macvlan.h
Merge tag 'v2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / include / linux / if_macvlan.h
index 35280b302290459ff20293b2e4bcafd5aa6b9b2a..8a2fd66a8b5f8b51bd5f9475dc04580c0ccd6757 100644 (file)
@@ -40,6 +40,12 @@ struct macvlan_rx_stats {
        unsigned long           rx_errors;
 };
 
+/*
+ * Maximum times a macvtap device can be opened. This can be used to
+ * configure the number of receive queue, e.g. for multiqueue virtio.
+ */
+#define MAX_MACVTAP_QUEUES     (NR_CPUS < 16 ? NR_CPUS : 16)
+
 struct macvlan_dev {
        struct net_device       *dev;
        struct list_head        list;
@@ -50,7 +56,8 @@ struct macvlan_dev {
        enum macvlan_mode       mode;
        int (*receive)(struct sk_buff *skb);
        int (*forward)(struct net_device *dev, struct sk_buff *skb);
-       struct macvtap_queue    *tap;
+       struct macvtap_queue    *taps[MAX_MACVTAP_QUEUES];
+       int                     numvtaps;
 };
 
 static inline void macvlan_count_rx(const struct macvlan_dev *vlan,