Commit 98eee88b authored by Nicolas Dichtel's avatar Nicolas Dichtel Committed by Pablo Neira Ayuso
Browse files

nfqueue: enable to set skb->priority



This is a follow up of the previous patch that enables to get
skb->priority. It's now posssible to set it also.

Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
Acked-by: default avatarFlorian Westphal <fw@strlen.de>
Reported-by: default avatarkernel test robot <lkp@intel.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 23f68d46
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1019,11 +1019,13 @@ static const struct nla_policy nfqa_verdict_policy[NFQA_MAX+1] = {
	[NFQA_CT]		= { .type = NLA_UNSPEC },
	[NFQA_EXP]		= { .type = NLA_UNSPEC },
	[NFQA_VLAN]		= { .type = NLA_NESTED },
	[NFQA_PRIORITY]		= { .type = NLA_U32 },
};

static const struct nla_policy nfqa_verdict_batch_policy[NFQA_MAX+1] = {
	[NFQA_VERDICT_HDR]	= { .len = sizeof(struct nfqnl_msg_verdict_hdr) },
	[NFQA_MARK]		= { .type = NLA_U32 },
	[NFQA_PRIORITY]		= { .type = NLA_U32 },
};

static struct nfqnl_instance *
@@ -1104,6 +1106,9 @@ static int nfqnl_recv_verdict_batch(struct sk_buff *skb,
		if (nfqa[NFQA_MARK])
			entry->skb->mark = ntohl(nla_get_be32(nfqa[NFQA_MARK]));

		if (nfqa[NFQA_PRIORITY])
			entry->skb->priority = ntohl(nla_get_be32(nfqa[NFQA_PRIORITY]));

		nfqnl_reinject(entry, verdict);
	}
	return 0;
@@ -1230,6 +1235,9 @@ static int nfqnl_recv_verdict(struct sk_buff *skb, const struct nfnl_info *info,
	if (nfqa[NFQA_MARK])
		entry->skb->mark = ntohl(nla_get_be32(nfqa[NFQA_MARK]));

	if (nfqa[NFQA_PRIORITY])
		entry->skb->priority = ntohl(nla_get_be32(nfqa[NFQA_PRIORITY]));

	nfqnl_reinject(entry, verdict);
	return 0;
}