[dpdk-dev] [PATCH v4 0/7] Support new flow director modes on Intel x550 NIC

Wenzhuo Lu wenzhuo.lu at intel.com
Fri Oct 23 04:18:03 CEST 2015


This patch set adds 2 new flow director modes on Intel x550 NIC.
The 2 new fdir modes are mac vlan mode and tunnel mode.
The mac vlan mode can direct the flow based on the MAC address and VLAN
TCI.
The tunnel mode provides the support for VxLAN and NVGRE. x550 can recognize
VxLAN and NVGRE packets, and direct the packets based on the MAC address,
VLAN TCI, TNI/VNI.
Surely, the MAC address, VLAN TCI, TNI/VNI can be masked, so, the flow
can be directed based on the left conditions. For example, if we want to
direct the flow based on the MAC address, we can use mac vlan mode with
VLAN TCI masked.
Now, only x550 supports these 2 modes. We should not use the new mode on
other NICs. If so, the ports will not be initialized successfully.

V2:
Change the word 'cloud' to 'tunnel'.
Change 'tni_vni' to 'tunnel_id'.

V3:
Change the name mac_addr_mask to mac_addr_byte_mask, for some NICs may like
to support per bit mask in future.
Set default VxLAN port only when the NIC support VxLAN.
Make the condition more strict when check the fdir mode for avoiding the code
being broken with future expansion.
Make mac mask more flexible.
Add a new function for MAC VLAN and tunnel mask.

V4:
Have replaced the enum rte_fdir_mode to resolve a compile issue. But after all
this code change, there's no such issue. Move the enum back to its original
place.

Wenzhuo Lu (7):
  lib/librte_ether: modify the structures for fdir new modes
  app/testpmd: initialize the new fields for fdir mask
  app/testpmd: new fdir modes for testpmd parameter
  app/testpmd: modify the output of the CLI show port fdir
  app/testpmd: modify and add fdir filter and mask CLIs for new modes
  ixgbe: implementation for fdir new modes' config
  doc: release notes update for flow director enhancement

 app/test-pmd/cmdline.c               | 293 +++++++++++++++++++++++++++++++++--
 app/test-pmd/config.c                |  45 ++++--
 app/test-pmd/parameters.c            |   7 +-
 app/test-pmd/testpmd.c               |   3 +
 doc/guides/rel_notes/release_2_2.rst |   3 +
 drivers/net/ixgbe/ixgbe_ethdev.h     |   3 +
 drivers/net/ixgbe/ixgbe_fdir.c       | 261 +++++++++++++++++++++++++++----
 lib/librte_ether/rte_eth_ctrl.h      |  51 ++++--
 8 files changed, 597 insertions(+), 69 deletions(-)

-- 
1.9.3



More information about the dev mailing list