FLOW
| 属性 | struct rte_flow_attr | 流规则属性和优先级 |
| 模式项 | struct rte_flow_item | |
| 匹配模式 | 匹配项的组合 | |
| 动作 | struct rte_flow_action | 匹配后执行的动作 |
属性
|群组|组号:默认0| |优先级| |流量方向| |转发|
模式项
模式项由两种:
- 匹配协议头和报文数据
- 匹配元数据或匹配项掩码
| 结构名 | 描述 |
|---|---|
| spec | 匹配值 |
| last | 匹配范围结束值 |
| mask | 匹配掩码,和spec和last配合 |
例如:
spec值10.1.2.3, last值10.3.4.5,mask值255.255.0.0,
实际范围是: 10.1.0.0 ~10.3.255.255.
匹配模式
匹配模式按报文封装得协议类型组成。其中可插入元数据。
模式以END项结尾。
例如:TCPv4 as L4
| Index | Item |
|---|---|
| 0 | Ethernet |
| 1 | IPv4 |
| 2 | TCP |
| 3 | END |
例如:带元数据项目得4层TCPv4报文
| Index | Item |
|---|---|
| 0 | VOID |
| 1 | Ethernet |
| 2 | VOID |
| 3 | IPv4 |
| 4 | TCP |
| 5 | VOID |
| 6 | VOID |
| 7 | END |
例如:TCPv6 in VXLAN
| Index | Item |
|---|---|
| 0 | Ethernet |
| 1 | IPv4 |
| 2 | UDP |
| 3 | VXLAN |
| 4 | Ethernet |
| 5 | IPv6 |
| 6 | TCP |
| 7 | END |
例如:UDPv6任意位匹配
| Index | Item |
|---|---|
| 0 | IPv6 |
| 1 | UDP |
| 2 | END |
例如:无效匹配项,缺少3层报头
| Index | Item |
|---|---|
| 0 | Ethernet |
| 1 | UDP |
| 2 | END |
元数据项类型
END
匹配列表结束标识
默认为数值0spec last mask值均为ignore
VOID
占位符,默认直接丢弃spec last mask值均为ignore
INVERT
反向匹配spec last mask值均为ignore
PF
VF
PHY_PORT
PORT_ID
MARK
TAG
META
数据匹配项类型
ANY
RAW
ETH
VLAN
IPV4
IPV6
ICMP
UDP
TCP
SCTP
VXVLAN
E_TAG
NVGRE
MPLS
GRE
GRE_KEY
GRE_OPTION
FUZZY
GTP, GTPC, GTPU
ESP
GENEVE
GENEVE
ARP_ETH_IPV4
IPV6_EXT
IPV6_FRAG_EXT
ICMP6
ICMP6_ND_NS
ICMP6_ND_NA
ICMP6_ND_OPT
ICMP6_ND_OPT_SLA_ETH
ICMP6_ND_OPT_TLA_ETH
META
GTP_PSC
PPPOES/PPPOED
PPPOE_PROTO_ID
NSH
IGMP
AH
HIGIG2
L2TPV3OIP
ECPRI
PACKET_INTEGRITY_CHECKS
CONNTRACK
PORT_REPRESENTOR
REPRESENTED_PORT
FLEX
L2TPV2
匹配 L2TPv2头flags_version: flags(12b),version(4b)length: 报文总长tunnel_id: identifier for the control connection.session_id: identifier for a session within a tunnel.ns: sequence number for this date or control message.nr: sequence number expected in the next control message to be received.offset_size: offset of payload data.offset_padding: offset padding, variable length.
默认只匹配flags_version
PPP
匹配PPP头addr:PPP头ctrl:PPP协议proto_id:PPP协议标识
默认全匹配
动作
| 名称 | --- |
|---|---|
| END | 结束动作链 |
| VOID | 无动作 |
| PASSTHRU | 交给后续规则处理 |
| JUMP | |
| FLAG | |
| QUEUE | |
| DROP | |
| COUNT | |
| RSS | |
| PF | |
| VF | |
| PHY_PORT | |
| METER | |
| SECURITY | |
| OF_POP_VLAN |