Hi,
It seems that I encountered a strange problem about vlan_vid, I am using
OF1.3 parser
The topology is this
Switch-1 ---- Switch-2
I use the following code to set up a flow to match dl_vlan=1 on switch 2
======
match = parser.OFPMatch(vlan_vid=1)
actions = [parser.OFPActionSetField(vlan_vid = 0x0002),
parser.OFPActionOutput(2)]
inst =
[parser.OFPInstructionActions(ofproto_v1_3.OFPIT_APPLY_ACTIONS, actions)]
req = parser.OFPFlowMod(datapath = switch.dp, match = match,
instructions = inst)
switch.dp.send_msg(req)
======
The incoming packets have vlan=1, the code on switch-1 I use to push vlan
is :
=====
match = parser.OFPMatch( eth_dst=dst_mac, eth_src=src_mac,
eth_type=0x0800, ipv4_src=src_ip, ipv4_dst=dst_ip)
actions = [parser.OFPActionPushVlan(0x8100),
parser.OFPActionSetField(vlan_vid = 0x0001),
parser.OFPActionSetField(eth_dst = mac),
parser.OFPActionOutput(output_port)]
inst =
[parser.OFPInstructionActions(ofproto_v1_3.OFPIT_APPLY_ACTIONS, actions)]
req = parser.OFPFlowMod(datapath = switch.dp, match = match,
instructions = inst)
switch.dp.send_msg(req)
=====
I think the set vlan code is correct, because when I use ovs-ofctl to
mannually set another rule to match for dl_vlan=1 and packet will go
through but when I use Ryu API, it cannot.
My only guess for now(by observing the resulting rules) is that
vlan_tci(set by Ryu API) is somewhat different from dl_vlan(manually set)?
But other than that, I have really no clue...
Thanks
-Mo
------------------------------------------------------------------------------
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel