> > [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 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev