Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Dec 2008 10:04:22 +0200
From:      Ian FREISLICH <ianf@clue.co.za>
To:        Erwin Lansing <erwin@freebsd.org>
Cc:        Gerald Pfeifer <gerald@pfeifer.com>, Vladimir Grebenschikov <vova@fbsd.ru>, Kip Macy <kip.macy@gmail.com>, Qing Li <qingli@freebsd.org>, freebsd-current@freebsd.org, freebsd-net@freebsd.org
Subject:   Re: HEADSUP: arp-v2 has been committed 
Message-ID:  <E1LEfm2-000BPk-Rs@clue.co.za>
In-Reply-To: <20081221125120.GO23166@droso.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multipart MIME message.

--==_Exmh_1229933021_14280
Content-Type: text/plain; charset=us-ascii

Erwin Lansing <erwin@freebsd.org> wrote:
> >   RTF_WASCLONE and RTF_LLINFO routing flags. The userland applications 
> >   such as "arp" and "ndp" have been modified to reflect those changes.
> > so I guess it's not so easy.  
> > How many other ports are affected?
> The latest full run with HEAD from a few days back hasn't quite finished
> yet, so there might turn up a few more, but so far it's just a handful:
> net/libdnet
> devel/libpdel
> net-mgmt/net-snmp
> net/netwib
> net/p5-Net-RawIP
> net-mgmt/net-snmp4
> emulators/wine

You can add net/quagga to that list as well.

The following patch solves it, and you'll need patch-lib-sockopt.c
for multicast to work correctly on -CURRENT.

--
Ian Freislich


--==_Exmh_1229933021_14280
Content-Type: text/plain ; name="patch-zebra-kernel_socket.c"; charset=us-ascii
Content-Description: patch-zebra-kernel_socket.c
Content-Disposition: attachment; filename="patch-zebra-kernel_socket.c"

--- zebra/kernel_socket.c.orig	2008-12-22 09:59:00.000000000 +0200
+++ zebra/kernel_socket.c	2008-12-22 09:59:10.000000000 +0200
@@ -173,9 +173,13 @@
 #ifdef RTF_MASK
   {RTF_MASK,      "MASK"},
 #endif /* RTF_MASK */
+#ifdef RTF_CLONING
   {RTF_CLONING,   "CLONING"},
+#endif /* RTF_CLONING */
   {RTF_XRESOLVE,  "XRESOLVE"},
+#ifdef RTF_LLINFO
   {RTF_LLINFO,    "LLINFO"},
+#endif /* RTF_LLINFO */
   {RTF_STATIC,    "STATIC"},
   {RTF_BLACKHOLE, "BLACKHOLE"},
 #ifdef RTF_PRIVATE
@@ -999,9 +1003,11 @@
   if (gate && message == RTM_ADD)
     msg.rtm.rtm_flags |= RTF_GATEWAY;
 
+#ifdef RTF_CLONING
   if (! gate && message == RTM_ADD && ifp &&
       (ifp->flags & IFF_POINTOPOINT) == 0)
     msg.rtm.rtm_flags |= RTF_CLONING;
+#endif */ RTF_CLONING */
 
   /* If no protocol specific gateway is specified, use link
      address for gateway. */

--==_Exmh_1229933021_14280
Content-Type: text/plain ; name="patch-lib-sockopt.c"; charset=us-ascii
Content-Description: patch-lib-sockopt.c
Content-Disposition: attachment; filename="patch-lib-sockopt.c"

--- lib/sockopt.c.orig	2007-08-21 18:32:56.000000000 +0200
+++ lib/sockopt.c	2008-08-13 09:07:20.000000000 +0200
@@ -231,6 +231,7 @@
       else
 	mreqn.imr_address = if_addr;
       
+	mreqn.imr_address = if_addr;
       ret = setsockopt(sock, IPPROTO_IP, optname,
 		       (void *)&mreqn, sizeof(mreqn));
       if ((ret < 0) && (optname == IP_ADD_MEMBERSHIP) && (errno == EADDRINUSE))

--==_Exmh_1229933021_14280--





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1LEfm2-000BPk-Rs>