Skip site navigation (1)Skip section navigation (2)
Date:      04 Oct 2002 18:21:47 +0400
From:      "Vladimir B. " Grebenschikov <vova@sw.ru>
To:        Maxim Sobolev <sobomax@FreeBSD.ORG>
Cc:        sumikawa@FreeBSD.ORG, freebsd-net@FreeBSD.ORG
Subject:   Re: zebra interface flags problem on 4.7-RC2 (IFF_PROMISC)
Message-ID:  <1033741307.1060.22.camel@vbook.express.ru>
In-Reply-To: <20021004140644.GB61661@vega.vega.com>
References:  <1033739506.1060.16.camel@vbook.express.ru>  <20021004140644.GB61661@vega.vega.com>

next in thread | previous in thread | raw e-mail | index | archive | help
=F7 Fri, 04.10.2002, =D7 18:06, Maxim Sobolev =CE=C1=D0=C9=D3=C1=CC:
> On Fri, Oct 04, 2002 at 05:51:46PM +0400, Vladimir B.  Grebenschikov wrot=
e:
> >=20
> > Hi
> >=20
> > I have tried to install fresh zebra (from ports) on 4.7-RC2
> >=20
> > have a problem - zebra turns on promiscuity mode on interface,
> > it is completely unacceptable when interface connected to HUB (not
> > switch) - router begins resend all packets.
> >=20
> > # ifconfig fxp1
> > fxp1: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> >         inet 193.125.143.129 netmask 0xffffff00 broadcast
> > 193.125.143.255
> >         ether 00:a0:c9:41:a3:a3
> >         media: Ethernet autoselect (10baseT/UTP)
> >         status: active
> > # zebra -d
> > 2002/10/04 16:33:42 ZEBRA: can't get ip6forwarding value
> > # ifconfig fxp1
> > fxp1: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu=20
> > 1500
> >         inet 193.125.143.129 netmask 0xffffff00 broadcast
> > 193.125.143.255
> >         ether 00:a0:c9:41:a3:a3
> >         media: Ethernet autoselect (10baseT/UTP)
> >         status: active
> >=20
> >=20
> > Nothing special in zebra config, just installed 4.7-RC2, just upgraded
> > zebra.
> >=20
> > I am not sure is it Zebra-related or FreeBSD-related problem
> > digging into zebra code do not show any abnormal interface flags
> > installed.
>=20
> This is probably a bug in zebra - I guess that it's doesn't clear
> 'struct ifreq' properly before SIOCSIFFLAGS ioctl(2).

Zebra explicitly sets flags like this:
ioctl.c:  ifreq.ifr_flags =3D ifp->flags;
ioctl.c:  ifreq.ifr_flags |=3D flags;

and I have tried to change code:

ioctl.c:  ifreq.ifr_flags =3D ifp->flags;
ioctl.c:  ifreq.ifr_flags |=3D flags;
ioctl.c:  ifreq.ifr_flags &=3D ~(IFF_PROMISC);

- does not help.

> -Maxim
>=20
> >=20
> > May be problem related to following commit:
> >=20
> > date: 2002/08/30 14:23:38;  author: sobomax;  state: Exp;  lines: +25 -=
4
> > MFC: user-setable promisc mode. The code is slightly diffrent (and
> > uglier)
> > than in HEAD, because we have had to preserve kernel ABI, so that
> > increasing
> > if_flags to 32 bits was not an option.
> >=20
> >=20
> > --=20
> > Vladimir B. Grebenschikov
> > vova@sw.ru, SWsoft, Inc.
>=20
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message
>=20
--=20
Vladimir B. Grebenschikov
vova@sw.ru, SWsoft, Inc.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1033741307.1060.22.camel>