ipv6: exthdrs: get rid of indirect calls in ip6_parse_tlv()
authorEric Dumazet <edumazet@google.com>
Tue, 3 Aug 2021 15:31:05 +0000 (08:31 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 Aug 2021 09:34:40 +0000 (10:34 +0100)
commit51b8f812e5b327b343232685ea7969e02348d5dd
tree22d74eb301744d65ab93520fad735c4b3617df26
parentd851798584ffd497b6cf0ae68f9ba75afced0ec3
ipv6: exthdrs: get rid of indirect calls in ip6_parse_tlv()

As presented last month in our "BIG TCP" talk at netdev 0x15,
we plan using IPv6 jumbograms.

One of the minor problem we talked about is the fact that
ip6_parse_tlv() is currently using tables to list known tlvs,
thus using potentially expensive indirect calls.

While we could mitigate this cost using macros from
indirect_call_wrapper.h, we also can get rid of the tables
and let the compiler emit optimized code.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Justin Iurman <justin.iurman@uliege.be>
Cc: Coco Li <lixiaoyan@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/exthdrs.c