linux/net
Marek Lindner 13b2541b11 batman-adv: avoid temporary routing loops by being strict on forwarded OGMs
batman-adv would forward OGMs from non-besthops while replacing the the TQ
and TTL values with the values from the best hop. In certain corner cases
this leads to a temporary routing loop.
This patch changes this behavior: Only packets from best next hops are
forwarded - TQ and TTL values won't be replaced anymore. However, the protocol
needs to rebroadcast OGMs from single hop neighbors regardless of whether or
not they are the best hop. To handle this case a new flag is introduced to
alert neighboring nodes about the forwarded OGM that is not from my best
next hop. It is to be discarded by all nodes except for the one originating
the OGM.

Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Acked-by: Daniele Furlan <daniele.furlan@gmail.com>
Tested-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
2012-05-11 13:56:05 +02:00
..
9p net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
802 802: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:17 -04:00
8021q 8021q: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:17 -04:00
appletalk net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
atm atm: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:17 -04:00
ax25 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-04-23 23:15:17 -04:00
batman-adv batman-adv: avoid temporary routing loops by being strict on forwarded OGMs 2012-05-11 13:56:05 +02:00
bluetooth bluetooth: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:18 -04:00
bridge bridge: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:17 -04:00
caif net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
can can: fix sparse warning for cgw_list 2012-04-16 21:08:18 +02:00
ceph crush: include header for global symbols 2012-04-27 00:03:34 -04:00
core ethtool: Extend the ethtool API to obtain plugin module eeprom data 2012-05-10 02:22:17 +01:00
dcb net: dcb: add CEE notify calls 2012-04-25 19:47:17 -04:00
dccp net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
decnet net decnet: Convert to use register_net_sysctl 2012-04-20 21:22:29 -04:00
dns_resolver net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
dsa dsa: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:19 -04:00
econet sock: Introduce named constants for sk_reuse 2012-04-21 15:52:25 -04:00
ethernet net, drivers/net: Convert compare_ether_addr_64bits to ether_addr_equal_64bits 2012-05-10 23:33:01 -04:00
ieee802154 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
ipv4 tcp: Out-line tcp_try_rmem_schedule 2012-05-10 23:24:36 -04:00
ipv6 6lowpan: IPv6 link local address 2012-05-10 23:38:22 -04:00
ipx net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
irda net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
iucv Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2012-03-22 18:15:32 -07:00
key net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
l2tp l2tp: fix data packet sequence number handling 2012-05-10 23:27:34 -04:00
lapb Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
llc net: add a limit parameter to sk_add_backlog() 2012-04-23 22:28:28 -04:00
mac80211 mac80211: Convert compare_ether_addr to ether_addr_equal by hand 2012-05-09 20:49:18 -04:00
netfilter netfilter: Convert compare_ether_addr to ether_addr_equal 2012-05-09 20:49:18 -04:00
netlabel netlabel: use GFP flags from caller instead of GFP_ATOMIC 2012-03-22 19:29:57 -04:00
netlink af_netlink: drop_monitor/dropwatch friendly 2012-04-24 00:35:14 -04:00
netrom net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
nfc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-04-18 14:27:48 -04:00
openvswitch net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
packet af_packet: packet_getsockopt() cleanup 2012-04-21 16:36:42 -04:00
phonet net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
rds sock: Introduce named constants for sk_reuse 2012-04-21 15:52:25 -04:00
rfkill device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
rose net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
rxrpc net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
sched codel: Controlled Delay AQM 2012-05-10 23:35:02 -04:00
sctp net: add a limit parameter to sk_add_backlog() 2012-04-23 22:28:28 -04:00
sunrpc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
tipc tipc: compress out gratuitous extra carriage returns 2012-04-30 15:53:56 -04:00
unix net: sock_diag_handler structs can be const 2012-04-25 20:46:59 -04:00
wanrouter wanrouter: Remove kernel_lock annotations 2011-11-07 13:27:30 -05:00
wimax net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
wireless wireless: Convert compare_ether_addr to ether_addr_equal by hand 2012-05-09 20:49:19 -04:00
x25 net: add a limit parameter to sk_add_backlog() 2012-04-23 22:28:28 -04:00
xfrm net: Convert all sysctl registrations to register_net_sysctl 2012-04-20 21:22:30 -04:00
compat.c net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
Kconfig net: Add Open vSwitch kernel components. 2011-12-03 09:35:17 -08:00
Makefile net: Add Open vSwitch kernel components. 2011-12-03 09:35:17 -08:00
nonet.c
socket.c net: change big iov allocations 2012-04-21 16:24:20 -04:00
sysctl_net.c net: Remove register_net_sysctl_table 2012-04-20 21:22:30 -04:00