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

Reply via email to