summaryrefslogtreecommitdiffstats
path: root/include/net/flow.h
diff options
context:
space:
mode:
authorJakub Sitnicki <jkbs@redhat.com>2017-08-23 09:58:28 +0200
committerDavid S. Miller <davem@davemloft.net>2017-08-24 18:21:17 -0700
commit29825717123fb9cfb9e709327d565c2f2fa89903 (patch)
treea572db681bb1f973ec05420022d3561f4fcec2a1 /include/net/flow.h
parent790c6056686cc4dd5b149b330bbd5ae208d4d721 (diff)
downloadlinux-29825717123fb9cfb9e709327d565c2f2fa89903.tar.gz
linux-29825717123fb9cfb9e709327d565c2f2fa89903.tar.bz2
linux-29825717123fb9cfb9e709327d565c2f2fa89903.zip
net: Extend struct flowi6 with multipath hash
Allow for functions that fill out the IPv6 flow info to also pass a hash computed over the skb contents. The hash value will drive the multipath routing decisions. This is intended for special treatment of ICMPv6 errors, where we would like to make a routing decision based on the flow identifying the offending IPv6 datagram that triggered the error, rather than the flow of the ICMP error itself. Signed-off-by: Jakub Sitnicki <jkbs@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/flow.h')
-rw-r--r--include/net/flow.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/flow.h b/include/net/flow.h
index f3dc61b29bb5..eb60cee30b44 100644
--- a/include/net/flow.h
+++ b/include/net/flow.h
@@ -149,6 +149,7 @@ struct flowi6 {
#define fl6_ipsec_spi uli.spi
#define fl6_mh_type uli.mht.type
#define fl6_gre_key uli.gre_key
+ __u32 mp_hash;
} __attribute__((__aligned__(BITS_PER_LONG/8)));
struct flowidn {