[ovs-discuss] different flow actions overlap

Ben Pfaff blp at ovn.org
Mon Jul 6 19:37:48 UTC 2020


I don't recommend multiple ovs-vswitchd processes.

It sounds like you want the action's effects to be specific to a bridge.
So, implement it so that it's specific to a bridge.  Lots of actions
have bridge-specific state.  The MAC-learning table is bridge-specific,
for example.

On Mon, Jul 06, 2020 at 07:03:50PM +0000, Luca Mancini wrote:
> 
> " different bridges implemented by a single ovs-vswitchd process, then whether they are distinct would depend on how you implemented the action.”
> Yes, this is it.
> So basically my action is “shared” by all the flows that call it since there is only one ovs-vswitchd process, wasn’t expecting this behavior to be honest. Is having multiple ovs-vswitchd processes a valid solution instead of hard coding my way though this?
> 
> 
> From: Ben Pfaff<mailto:blp at ovn.org>
> Sent: Monday, July 6, 2020 20:44
> To: Luca Mancini<mailto:luca.mancini at outlook.com>
> Cc: ovs-discuss at openvswitch.org<mailto:ovs-discuss at openvswitch.org>
> Subject: Re: [ovs-discuss] different flow actions overlap
> 
> What do you mean by "two different switches"?  If you are talking about
> two different ovs-vswitchd processes, then yes of course they would be
> independent.  If you are talking about different bridges implemented by
> a single ovs-vswitchd process, then whether they are distinct would
> depend on how you implemented the action.
> 
> On Mon, Jul 06, 2020 at 05:53:22PM +0000, Luca Mancini wrote:
> > Hi Ben,
> > I feel like I'm missing something, my action simply stores 5 packets, but shouldn't two "buffering" flows installed on two different switches be 2 separate instances of that action, i.e. both store 5 different packets? What happens is 2 switches that use that buffering action (in two separate flows) add the packets to the same buffer.
> >
> > From: Ben Pfaff<mailto:blp at ovn.org>
> > Sent: Monday, July 6, 2020 18:33
> > To: Luca Mancini<mailto:luca.mancini at outlook.com>
> > Cc: ovs-discuss at openvswitch.org<mailto:ovs-discuss at openvswitch.org>
> > Subject: Re: [ovs-discuss] different flow actions overlap
> >
> > On Mon, Jul 06, 2020 at 11:08:16AM +0000, Luca Mancini wrote:
> > > Hello,
> > >
> > > I have two different flows on the same switch:
> > >
> > > ovs-ofctl add-flow s1 in_port=1,dl_type=2048,nw_proto=17,nw_dst=10.0.0.4,action=buffer:3
> > > ovs-ofctl add-flow s1 in_port=1,dl_type=2048,nw_proto=17,nw_dst=10.0.0.2,action=buffer:2
> > >
> > > these flows are supposed to buffer packets meant for the destination specified by nw_dst, and send the whole buffer as a new packet through the port specified (3 or 2) . My problem is that the packets that hit the different flows end up in the same buffer, shouldn’t hitting a different flow create a new instance of that action?
> > >
> > > If it helps diagnose the issue, the buffer action is implemented in ofproto-dpif-xlate.c, so only works in userspace.
> >
> > This seems like an odd question.  "buffer" is an action that you
> > invented and implemented, I think, so it can only do what you made it
> > do.  If it's not doing what you want, then maybe your code has a bug?
> >
> > I don't know what an "instance" of an action is.
> >
> 


More information about the discuss mailing list