Il 22:31, domenica 22 luglio 2001, Roberto Arcomano ha scritto:
> Hi all,
> Recently I have had a problem with Linux proxy arp feature (using with
> shaper interface): when I machine starts up it was receiving a "IP
> conflits". The problem is that Linux proxy_arp routine doesn't make
> difference between real interface (i.e. eth0) and shaper interface (i.e.
> shaper0 which has been attached to eth0).
> I attach a first beta solution to the problem, which could be far from
> optimal! (I use a "strncmp", cause I didn't found another method to know if
> the device is a "shaper" device).
>
>
> --- arp.c.orig Wed May 16 19:21:45 2001
> +++ arp.c Sun Jul 22 19:31:20 2001
> @@ -111,7 +111,7 @@
>
> #include <asm/system.h>
> #include <asm/uaccess.h>
> -
> +#include <linux/if_shaper.h>
>
>
> /*
> @@ -767,10 +767,17 @@
> }
> goto out;
> } else if (IN_DEV_FORWARD(in_dev)) {
> + char shflag=0;
> + if ( (rt->u.dst.dev) &&
> + (rt->u.dst.dev->priv) &&
> + (((struct shaper *) rt->u.dst.dev->priv)->dev)
> && +
> (strncmp(rt->u.dst.dev->name,"shaper",6)==0) ) +
> shflag=1;
> if ((rt->rt_flags&RTCF_DNAT) ||
> - (addr_type == RTN_UNICAST && rt->u.dst.dev !=
> dev &&
> + (addr_type == RTN_UNICAST &&
> + ( ((shflag) && ( ((struct shaper *)
> rt->u.dst.dev->priv)->dev != dev)) || ((!shflag) && (rt->u.dst.dev != dev))
> ) &&
> (IN_DEV_PROXY_ARP(in_dev) ||
> pneigh_lookup(&arp_tbl, &tip, dev, 0)))) {
> - n = neigh_event_ns(&arp_tbl, sha, &sip,
> dev); + n = neigh_event_ns(&arp_tbl, sha,
> &sip, dev); if (n)
>
>
> The patch declare a variable (flag to know if the interface is
> shaper-like), investigate on private data of shaper device (where we can
> know what is the attached interface) and set the flag. After we consider
> the "attached" interface if flag is set.
>
> I tested it under 2.4.6 on RedHat 7.1 with success (there is no more IP
> conflit).
> Hope it'll useful.
>
> Best Regards
> Roberto Arcomano
Please someone takes a look at it! This is a bug of proxy arp feature (when
talking with shaper interface) could be correct (for example using my patch).
Thank you for your help
Best Regards
Roberto Arcomano
This archive was generated by hypermail 2b29 : Tue Jul 31 2001 - 21:00:15 EST