diff options
Diffstat (limited to 'include/linux/virtio_net.h')
-rw-r--r-- | include/linux/virtio_net.h | 23 |
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 | */ | ||
106 | struct 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 */ |