On Mon, Nov 14, 2011 at 4:32 PM, Ben Pfaff <b...@nicira.com> wrote:
> In the future it is likely that our vlan support will expand to
> include multiply tagged packets.  When this happens, we would
> ideally like for it to be consistent with our current tagging.
>
> Currently, if we receive a packet with a partial VLAN tag we will
> automatically drop it in the kernel, which is unique among the
> protocols we support.  The only other reason to drop a packet is
> a memory allocation error.  For a doubly tagged packet, we will
> parse the first tag and indicate that another tag was present but
> do not drop if the second tag is incorrect as we do not parse it.
>
> This changes the behavior of the vlan parser to match other protocols
> and also deeper tags by indicating the presence of a broken tag with
> the 802.1Q EtherType but no vlan information.  This shifts the policy
> decision to userspace on whether to drop broken tags and allows us to
> uniformly add new levels of tag parsing.
>
> Although additional levels of control are provided to userspace, this
> maintains the current behavior of dropping packets with a broken
> tag when using the NORMAL action because that is the correct behavior
> for an 802.1Q-aware switch.  The userspace flow parser actually
> already had the new behavior so this corrects an inconsistency.
>
> [Original patch and commit message by Jesse Gross.]

If you think this is now ready, can you add a signed-off-by?

> diff --git a/lib/odp-util.c b/lib/odp-util.c
> index b974dcc..2edba2d 100644
> --- a/lib/odp-util.c
> +++ b/lib/odp-util.c
> @@ -622,7 +632,8 @@ parse_odp_key_attr(const char *s, struct ofpbuf *key)
>              && n > 0)) {
>             nl_msg_put_be16(key, OVS_KEY_ATTR_VLAN,
>                             htons((vid << VLAN_VID_SHIFT) |
> -                                  (pcp << VLAN_PCP_SHIFT)));
> +                                  (pcp << VLAN_PCP_SHIFT) |
> +                                  VLAN_CFI));

I realized that we don't parse "cfi" for broken vlan tags here.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to