Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_flow_attr(3)		     DPDK		      rte_flow_attr(3)

NAME
       rte_flow_attr

SYNOPSIS
       #include	<rte_flow.h>

   Data	Fields
       uint32_t	group
       uint32_t	priority
       uint32_t	ingress:1
       uint32_t	egress:1
       uint32_t	transfer:1
       uint32_t	reserved:29

Detailed Description
       Flow rule attributes.

       Priorities are set on a per rule	based within groups.

       Lower values denote higher priority, the	highest	priority for a flow
       rule is 0, so that a flow that matches for than one rule, the rule with
       the lowest priority value will always be	matched.

       Although	optional, applications are encouraged to group similar rules
       as much as possible to fully take advantage of hardware capabilities
       (e.g. optimized matching) and work around limitations (e.g. a single
       pattern type possibly allowed in	a given	group).	Applications should be
       aware that groups are not linked	by default, and	that they must be
       explicitly linked by the	application using the JUMP action.

       Priority	levels are arbitrary and up to the application,	they do	not
       need to be contiguous nor start from 0, however the maximum number
       varies between devices and may be affected by existing flow rules.

       If a packet is matched by several rules of a given group	for a given
       priority	level, the outcome is undefined. It can	take any path, may be
       duplicated or even cause	unrecoverable errors.

       Note that support for more than a single	group and priority level is
       not guaranteed.

       At vNIC / ethdev	level, flow rules can apply to inbound and / or
       outbound	traffic	(ingress / egress), with respect to the	vNIC / ethdev
       in question. At embedded	switch level, flow rules apply to all traffic
       seen by it unless fitting meta items are	used to	set concrete traffic
       source(s).

       Several pattern items and actions are valid and can be used in both
       directions. Those valid for only	one direction are described as such.

       At least	one direction must be specified.

       Specifying both directions at once for a	given rule is not recommended
       but may be valid	in a few cases.

       Definition at line 89 of	file rte_flow.h.

Field Documentation
   uint32_t group
       A group is a superset of	multiple rules.	The default group is 0 and is
       processed for all packets. Rules	in other groups	are processed only if
       the group is chained by a jump action from a previously matched rule.
       It means	the group hierarchy is made by the flow	rules, and the group 0
       is the hierarchy	root. Note there is no automatic dead loop protection.

       See also
	   rte_flow_action_jump

       Definition at line 100 of file rte_flow.h.

   uint32_t priority
       Rule priority level within group.

       Definition at line 101 of file rte_flow.h.

   uint32_t ingress
       The rule	in question applies to ingress traffic (non-'transfer').

       Definition at line 105 of file rte_flow.h.

   uint32_t egress
       The rule	in question applies to egress traffic (non-'transfer').

       Definition at line 109 of file rte_flow.h.

   uint32_t transfer
       Instead of simply matching the properties of traffic as it would	appear
       on a given DPDK port ID,	enabling this attribute	transfers a flow rule
       to the lowest possible level of any device endpoints found in the
       pattern.

       When supported, this effectively	enables	an application to re-route
       traffic not necessarily intended	for it (e.g. coming from or addressed
       to different physical ports, VFs	or applications) at the	device level.

       The application should match traffic originating	from precise
       locations. See items PORT_REPRESENTOR and REPRESENTED_PORT.

       Managing	'transfer' flows requires that the user	communicate them
       through a suitable port.

       See also
	   rte_flow_pick_transfer_proxy().

       Definition at line 127 of file rte_flow.h.

   uint32_t reserved
       Reserved, must be zero.

       Definition at line 128 of file rte_flow.h.

Author
       Generated automatically by Doxygen for DPDK from	the source code.

Version	25.11.0			Thu Jun	11 2026		      rte_flow_attr(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rte_flow_attr&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help