[ 099/143] net: fix ip rule iif/oif device rename

From: Willy Tarreau
Date: Sun May 11 2014 - 22:00:41 EST


2.6.32-longterm review patch. If anyone has any objections, please let me know.

------------------

From: Maciej Zenczykowski <maze@xxxxxxxxxx>

[ Upstream commit 946c032e5a53992ea45e062ecb08670ba39b99e3 ]

ip rules with iif/oif references do not update:
(detach/attach) across interface renames.

Signed-off-by: Maciej Zenczykowski <maze@xxxxxxxxxx>
CC: Willem de Bruijn <willemb@xxxxxxxxxx>
CC: Eric Dumazet <edumazet@xxxxxxxxxx>
CC: Chris Davis <chrismd@xxxxxxxxxx>
CC: Carlo Contavalli <ccontavalli@xxxxxxxxxx>

Google-Bug-Id: 12936021
Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Willy Tarreau <w@xxxxxx>
---
net/core/fib_rules.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/net/core/fib_rules.c b/net/core/fib_rules.c
index de9eac9..06bdee7 100644
--- a/net/core/fib_rules.c
+++ b/net/core/fib_rules.c
@@ -633,6 +633,13 @@ static int fib_rules_event(struct notifier_block *this, unsigned long event,
attach_rules(&ops->rules_list, dev);
break;

+ case NETDEV_CHANGENAME:
+ list_for_each_entry(ops, &net->rules_ops, list) {
+ detach_rules(&ops->rules_list, dev);
+ attach_rules(&ops->rules_list, dev);
+ }
+ break;
+
case NETDEV_UNREGISTER:
list_for_each_entry(ops, &net->rules_ops, list)
detach_rules(&ops->rules_list, dev);
--
1.7.12.2.21.g234cd45.dirty



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/