b4bac172e9
Some operators prefer IPv6 path selection to use a standard 5-tuple
hash rather than just an L3 hash with the flow the label. To that end
add support to IPv6 for multipath hash policy similar to bf4e0a3db9
("net: ipv4: add support for ECMP hash policy choice"). The default
is still L3 which covers source and destination addresses along with
flow label and IPv6 protocol.
Signed-off-by: David Ahern <dsahern@gmail.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Tested-by: Ido Schimmel <idosch@mellanox.com>
Reviewed-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
38 lines
973 B
C
38 lines
973 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _NET_EVENT_H
|
|
#define _NET_EVENT_H
|
|
|
|
/*
|
|
* Generic netevent notifiers
|
|
*
|
|
* Authors:
|
|
* Tom Tucker <tom@opengridcomputing.com>
|
|
* Steve Wise <swise@opengridcomputing.com>
|
|
*
|
|
* Changes:
|
|
*/
|
|
|
|
struct dst_entry;
|
|
struct neighbour;
|
|
|
|
struct netevent_redirect {
|
|
struct dst_entry *old;
|
|
struct dst_entry *new;
|
|
struct neighbour *neigh;
|
|
const void *daddr;
|
|
};
|
|
|
|
enum netevent_notif_type {
|
|
NETEVENT_NEIGH_UPDATE = 1, /* arg is struct neighbour ptr */
|
|
NETEVENT_REDIRECT, /* arg is struct netevent_redirect ptr */
|
|
NETEVENT_DELAY_PROBE_TIME_UPDATE, /* arg is struct neigh_parms ptr */
|
|
NETEVENT_IPV4_MPATH_HASH_UPDATE, /* arg is struct net ptr */
|
|
NETEVENT_IPV6_MPATH_HASH_UPDATE, /* arg is struct net ptr */
|
|
};
|
|
|
|
int register_netevent_notifier(struct notifier_block *nb);
|
|
int unregister_netevent_notifier(struct notifier_block *nb);
|
|
int call_netevent_notifiers(unsigned long val, void *v);
|
|
|
|
#endif
|