>
> Hi Jan,
>
> On Thu, Aug 11, 2016 at 12:58:44PM +0000, Jan Scheurich wrote:
> > Hi Simon
> >
> > > > The implicit push_eth action introduced by Simon in his L3 tunnel
> > > > port patch mainly ensures the presence of the 14 byte MAC header
> > > > on ports where this is a must for syntactic interpretation of the
> > > > packet. It did not worry about if the resulting packet was semantically
> useful or not.
> > >
> > > In the context of my patchset it is possible to set the MAC
> > > addresses (to something non-zero) using a set-field (or similar) action.
> > > Is that
> facility of use here?
> >
> > I don't understand how this can work. The implicit push_eth action is
> > inserted
> just before sending an L3 packet to an L2 port by means of an output action.
> How can the OF controller modify the newly inserted SMAC and DMAC fields
> with set_field actions after the output action?
>
> I can double check and possibly its conceptually a bit broken but at least in
> the
> context of the l3 VPN patchset I believe you can set the ethernet fields
> (e.g. just
> before output) even though the packet has no ethernet header at that point.
>
[Li, Johnson] Yes, I double confirm that we can use the mod_dl_[src|dst] or
Set_dl_[src|dst] flow actions to set the MAC addresses before outputting to
The normal L2 port. That's because the modify/set [src|dst] action will just
Compose the flows and the implicit push_eth action is committed just before
The compose of output action, and the push_eth action uses the addresses in
The struct flow which are set before, so the dataplane flow will push an
Ethernet header with non-zero addresses.
> Given the way translation works in ovs-vswtichd this makes some sense.
> From an OpenFlow point of view perhaps less so.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev