[ovs-dev] NSH Option 2 implementation

Jan Scheurich jan.scheurich at ericsson.com
Thu Aug 11 11:04:22 UTC 2016


> > [Jan] Should sending a packet after push_nsh to an output port be
> > allowed in general? For a VXLAN-GPE tunnel port this is OK, but my
> > expectation was that one must explicitly do push_eth (followed by
> > set_field for dl_src and dl_dst) to be able to transmit on a normal Ethernet port.
> >
> Yes, to output to VxLAN-GPE port, we could just use "output:1" as shown in The example flow, while adding some additional flow actions
> are required to Output to normal L2 port. We could explicitly add flow action "push_eth" or We could use implicit "push_eth" dataplane
> action to add an Ethernet header To the packet before outputting to the normal L2 port.

I believe that using implicit push_eth is not a viable option for sending to an Ethernet port. The reason is that the resulting MAC header would have all-zero source and destination MAC addresses and can therefore not properly be transmitted on Ethernet links (unless the link is a point-to-point connection and the receiver is configured for promiscuous mode).

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.

BR, Jan


More information about the dev mailing list