On Sun, Jun 29, 2014 at 9:20 PM, Simon Horman <ho...@verge.net.au> wrote: > This patch loosens the restrictions surrounding push and pop MPLS actions > such that they will be allowed after a pop VLAN action if the inner > ethernet type is acceptable for pop and push MPLS actions. This implies > that there is only one VLAN tag present. > > Some analysis of logic of this change is as follows: > > The purpose of tracking vlan_tci is to allow prohibition of push > and pop MPLS actions in the presence of a VLAN. In this scenario > the VLAN_TAG_PRESENT bit of vlan_tci is set and eth_type is that of > the packet with the outermost VLAN tag removed. > > A pop VLAN action may clear vlan_tci as it removes the outermost > VLAN tag and the push and pop MPLS logic may rely on eth_type for > their prohibition logic. > > This will not allow push and pop MPLS on packets with multiple VLAN > tags, regardless of if they are all remove using POP VLAN, as there > is no mechanism to expose the inner ethernet type beyond that of > the outermost VLAN tag. > > Suggested-by: Jesse Gross <jgr...@nicira.com> > Signed-off-by: Simon Horman <ho...@verge.net.au>
Applied, that was nice and simple. I also removed the outdated comment above PUSH_MPLS saying that vlan_tci reflects the presence of any vlan tag regardless of whether it has been removed. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev