流表可以有多个执行动作,是从左向右以此执行,常用动作如下:
enqueue:port:queue 将数据包放到openflow port端口的queue号队列中
mod_vlan_vid: vlan_id 修改数据包中的 VLAN tag为vlan_id,如果数据包中无tag,则添加。如果数据包中已经是vlan_id,同时调整期vlan优先级为0
drop 将数据包丢弃
resubmit:port: 替换流表的 in_port 字段,并重新进行匹配
learn(argument[,argument]…) 含义未探究清楚、待定
normal 按照常规L2/L3处理流程处理数据包
controller(key=value) 将数据包以“packet in”消息形式发给openflow控制器
max_len=nbytes 将数据包的nbytes字节数据发给控制器
reason=reason 指明“packet in” reason; action(默认reason)、no_match、invalid_ttl
id=controller-id 指明要发送给的控制器id
mod_nw_tos:tos 修改ip头的服务类型tos中的高六位(修改数值4的倍数[0,255]之间)
原文:https://www.cnblogs.com/zqyanywn/p/10502400.html