[NETFILTER] Inherit masq_index to slave connections
authorHarald Welte <laforge@netfilter.org>
Sun, 31 Jul 2005 00:44:07 +0000 (17:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 31 Jul 2005 00:44:07 +0000 (17:44 -0700)
masq_index is used for cleanup in case the interface address changes
(such as a dialup ppp link with dynamic addreses).  Without this patch,
slave connections are not evicted in such a case, since they don't inherit
masq_index.

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/netfilter/ip_conntrack_core.c

index 86f04e4..a7f0c82 100644 (file)
@@ -513,6 +513,11 @@ init_conntrack(const struct ip_conntrack_tuple *tuple,
 #ifdef CONFIG_IP_NF_CONNTRACK_MARK
                conntrack->mark = exp->master->mark;
 #endif
+#if defined(CONFIG_IP_NF_TARGET_MASQUERADE) || \
+    defined(CONFIG_IP_NF_TARGET_MASQUERADE_MODULE)
+               /* this is ugly, but there is no other place where to put it */
+               conntrack->nat.masq_index = exp->master->nat.masq_index;
+#endif
                nf_conntrack_get(&conntrack->master->ct_general);
                CONNTRACK_STAT_INC(expect_new);
        } else {