Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Aug 2005 16:17:50 +0200
From:      Max Laier <max@love2party.net>
To:        freebsd-net@freebsd.org
Cc:        Boris Kovalenko <boris@ntmk.ru>
Subject:   Re: PR bin/82306
Message-ID:  <200508161618.02485.max@love2party.net>
In-Reply-To: <4301499E.8040704@ntmk.ru>
References:  <4301499E.8040704@ntmk.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart1762813.IeyQ2jLzbZ
Content-Type: multipart/mixed;
  boundary="Boundary-01=_VWfADM86mhQ4UA0"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--Boundary-01=_VWfADM86mhQ4UA0
Content-Type: text/plain;
  charset="koi8-r"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Tuesday 16 August 2005 04:04, Boris Kovalenko wrote:
> Hello!
>
> 	Is there news on PR 82306? Will it be fixed at least with 5.5R?

In case anybody is watching here ... please try the attached diff.

=2D-=20
/"\  Best regards,                      | mlaier@freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier@EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News

--Boundary-01=_VWfADM86mhQ4UA0
Content-Type: text/x-diff;
  charset="koi8-r";
  name="in.c.diff"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="in.c.diff"

Index: in.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /usr/store/mlaier/fcvs/src/sys/netinet/in.c,v
retrieving revision 1.85
diff -u -r1.85 in.c
=2D-- in.c	2 Jun 2005 00:04:08 -0000	1.85
+++ in.c	16 Aug 2005 13:41:08 -0000
@@ -67,6 +67,10 @@
 static int subnetsarelocal =3D 0;
 SYSCTL_INT(_net_inet_ip, OID_AUTO, subnets_are_local, CTLFLAG_RW,
 	&subnetsarelocal, 0, "Treat all subnets as directly connected");
+static int sameprefixcarponly =3D 0;
+SYSCTL_INT(_net_inet_ip, OID_AUTO, same_prefix_carp_only, CTLFLAG_RW,
+	&sameprefixcarponly, 0,
+	"Refuse to create same prefixes on different interfaces");
=20
 struct in_multihead in_multihead; /* XXX BSS initialization */
=20
@@ -815,8 +819,15 @@
 		 * If we got a matching prefix route inserted by other
 		 * interface address, we are done here.
 		 */
=2D		if (ia->ia_flags & IFA_ROUTE)
=2D			return 0;
+		if (ia->ia_flags & IFA_ROUTE) {
+			if (sameprefixcarponly &&
+			    target->ia_ifp->if_type !=3D IFT_CARP &&
+			    ia->ia_ifp->if_type !=3D IFT_CARP)
+				return (0);
+			else
+				return (EEXIST);
+		} else
+			continue;
 	}
=20
 	/*

--Boundary-01=_VWfADM86mhQ4UA0--

--nextPart1762813.IeyQ2jLzbZ
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQBDAfWaXyyEoT62BG0RAq+PAJ4lSfF0TtCh91GYiEa50VDPR43SQQCfRbsK
V/70C920KsW8M3aOTU/L7IE=
=YrtF
-----END PGP SIGNATURE-----

--nextPart1762813.IeyQ2jLzbZ--



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