Carp Suppression
Josh Kayse
josh.kayse at gmail.com
Mon Jun 13 16:00:38 GMT 2005
Definitely a typo on my part. It should be
ifp->if_link_state = LINK_STATE_UP
The reason we are using CARP on a PLIP interface is to allow us to
have redundant connections between 2 transparent bridging firewalls.
Instead of sending packets over our network, we isolate them onto a
PLIP interface and crossover interface. We then use ifstaded to
monitor the carp interfaces and shut down bridging on one of the
machines.
I will refrain from submitting any code to the community in the future.
On 6/13/05, Yar Tikhiy <yar at comp.chem.msu.su> wrote:
> 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
>
--
Joshua Kayse
Computer Engineering
More information about the freebsd-pf
mailing list