|
@@ -234,7 +234,7 @@ void nft_meta_set_eval(const struct nft_expr *expr,
|
|
|
struct sk_buff *skb = pkt->skb;
|
|
|
u32 *sreg = ®s->data[meta->sreg];
|
|
|
u32 value = *sreg;
|
|
|
- u8 pkt_type;
|
|
|
+ u8 value8;
|
|
|
|
|
|
switch (meta->key) {
|
|
|
case NFT_META_MARK:
|
|
@@ -244,15 +244,17 @@ void nft_meta_set_eval(const struct nft_expr *expr,
|
|
|
skb->priority = value;
|
|
|
break;
|
|
|
case NFT_META_PKTTYPE:
|
|
|
- pkt_type = nft_reg_load8(sreg);
|
|
|
+ value8 = nft_reg_load8(sreg);
|
|
|
|
|
|
- if (skb->pkt_type != pkt_type &&
|
|
|
- skb_pkt_type_ok(pkt_type) &&
|
|
|
+ if (skb->pkt_type != value8 &&
|
|
|
+ skb_pkt_type_ok(value8) &&
|
|
|
skb_pkt_type_ok(skb->pkt_type))
|
|
|
- skb->pkt_type = pkt_type;
|
|
|
+ skb->pkt_type = value8;
|
|
|
break;
|
|
|
case NFT_META_NFTRACE:
|
|
|
- skb->nf_trace = !!value;
|
|
|
+ value8 = nft_reg_load8(sreg);
|
|
|
+
|
|
|
+ skb->nf_trace = !!value8;
|
|
|
break;
|
|
|
default:
|
|
|
WARN_ON(1);
|