aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/virtio_net.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/virtio_net.h')
-rw-r--r--include/linux/virtio_net.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/include/linux/virtio_net.h b/include/linux/virtio_net.h
index 63b2461a40f1..ba82b653cace 100644
--- a/include/linux/virtio_net.h
+++ b/include/linux/virtio_net.h
@@ -88,4 +88,27 @@ typedef __u8 virtio_net_ctrl_ack;
88 #define VIRTIO_NET_CTRL_RX_PROMISC 0 88 #define VIRTIO_NET_CTRL_RX_PROMISC 0
89 #define VIRTIO_NET_CTRL_RX_ALLMULTI 1 89 #define VIRTIO_NET_CTRL_RX_ALLMULTI 1
90 90
91/*
92 * Control the MAC filter table.
93 *
94 * The MAC filter table is managed by the hypervisor, the guest should
95 * assume the size is infinite. Filtering should be considered
96 * non-perfect, ie. based on hypervisor resources, the guest may
97 * received packets from sources not specified in the filter list.
98 *
99 * In addition to the class/cmd header, the TABLE_SET command requires
100 * two out scatterlists. Each contains a 4 byte count of entries followed
101 * by a concatenated byte stream of the ETH_ALEN MAC addresses. The
102 * first sg list contains unicast addresses, the second is for multicast.
103 * This functionality is present if the VIRTIO_NET_F_CTRL_RX feature
104 * is available.
105 */
106struct virtio_net_ctrl_mac {
107 __u32 entries;
108 __u8 macs[][ETH_ALEN];
109} __attribute__((packed));
110
111#define VIRTIO_NET_CTRL_MAC 1
112 #define VIRTIO_NET_CTRL_MAC_TABLE_SET 0
113
91#endif /* _LINUX_VIRTIO_NET_H */ 114#endif /* _LINUX_VIRTIO_NET_H */