ipv4: ICMP packet inspection for multipath
ICMP packets are inspected to let them route together with the flow they belong to, minimizing the chance that a problematic path will affect flows on other paths, and so that anycast environments can work with ECMP. Signed-off-by: Peter Nørlund <pch@ordbogen.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
0e884c78ee
commit
79a131592d
@@ -28,6 +28,7 @@
|
||||
#include <net/inetpeer.h>
|
||||
#include <net/flow.h>
|
||||
#include <net/inet_sock.h>
|
||||
#include <net/ip_fib.h>
|
||||
#include <net/l3mdev.h>
|
||||
#include <linux/in_route.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
@@ -113,7 +114,15 @@ struct in_device;
|
||||
int ip_rt_init(void);
|
||||
void rt_cache_flush(struct net *net);
|
||||
void rt_flush_dev(struct net_device *dev);
|
||||
struct rtable *__ip_route_output_key(struct net *, struct flowi4 *flp);
|
||||
struct rtable *__ip_route_output_key_hash(struct net *, struct flowi4 *flp,
|
||||
int mp_hash);
|
||||
|
||||
static inline struct rtable *__ip_route_output_key(struct net *net,
|
||||
struct flowi4 *flp)
|
||||
{
|
||||
return __ip_route_output_key_hash(net, flp, -1);
|
||||
}
|
||||
|
||||
struct rtable *ip_route_output_flow(struct net *, struct flowi4 *flp,
|
||||
const struct sock *sk);
|
||||
struct dst_entry *ipv4_blackhole_route(struct net *net,
|
||||
|
Reference in New Issue
Block a user