表 1. 流表常用字段
对于 add−flow,add−flows 和 mod−flows 这三个命令,还需要指定要执行的动作:actions=[target][,target...]
一个流规则中可能有多个动作,按照指定的先后顺序执行。
常见的操作有:
- output:port: 输出数据包到指定的端口。port 是指端口的 OpenFlow 端口编号
- mod_vlan_vid: 修改数据包中的 VLAN tag
- strip_vlan: 移除数据包中的 VLAN tag
- mod_dl_src/ mod_dl_dest: 修改源或者目标的 MAC 地址信息
- mod_nw_src/mod_nw_dst: 修改源或者目标的 IPv4 地址信息
- resubmit:port: 替换流表的 in_port 字段,并重新进行匹配
- load:value−>dst[start..end]: 写数据到指定的字段
ip |
Same as dl_type=0x0800. |
icmp |
Same as dl_type=0x0800,nw_proto=1. |
tcp |
Same as dl_type=0x0800,nw_proto=6. |
udp |
Same as dl_type=0x0800,nw_proto=17. |
arp |
Same as dl_type=0x0806. |
rarp |
Same as dl_type=0x8035. |