diff options
author | Pablo Neira Ayuso | 2017-12-10 01:43:14 +0100 |
---|---|---|
committer | Pablo Neira Ayuso | 2018-01-08 18:01:15 +0100 |
commit | 7a4473a31a6974c0fbf9afe80ef16ac5bc67cf79 (patch) | |
tree | c307be59c4027bcb5c85e4b9891df0205c899de5 /net/ipv6/netfilter/nft_chain_route_ipv6.c | |
parent | netfilter: nf_tables_arp: don't set forward chain (diff) | |
download | kernel-qcow2-linux-7a4473a31a6974c0fbf9afe80ef16ac5bc67cf79.tar.gz kernel-qcow2-linux-7a4473a31a6974c0fbf9afe80ef16ac5bc67cf79.tar.xz kernel-qcow2-linux-7a4473a31a6974c0fbf9afe80ef16ac5bc67cf79.zip |
netfilter: nf_tables: explicit nft_set_pktinfo() call from hook path
Instead of calling this function from the family specific variant, this
reduces the code size in the fast path for the netdev, bridge and inet
families. After this change, we must call nft_set_pktinfo() upfront from
the chain hook indirection.
Before:
text data bss dec hex filename
2145 208 0 2353 931 net/netfilter/nf_tables_netdev.o
After:
text data bss dec hex filename
2125 208 0 2333 91d net/netfilter/nf_tables_netdev.o
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/ipv6/netfilter/nft_chain_route_ipv6.c')
-rw-r--r-- | net/ipv6/netfilter/nft_chain_route_ipv6.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/netfilter/nft_chain_route_ipv6.c b/net/ipv6/netfilter/nft_chain_route_ipv6.c index f2727475895e..11d3c3b9aa18 100644 --- a/net/ipv6/netfilter/nft_chain_route_ipv6.c +++ b/net/ipv6/netfilter/nft_chain_route_ipv6.c @@ -33,7 +33,8 @@ static unsigned int nf_route_table_hook(void *priv, u32 mark, flowlabel; int err; - nft_set_pktinfo_ipv6(&pkt, skb, state); + nft_set_pktinfo(&pkt, skb, state); + nft_set_pktinfo_ipv6(&pkt, skb); /* save source/dest address, mark, hoplimit, flowlabel, priority */ memcpy(&saddr, &ipv6_hdr(skb)->saddr, sizeof(saddr)); |