]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
T4 packet filtering/steering.
authorNavdeep Parhar <np@FreeBSD.org>
Thu, 5 May 2011 02:04:56 +0000 (02:04 +0000)
committerNavdeep Parhar <np@FreeBSD.org>
Thu, 5 May 2011 02:04:56 +0000 (02:04 +0000)
commit8820ce5fe7601562afdf4685e2baf2a415a4ab87
treead34ed560f984735fe0cf4a62a9cf42b43b62b08
parent3cea29603d31f10775f8663c21a857bf34f55211
T4 packet filtering/steering.

- Enable 5-tuple and every-packet lookup.

- Setup the default filter mode to allow filtering/steering based on IP
  protocol, ingress port, inner VLAN ID, IP frag, FCoE, and MPS match
  type; all combined together.  You can also filter based on MAC index,
  Ethernet type, IP TOS/IPv6 Traffic Class, and outer VLAN ID but you'll
  have to modify the default filter mode and exclude some of the
  match-fields in it.

  IPv4 and IPv6 SIP/DIP/SPORT/DPORT are always available in all filter
  rules.

- Add driver ioctls to get/set the global filter mode.

- Add driver ioctls to program and delete hardware filters.  A couple of
  the "switch" actions that rewrite Ethernet and VLAN information and
  switch the packet out of another port may not work as the L2 code is not
  yet in place.  Everything else, including all "drop" and "pass" rules
  with RSS or absolute qid, should work.

Obtained from:  Chelsio Communications
sys/dev/cxgbe/offload.h
sys/dev/cxgbe/t4_ioctl.h
sys/dev/cxgbe/t4_main.c
sys/dev/cxgbe/t4_sge.c