Hannes Frederic Sowa
307f2fb95e
ipv6: only static routes qualify for equal cost multipathing
...
Static routes in this case are non-expiring routes which did not get
configured by autoconf or by icmpv6 redirects.
To make sure we actually get an ecmp route while searching for the first
one in this fib6_node's leafs, also make sure it matches the ecmp route
assumptions.
v2:
a) Removed RTF_EXPIRE check in dst.from chain. The check of RTF_ADDRCONF
already ensures that this route, even if added again without
RTF_EXPIRES (in case of a RA announcement with infinite timeout),
does not cause the rt6i_nsiblings logic to go wrong if a later RA
updates the expiration time later.
v3:
a) Allow RTF_EXPIRES routes to enter the ecmp route set. We have to do so,
because an pmtu event could update the RTF_EXPIRES flag and we would
not count this route, if another route joins this set. We now filter
only for RTF_GATEWAY|RTF_ADDRCONF|RTF_DYNAMIC, which are flags that
don't get changed after rt6_info construction.
Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-07-12 16:29:54 -07:00
..
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-07-03 14:55:13 -07:00
addrconf.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-07-03 14:55:13 -07:00
addrconf_core.c
ipv6: add include file to suppress sparse warnings
2013-06-25 02:44:05 -07:00
addrlabel.c
rtnetlink: Remove passing of attributes into rtnl_doit functions
2013-03-22 10:31:16 -04:00
af_inet6.c
net: ipv6: Add IPv6 support to the ping socket.
2013-05-25 21:07:49 -07:00
ah6.c
anycast.c
datagram.c
net: ipv6: Unify {raw,udp}6_sock_seq_show.
2013-06-04 12:56:14 -07:00
esp6.c
exthdrs.c
exthdrs_core.c
ipv6: Correct comparisons and calculations using skb->tail and skb-transport_header
2013-05-28 23:49:07 -07:00
exthdrs_offload.c
fib6_rules.c
icmp.c
net: Convert uses of typedef ctl_table to struct ctl_table
2013-06-13 02:36:09 -07:00
inet6_connection_sock.c
ipv6: use newly introduced __ipv6_addr_needs_scope_id and ipv6_iface_scope_id
2013-03-08 12:29:22 -05:00
inet6_hashtables.c
ip6_checksum.c
ip6_fib.c
ipv6: only static routes qualify for equal cost multipathing
2013-07-12 16:29:54 -07:00
ip6_flowlabel.c
ipv6 flowlabel: add __rcu annotations
2013-03-07 16:33:10 -05:00
ip6_gre.c
ipv6,gre: do not leak info to user-space
2013-05-11 17:40:14 -07:00
ip6_icmp.c
ipv6: Kill ipv6 dependency of icmpv6_send().
2013-04-29 13:54:36 -04:00
ip6_input.c
ipv6: don't accept node local multicast traffic from the wire
2013-03-29 14:57:33 -04:00
ip6_offload.c
MPLS: Add limited GSO support
2013-05-27 22:50:59 -07:00
ip6_offload.h
ip6_output.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-07-03 14:55:13 -07:00
ip6_tunnel.c
GRE: Refactor GRE tunneling code.
2013-03-26 12:27:18 -04:00
ip6mr.c
net: pass info struct via netdevice notifier
2013-05-28 13:11:01 -07:00
ipcomp6.c
ipv6_sockglue.c
Kconfig
Tunneling: use IP Tunnel stats APIs.
2013-03-26 12:27:19 -04:00
Makefile
net: ipv6: Add IPv6 support to the ping socket.
2013-05-25 21:07:49 -07:00
mcast.c
ipv6,mcast: always hold idev->lock before mca_lock
2013-07-01 23:39:21 -07:00
mip6.c
ipv6: Correct comparisons and calculations using skb->tail and skb-transport_header
2013-05-28 23:49:07 -07:00
ndisc.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-06-19 16:49:39 -07:00
netfilter.c
netfilter: add nf_ipv6_ops hook to fix xt_addrtype with IPv6
2013-05-23 11:58:55 +02:00
output_core.c
ipv6: Correct comparisons and calculations using skb->tail and skb-transport_header
2013-05-28 23:49:07 -07:00
ping.c
net: ipv6: fix wrong ping_v6_sendmsg return value
2013-07-03 17:42:05 -07:00
proc.c
snmp6: remove IPSTATS_MIB_CSUMERRORS
2013-05-31 16:26:49 -07:00
protocol.c
raw.c
net: ipv6: Unify {raw,udp}6_sock_seq_show.
2013-06-04 12:56:14 -07:00
reassembly.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-04-22 20:32:51 -04:00
route.c
ipv6: fix route selection if kernel is not compiled with CONFIG_IPV6_ROUTER_PREF
2013-07-11 11:51:10 -07:00
sit.c
sit: fix tunnel update via netlink
2013-07-04 14:55:47 -07:00
syncookies.c
tcp: Remove TCPCT
2013-03-17 14:35:13 -04:00
sysctl_net_ipv6.c
net: Convert uses of typedef ctl_table to struct ctl_table
2013-06-13 02:36:09 -07:00
tcp_ipv6.c
net: rename ll methods to busy-poll
2013-07-10 17:08:27 -07:00
tcpv6_offload.c
tunnel6.c
udp.c
net: rename ll methods to busy-poll
2013-07-10 17:08:27 -07:00
udp_impl.h
ipv6: do not clear pinet6 field
2013-05-11 16:26:38 -07:00
udp_offload.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2013-06-05 16:37:30 -07:00
udplite.c
ipv6: do not clear pinet6 field
2013-05-11 16:26:38 -07:00
xfrm6_input.c
xfrm6_mode_beet.c
xfrm6_mode_ro.c
xfrm6_mode_transport.c
xfrm6_mode_tunnel.c
xfrm: allow to avoid copying DSCP during encapsulation
2013-03-06 07:02:45 +01:00
xfrm6_output.c
xfrm6_policy.c
xfrm6: release dev before returning error
2013-05-11 17:40:15 -07:00
xfrm6_state.c
xfrm6_tunnel.c