diff options
author | Hyong Youb Kim <hyonkim@cisco.com> | 2019-03-21 08:21:26 -0700 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2019-03-22 12:59:49 +0000 |
commit | a1c175a40d4bc3bf4695ba237efc96a21783232e (patch) | |
tree | ca5f7867b4e0e6b1ed8e55b2255c225844b48e0f /src/plugins/unittest/ipsec_test.c | |
parent | 5c4b9f1efd1c5d9853a3c508e2a103d0f5679173 (diff) |
dpdk: add ENIC PMD patch to untag default vlan
The ingress vlan rewrite mode affects the vlan header of ingress
packet. The enic driver currently uses the 'passthrough' mode, which
leaves the vlan header intact. As all packets in UCS network are
tagged, this default mode leads to tagged ingress packets in the
following cases where VPP expects untagged packets.
1. Trunk-mode vNIC on UCS standalone server.
A remote device sends an untagged packet to the server. This packet is
ultimately tagged with vlan 0 as it reaches the driver, and VPP sees
an ingress packet tagged with vlan 0.
2. Access-mode vNIC on UCS blade or standalone server.
A remote device sends a packet on the vNIC's default vlan (e.g. 200)
to the server. This tag is untouched, and VPP sees an ingress packet
tagged with the default vlan (e.g. 200).
In both cases, VPP expects to see untagged packets. To work around the
issue, VPP currently enables vlan stripping on VIC interfaces, which
breaks vlan sub-interface features.
To avoid the current workaround, use the "untag default vlan" rewrite
mode. With this mode, the VIC adapter removes the vlan header if it
matches the default vlan. In the cases described above, VPP would see
untagged packets. Packets tagged with non-default vlan (e.g. non-0 for
case 1 and non-200 for case 2) are received with their tags intact, so
VPP sees tagged packets as expected.
The driver currently has no programmatic way to change the rewrite
mode after rte_eal_init. So use this patch to change the mode for the
time being.
Change-Id: Iff6408275363ed52d6016e7516d745214d6b30d4
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
Diffstat (limited to 'src/plugins/unittest/ipsec_test.c')
0 files changed, 0 insertions, 0 deletions