X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Fflow.c;h=449e645a1afe7ff5672799d5a102311b59e7da8c;hb=3025a772a1ab6cc364a87b481b6e66b703d7bd46;hp=34e4443c9e9c8890464eceeea936b1d9f6e28e08;hpb=7615c41bfbe9594cb8b373f36b2235308c0354b3;p=sliver-openvswitch.git diff --git a/datapath/flow.c b/datapath/flow.c index 34e4443c9..449e645a1 100644 --- a/datapath/flow.c +++ b/datapath/flow.c @@ -853,7 +853,7 @@ int ovs_flow_extract(struct sk_buff *skb, u16 in_port, struct sw_flow_key *key) if (OVS_CB(skb)->tun_key) memcpy(&key->tun_key, OVS_CB(skb)->tun_key, sizeof(key->tun_key)); key->phy.in_port = in_port; - key->phy.skb_mark = skb_get_mark(skb); + key->phy.skb_mark = skb->mark; skb_reset_mac_header(skb); @@ -1377,12 +1377,7 @@ static int metadata_from_nlattrs(struct sw_flow_match *match, u64 *attrs, if (*attrs & (1ULL << OVS_KEY_ATTR_SKB_MARK)) { uint32_t mark = nla_get_u32(a[OVS_KEY_ATTR_SKB_MARK]); -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) && !defined(CONFIG_NETFILTER) - if (!is_mask && mark != 0) { - OVS_NLERR("skb->mark must be zero on this kernel (mark=%d).\n", mark); - return -EINVAL; - } -#endif + SW_FLOW_KEY_PUT(match, phy.skb_mark, mark, is_mask); *attrs &= ~(1ULL << OVS_KEY_ATTR_SKB_MARK); }