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: Nicolas Dichtel <nicolas.dichtel@6wind.com> Acked-by: Florian Westphal <fw@strlen.de> Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Родитель
23f68d4629
Коммит
98eee88b8d
|
@ -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;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче