X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fflow.c;h=f470f3d6d39679fda5e4b176dbfba67816ee0380;hb=58463ed0384dee6cbfe8c1dd8f0b8fda2d48ce0f;hp=b2de023408a5496e979dfe89e86feb696e697d33;hpb=6dfd030442a111b749f96a4f7c9ba486fb910ec7;p=sliver-openvswitch.git diff --git a/datapath/flow.c b/datapath/flow.c index b2de02340..f470f3d6d 100644 --- a/datapath/flow.c +++ b/datapath/flow.c @@ -231,6 +231,7 @@ int flow_extract(struct sk_buff *skb, u16 in_port, struct odp_flow_key *key) struct vlan_hdr *vh = (struct vlan_hdr*)(skb->data + nh_ofs); key->dl_type = vh->h_vlan_encapsulated_proto; key->dl_vlan = vh->h_vlan_TCI & htons(VLAN_VID_MASK); + key->dl_vlan_pcp = (ntohs(vh->h_vlan_TCI) & 0xe000) >> 13; nh_ofs += sizeof(struct vlan_hdr); } memcpy(key->dl_src, eth->h_source, ETH_ALEN);