Carp Suppression

Yar Tikhiy yar at comp.chem.msu.su
Mon Jun 13 15:35:59 GMT 2005


On Mon, Jun 13, 2005 at 10:10:54AM -0400, Josh Kayse wrote:
> One last comment,
> 
> I managed to fix it so that carp runs on the plip interface by adding:
> ifp->if_flags = LINK_STATE_UP;
> 
> Here is the diff:
> 
> diff -Nur /usr.orig/src/sys/dev/ppbus/if_plip.c /usr/src/sys/dev/ppbus/if_plip.c
> --- /usr.orig/src/sys/dev/ppbus/if_plip.c       Wed Sep 15 11:14:18 2004
> +++ /usr/src/sys/dev/ppbus/if_plip.c    Mon Jun 13 10:05:56 2005
> @@ -359,6 +359,7 @@
> 
>             ppb_wctr(ppbus, IRQENABLE);
>             ifp->if_flags |= IFF_RUNNING;
> +           ifp->if_flags = LINK_STATE_UP;
>         }
>         break;

I'm afraid you're totally wrong here.

First, I can't see how CARP is supposed to work on a PLIP interface
or any point-to-point interface at all.  CARP is for broadcast
interfaces, such as Ethernet or FDDI, which do ARP.  You seem to miss
the point.

Second, you can't store an arbitrary value into a variable or field
and expect the things to work right.  LINK_STATE_UP simply is not for
ifp->if_flags.  Please make yourself familiar with the basics of
computer programming before offering your patches to the community.

-- 
Yar


More information about the freebsd-net mailing list