]> git.baikalelectronics.ru Git - kernel.git/commit
ipv6: route: dissect flow in input path if fib rules need it
authorRoopa Prabhu <roopa@cumulusnetworks.com>
Thu, 1 Mar 2018 03:42:41 +0000 (22:42 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Mar 2018 03:44:44 +0000 (22:44 -0500)
commit5e40d210881ba8516b5e1d5646d22ab9efb3b926
treeddee8135f08c7e6786d8fa8697dc75cd0aa2684a
parent04c0997541848046f42f1681498464f148ebce17
ipv6: route: dissect flow in input path if fib rules need it

Dissect flow in fwd path if fib rules require it. Controlled by
a flag to avoid penatly for the common case. Flag is set when fib
rules with sport, dport and proto match that require flow dissect
are installed. Also passes the dissected hash keys to the multipath
hash function when applicable to avoid dissecting the flow again.
icmp packets will continue to use inner header for hash
calculations (Thanks to Nikolay Aleksandrov for some review here).

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Acked-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip_fib.h
include/net/netns/ipv4.h
net/ipv4/fib_rules.c
net/ipv4/fib_semantics.c
net/ipv4/route.c