On Fri, Jul 17, 2015 at 10:40:30PM +0000, Sharo, Randall A CIV SPAWARSYSCEN-ATLANTIC, 55200 wrote: > Hi all, > > > > I noticed something unexpected about the resubmit-table action in openvswitch. > > > > Installing flows as follows will forward packets to port 2. The value 100 is > substituted for in_port and matching occurs as expected: > > > > ovs-ofctl add-flows s1 - << EOF > > table=0,actions=resubmit(100,1) > > table=1,in_port=100,actions=2 > > EOF > > > > But, if I try to send the packet to the controller from table 1, the > packet-in messages reports the original in_port (in my case, 1): > > > > ovs-ofctl add-flows s1 - << EOF > > table=0,actions=resubmit(100,1) > > table=1,in_port=100,actions=controller > > EOF > > > > I tried working around this by stuffing the port into metadata, but was > surprised to see that it too returned the original in_port -- not the > substituted one. Note that I'm using apply-actions -- this is not a side > effect of action sets. > > > > ovs-ofctl add-flows s1 - << EOF > > table=0,actions=resubmit(100,1) > > > table=1,in_port=100,actions=move:OXM_OF_IN_PORT[]->OXM_OF_METADATA[0..31],controller > > EOF > > > > So... is there any way I can get the port number from the resubmit > action up to the controller? Is there perhaps an alternate register > that holds the substitute port number? I don't mind using > non-portable/experimental messages, but I want to avoid patching the > ovs source until I know it is necessary.
The "resubmit" action only uses the resubmitted port number for searching the flow table, it doesn't actually change the input port. If you really want to do that, you can use the "load" or "set_field" action to change the input port and *then* resubmit. _______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
