aboutsummaryrefslogtreecommitdiff
path: root/utilities/automake.mk
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-03-16 14:39:17 -0700
committerBen Pfaff <blp@nicira.com>2011-03-16 14:39:17 -0700
commit431488e6638d3fbb53d215fa10d2ff2d8f1c2824 (patch)
tree0bf2a0c44cd5fbd2fa3718acaab4b5d8e91644ef /utilities/automake.mk
parent21dcb94fd5fbfda3b281cfcf124ab57802d77c23 (diff)
Support vlan_group workaround implemented in XenServer kernels.
Some Linux network drivers support a feature called "VLAN acceleration", associated with a data structure called a "vlan_group". A vlan_group is, abstractly, a dictionary that maps from a VLAN ID (in the range 0...4095) to a VLAN device, that is, a Linux network device associated with a particular VLAN, e.g. "eth0.9" for VLAN 9 on eth0. Some drivers that support VLAN acceleration have bugs that fall roughly into the following categories: * Some NICs strip VLAN tags on receive if no vlan_group is registered, so that the tag is completely lost. * Some drivers size their receive buffers based on whether a vlan_group is enabled, meaning that a maximum size packet with a VLAN tag will not fit if a vlan_group is not configured. * On transmit some drivers expect that VLAN acceleration will be used if it is available (which can only be done if a vlan_group is configured). In these cases, the driver may fail to parse the packet and correctly setup checksum offloading and/or TSO. The correct long term solution is to fix these driver bugs. To cope until then, we have prepared a patch to the Linux kernel network stack that works around these problems. This commit adds support for the workaround implemented by that patch. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'utilities/automake.mk')
-rw-r--r--utilities/automake.mk7
1 files changed, 7 insertions, 0 deletions
diff --git a/utilities/automake.mk b/utilities/automake.mk
index 984b47a9..b267c02f 100644
--- a/utilities/automake.mk
+++ b/utilities/automake.mk
@@ -32,7 +32,9 @@ EXTRA_DIST += \
utilities/ovs-save \
utilities/ovs-tcpundump.1.in \
utilities/ovs-tcpundump.in \
+ utilities/ovs-vlan-bugs.man \
utilities/ovs-vlan-test.in \
+ utilities/ovs-vlan-bug-workaround.8.in \
utilities/ovs-vlan-test.8.in \
utilities/ovs-vsctl.8.in
DISTCLEANFILES += \
@@ -65,6 +67,7 @@ man_MANS += \
utilities/ovs-pcap.1 \
utilities/ovs-pki.8 \
utilities/ovs-tcpundump.1 \
+ utilities/ovs-vlan-bug-workaround.8.in \
utilities/ovs-vlan-test.8 \
utilities/ovs-vsctl.8
@@ -94,6 +97,10 @@ utilities_ovs_vsctl_SOURCES = utilities/ovs-vsctl.c vswitchd/vswitch-idl.c
utilities_ovs_vsctl_LDADD = lib/libopenvswitch.a $(SSL_LIBS)
if HAVE_NETLINK
+sbin_PROGRAMS += utilities/ovs-vlan-bug-workaround
+utilities_ovs_vlan_bug_workaround_SOURCES = utilities/ovs-vlan-bug-workaround.c
+utilities_ovs_vlan_bug_workaround_LDADD = lib/libopenvswitch.a
+
noinst_PROGRAMS += utilities/nlmon
utilities_nlmon_SOURCES = utilities/nlmon.c
utilities_nlmon_LDADD = lib/libopenvswitch.a