diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-03-02 02:36:47 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-03-02 02:36:47 +0000 |
commit | 8624512aa908741ba2795200133eae0d7f4557ea (patch) | |
tree | d5d3036fccf2604f4c98dedc11e8adb929d6b52e /net/ipv4/igmp.c | |
parent | 7b8f5d6f1d45d9f9de1d26e7d3c32aa5af11b488 (diff) |
Merge with 2.3.48.
Diffstat (limited to 'net/ipv4/igmp.c')
-rw-r--r-- | net/ipv4/igmp.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 3aad90680..c93da55f9 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -8,7 +8,7 @@ * the older version didn't come out right using gcc 2.5.8, the newer one * seems to fall out with gcc 2.6.2. * - * Version: $Id: igmp.c,v 1.37 2000/02/09 11:16:40 davem Exp $ + * Version: $Id: igmp.c,v 1.38 2000/02/27 01:20:02 davem Exp $ * * Authors: * Alan Cox <Alan.Cox@linux.org> @@ -93,6 +93,7 @@ #include <net/route.h> #include <net/sock.h> #include <net/checksum.h> +#include <linux/netfilter_ipv4.h> #ifdef CONFIG_IP_MROUTE #include <linux/mroute.h> #endif @@ -185,6 +186,11 @@ static void igmp_mod_timer(struct ip_mc_list *im, int max_delay) #define IGMP_SIZE (sizeof(struct igmphdr)+sizeof(struct iphdr)+4) +static inline int igmp_send_report2(struct sk_buff *skb) +{ + return skb->dst->output(skb); +} + static int igmp_send_report(struct net_device *dev, u32 group, int type) { struct sk_buff *skb; @@ -242,7 +248,8 @@ static int igmp_send_report(struct net_device *dev, u32 group, int type) ih->group=group; ih->csum=ip_compute_csum((void *)ih, sizeof(struct igmphdr)); - return skb->dst->output(skb); + return NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, skb, NULL, rt->u.dst.dev, + igmp_send_report2); } |