diff options
| author | Ben Pfaff <blp@nicira.com> | 2011-03-16 14:39:17 -0700 |
|---|---|---|
| committer | Ben Pfaff <blp@nicira.com> | 2011-03-16 14:39:17 -0700 |
| commit | 431488e6638d3fbb53d215fa10d2ff2d8f1c2824 (patch) | |
| tree | 0bf2a0c44cd5fbd2fa3718acaab4b5d8e91644ef /INSTALL.Linux | |
| parent | 21dcb94fd5fbfda3b281cfcf124ab57802d77c23 (diff) | |
| download | openvswitch-431488e6638d3fbb53d215fa10d2ff2d8f1c2824.tar.gz | |
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 'INSTALL.Linux')
| -rw-r--r-- | INSTALL.Linux | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/INSTALL.Linux b/INSTALL.Linux index c46ab5554..0d56da65d 100644 --- a/INSTALL.Linux +++ b/INSTALL.Linux @@ -234,9 +234,10 @@ Prerequisites section, follow the procedure below to build. whether this is the case. If you know that your particular driver can handle it (for example by testing sending large TCP packets over VLANs) then passing in a value of 1 may improve performance. Modules built for - Linux kernels 2.6.37 and later do not need this and do not have this - parameter. If you do not understand what this means or do not know if - your driver will work, do not set this. + Linux kernels 2.6.37 and later, as well as specially patched versions + of earlier kernels, do not need this and do not have this parameter. If + you do not understand what this means or do not know if your driver + will work, do not set this. 7. Initialize the configuration database using ovsdb-tool, e.g.: |
