正确的流表收不到包

Table of Contents

1. 流表配置如下

ovs-ofctl -O OpenFlow13 add-flow br0 table=0,in_port=50,actions=mod_vlan_vid:10,mod_dl_src:6c:59:79:33:44:55,mod_dl_dst:f8:bc:12:4d:e9:d8,goto_table:8
ovs-ofctl -O OpenFlow13 add-flow br0 table=8,actions=output:49

从50口发包,49口抓包无数据。

执行

admin@PICOS-OVS:~$ ovs-ofctl dump-ports br0 49                                                                                                          
OFPST_PORT reply (OF1.4) (xid=0x2): 1 ports
  port 49: rx pkts=1008, bytes=67912, drop=1008, errs=0, frame=0, over=0, crc=0
	   tx pkts=1199, bytes=122946, drop=67348, errs=0, coll=0
	   duration=74363.674s

发现数据包 drop,查看端口状态。

admin@PICOS-OVS:~$ ovs-vsctl list port te-1/1/49
_uuid               : 3bb02a50-e4a1-4c9c-987d-59f11c181b64
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : []
bond_updelay        : 0
external_ids        : {}
fake_bridge         : false
interfaces          : [5dfff0ee-0fdd-4ed0-a713-ae68c39d2b1d]
lacp                : []
mac                 : []
name                : "te-1/1/49"
other_config        : {}
qos                 : []
statistics          : {}
status              : {}
tag                 : {}
trunks              : []
vlan_mode           : {}


因为流表将出口数据包打tag 10.

如果设置出口为access 口则可以

ovs-vsctl set port te-1/1/49 vlan_mode=access 
ovs-vsctl set port te-1/1/49 tag=10

如果设置出口为trunk 口则可以

ovs-vsctl set port te-1/1/49 vlan_mode=access 
ovs-vsctl set port te-1/1/49 trunks=10  

blogroll

social