On Sun, Jul 03, 2016 at 08:47:06AM +0800, Xiao Liang wrote: > diff --git a/lib/ofp-actions.c b/lib/ofp-actions.c > index 997cc15..d8eac93 100644 > --- a/lib/ofp-actions.c > +++ b/lib/ofp-actions.c > @@ -1653,21 +1654,19 @@ parse_PUSH_VLAN(char *arg, struct ofpbuf *ofpacts, > return error; > } > > - if (ethertype != ETH_TYPE_VLAN_8021Q) { > - /* XXX ETH_TYPE_VLAN_8021AD case isn't supported */ > + if (!eth_type_vlan(htons(ethertype))) { > return xasprintf("%s: not a valid VLAN ethertype", arg); > } > - > - ofpact_put_PUSH_VLAN(ofpacts); > + push_vlan = ofpact_put_PUSH_VLAN(ofpacts); > + push_vlan->ethertype = htons(ethertype); > return NULL; > } > > static void > -format_PUSH_VLAN(const struct ofpact_null *a OVS_UNUSED, struct ds *s) > +format_PUSH_VLAN(const struct ofpact_push_vlan *push_vlan, struct ds *s) > { > - /* XXX 802.1AD case*/ > ds_put_format(s, "%spush_vlan:%s%#"PRIx16, > - colors.param, colors.end, ETH_TYPE_VLAN_8021Q); > + colors.param, colors.end, htons(push_vlan->ethertype));
This should be ntohs(push_vlan->ethertype). push_vlan->ethertype is a ovs_be16. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev