From dfb67585561ccd9bf735cfc5d5fba8401ca270c5 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Mon, 10 Jun 2013 10:01:20 +0200 Subject: Reuse automatic ip6table value --- interface.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'interface.c') diff --git a/interface.c b/interface.c index a697326..30e48cf 100644 --- a/interface.c +++ b/interface.c @@ -588,8 +588,12 @@ interface_init(struct interface *iface, const char *name, } // Set a default exteranl routing table for IPv6 to do source-based-filtering + struct interface *iface_old = vlist_find(&interfaces, name, iface_old, node); + if (iface_old && iface_old->ip6table > 1000 && iface_old->ip6table < 2000) + iface->ip6table = iface_old->ip6table; + else + iface->ip6table = 1000 + ++interface_serial; - iface->ip6table = 1000 + ++interface_serial; if ((cur = tb[IFACE_ATTR_IP6TABLE])) { if (!system_resolve_rt_table(blobmsg_data(cur), &iface->ip6table)) DPRINTF("Failed to resolve routing table: %s\n", (char *) blobmsg_data(cur)); -- cgit v1.2.3