Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]

2011-10-15 Thread glebius
Synopsis: [carp] ipv6 does not work on carp interfaces [regression]

Responsible-Changed-From-To: freebsd-net->glebius
Responsible-Changed-By: glebius
Responsible-Changed-When: Sat Oct 15 14:26:48 UTC 2011
Responsible-Changed-Why: 
I'm now working on major rewrite of CARP for FreeBSD 10, and
I'd like to take all related PRs. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127050
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]

2011-08-22 Thread Paul Herman

On 8/21/2011 1:47 AM, Ask Bjørn Hansen wrote:


On Aug 19, 2011, at 1:30, Paul Herman wrote:


--010305010708060807000808
Content-Type: application/gzip;
  name="carp_ip6_alias.patch.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
  filename="carp_ip6_alias.patch.gz"


I wanted to try it, but gzip doesn't seem to like that file …

(downloaded from http://www.freebsd.org/cgi/query-pr.cgi?pr=127050&cat= )


It's base64 encoded of course -- works for me when I pipe the text into
  openssl base64 -d | zcat

(zipped to preserve white spacing) For those craving instant 
satisfaction, here it is in plain text.


-Paul.

--- sys/netinet/ip_carp.c.orig  2011-08-19 07:52:56.0 +
+++ sys/netinet/ip_carp.c 2011-08-19 07:15:03.0 +
@@ -1670,9 +1670,11 @@
struct carp_if *cif;
struct in6_ifaddr *ia, *ia_if;
struct ip6_moptions *im6o = &sc->sc_im6o;
+   struct in6_multi *in6m;
struct in6_addr in6;
int own, error;

+
error = 0;

if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr)) {
@@ -1729,8 +1731,6 @@
}

if (!sc->sc_naddrs6) {
-  struct in6_multi *in6m;
-
   im6o->im6o_multicast_ifp = ifp;

   /* join CARP multicast address */
@@ -1745,24 +1745,24 @@
goto cleanup;
   im6o->im6o_membership[0] = in6m;
   im6o->im6o_num_memberships++;
-
-  /* join solicited multicast address */
-  bzero(&in6, sizeof(in6));
-  in6.s6_addr16[0] = htons(0xff02);
-  in6.s6_addr32[1] = 0;
-  in6.s6_addr32[2] = htonl(1);
-  in6.s6_addr32[3] = sin6->sin6_addr.s6_addr32[3];
-  in6.s6_addr8[12] = 0xff;
-  if (in6_setscope(&in6, ifp, NULL) != 0)
-   goto cleanup;
-  in6m = NULL;
-  error = in6_mc_join(ifp, &in6, NULL, &in6m, 0);
-  if (error)
-   goto cleanup;
-  im6o->im6o_membership[1] = in6m;
-  im6o->im6o_num_memberships++;
}

+   /* join solicited multicast address */
+   bzero(&in6, sizeof(in6));
+   in6.s6_addr16[0] = htons(0xff02);
+   in6.s6_addr32[1] = 0;
+   in6.s6_addr32[2] = htonl(1);
+   in6.s6_addr32[3] = sin6->sin6_addr.s6_addr32[3];
+   in6.s6_addr8[12] = 0xff;
+   if (in6_setscope(&in6, ifp, NULL) != 0)
+  goto cleanup;
+   in6m = NULL;
+   error = in6_mc_join(ifp, &in6, NULL, &in6m, 0);
+   if (error)
+  goto cleanup;
+   im6o->im6o_membership[1] = in6m;
+   im6o->im6o_num_memberships++;
+
if (!ifp->if_carp) {
   cif = malloc(sizeof(*cif), M_CARP,
   M_WAITOK|M_ZERO);
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]

2011-08-20 Thread Ask Bjørn Hansen

On Aug 19, 2011, at 1:30, Paul Herman wrote:

> --010305010708060807000808
> Content-Type: application/gzip;
>  name="carp_ip6_alias.patch.gz"
> Content-Transfer-Encoding: base64
> Content-Disposition: attachment;
>  filename="carp_ip6_alias.patch.gz"

I wanted to try it, but gzip doesn't seem to like that file …

(downloaded from http://www.freebsd.org/cgi/query-pr.cgi?pr=127050&cat= )


 - ask

Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]

2011-08-19 Thread Paul Herman
The following reply was made to PR kern/127050; it has been noted by GNATS.

From: Paul Herman 
To: bug-follo...@freebsd.org
Cc: Wouter de Jong , Jacek Zapala 
Subject: Re: kern/127050: [carp] ipv6 does not work on carp interfaces 
[regression]
Date: Fri, 19 Aug 2011 10:13:46 +0200

 This is a multi-part message in MIME format.
 --010305010708060807000808
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 Content-Transfer-Encoding: 7bit
 
 This one's been bothering me too, so I setup a test machine yesterday to 
 figure out what's going on.  I see two problems here.
 
 First of all, in6_ifinit() (called via in6_control() SIOCAIFADDR_IN6 -> 
 in6_update_ifa()) only calls carp_ioctl() on the first IPv6 address. 
 Whereas in the v4 case, carp_ioctl() does get called by in_ifinit() 
 every time.
 
 Second of all, carp_set_addr6() (called via carp_ioctl()) only joins the 
 CARP multicast group AND the solicitation group with the first address.
 
 The attached patch against 8-STABLE fixes these issues, alias IPs are 
 now pingable.  I have not tested actual carp functionality with a 2nd 
 BACKUP carp.  What this patch doesn't address is group membership 
 removal when alias IPs are deleted (apparently also broken.)
 
 Try it out, if it works for you guys, maybe someone more familiar with 
 in[6]_control() can chime in here and comment on a *real* way to fix 
 this issue.  :-)
 
 Cheers,
 
 -Paul.
 
 --010305010708060807000808
 Content-Type: application/gzip;
  name="carp_ip6_alias.patch.gz"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment;
  filename="carp_ip6_alias.patch.gz"
 
 H4sICDwXTk4CA2NhcnBfaXA2X2FsaWFzLnBhdGNoAJVVa0+jQBT9TH/F9UsDHbDQWvramhof
 CVlfsZpN1hiCCDobYAhD42Pd/753mNIHtlZJyuvee+7pOXcGwzCAv/JmEuQUf3aTJvauv8sy
 +qi0TMsyzJ5h9cHsDszeoG3umuUBRJxrhJA19dXS/qDT/lA6HoNhdffaehfI7Doe16AGCvWM
 feq53sNDBiNocMQcYsBQaAgqDT2fTZMcfozAgnodaJhieuhS5ueRBn9rpMirJL6/zxPz1zSA
 0Qick2v38ODqUluLAooSZBkTDNTGahShUx0mzsXhxDk5ODq60kH1BVs316inDUWtoFDUz7AU
 nkYvKsegsSp5k6au72XpetU7rUHH3qb6AqJSbXUG5gbh7a6p91F4cbWsQnmF59nUz0FAuci/
 4dNwuHiNLuDbwpQG9XRxclcTUtuNWZpTlnCMxjZD7ercN/a574rHIVqzBBZPo5xiYmLHlTZF
 E+m6QtFB9pzoUKgp5oDg29IacygnBtV2zm3XmbjCD/fmfHJ5fOicOMdHal3MD3IogTXhiBy+
 Vl/vieFrW7otJfg3h9uZEU9EDbdFkaFspG8UnuN/xDHBswz6Hs9RohR54lkyVZoN+MNoAmLy
 YJ4GokvAUbdmuTA6emuvWBnFTcFOUR5ZzsCPAi+ZpsNqzyC+DzL+RNNb8070nAm7nJNM46U8
 ToigbixYcRZRn+bBw3pqmHn/FmRMrSO4Dpy+BSxU8V4Tg42dcPVzKbNlSxZPOY6Dar6Eodn6
 kNRu3Vp30sYPgVZZHanWusK2iFe8XQlXa3q3VoEpuMiY2E6wkgc591kazP5VsbrPb05PNdjB
 bE2kVoSXwDGCibziuZzIYjR8V6gp9wkJKvLkfawj5ry/3CM2tFjrrbXw1tjmrRxo8lV7ySfu
 ki+YSzZ4Sz63lnzfWbLZWPJlX0lVc7LqKvm2qWTZ03Xw2xwlWwwl5e5UfpHEZj37xOB2jTix
 F0XMV2fmiT1c0+Gs+NDpIgvwOHN/HTjXFz/fz9zfx1cXSPw/VIIrJwgIAAA=
 --010305010708060807000808--
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]

2011-02-10 Thread Jacek Zapala
The following reply was made to PR kern/127050; it has been noted by GNATS.

From: Jacek Zapala 
To: bug-follo...@freebsd.org, maddo...@maddog2k.net
Cc:  
Subject: Re: kern/127050: [carp] ipv6 does not work on carp interfaces
 [regression]
Date: Mon, 07 Feb 2011 14:30:21 +0100

 Bug is still present in 8.0.
 
 I have found that system joins multicast group only for the first
 address. For example:
 for address :::x::110:166 it joins ff02:1::1:ff10:166 as
 shown by netstat -ia (where it listens for example for neighbour
 solicitation messages), but for the second address assigned to the same
 carp4 interface it does not join another group.
 
 It works if I chose the second address with the same last 3 bytes as the
 first address - because it falls to the same multicast group.
 
 
 Regards,
Jacek
 
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"


Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]

2009-07-11 Thread Angelo Höngens
The following reply was made to PR kern/127050; it has been noted by GNATS.

From: =?ISO-8859-1?Q?Angelo_H=F6ngens?= 
To: bug-follo...@freebsd.org, maddo...@maddog2k.net
Cc:  
Subject: Re: kern/127050: [carp] ipv6 does not work on carp interfaces 
[regression]
Date: Sat, 11 Jul 2009 12:06:30 +0200

 A few months ago I could not ping any virtual ipv6 addresses. However,
 I'm running 7.2 now, and decided to pick up this issue. Something seems
 to have changed, and I can ping at least the first ipv6 address of a
 carp interface (just not the others)
 
 
 Some more info: I have four reverse cache machines (simple Dell R300's),
 running Squid. The four machines are balanced by round robin DNS. The
 DNS publishes 4 virtual carp addresses, and each node has 4 carp
 interfaces, but is always the master over its own one. This way, up to
 three nodes can fail, and the other takes over.
 
 Works like a charm, but of course I want to enable ipv6 over the same
 infrastructure.
 
 I've configured ipv6 aliases on all interfaces, and rebooted all nodes.
 
 Now the funny thing is, I can ping all ipv4 ip's (it's been running in
 production for months), I can ping6 the the dedicated ip's of all nodes
 (2001:81:82::206:113 for the node below), and I can ping to all the
 FIRST ipv6 addresses of the carp interfaces.
 
 Could very well be something I'm doing wrong, but I think it's a bug in
 carp. (Of course I could work around it by creating 16 carp interfaces
 on each machine, but I don't know what's the best solution.)
 
 So:
 
 I can ping6 to 2001:81:82::206:81
 I can ping6 to 2001:81:82::206:82
 I can ping6 to 2001:81:82::206:83
 I can ping6 to 2001:81:82::206:84
 I can NOT ping6 to 2001:81:82::206:85
 I can NOT ping6 to 2001:81:82::206:86
 I can NOT ping6 to 2001:81:82::206:87
 I can NOT ping6 to 2001:81:82::206:88
 I can NOT ping6 to 2001:81:82::206:121
 I can NOT ping6 to 2001:81:82::206:122
 I can NOT ping6 to 2001:81:82::206:123
 I can NOT ping6 to 2001:81:82::206:124
 
 
 Here you see pings on the cluster node. Pings to :81 get answered, but
 the node does not answer of neighbor solicitaions to :85:
 
 $ sudo tcpdump -ni nic0 icmp6
 listening on nic0, link-type EN10MB (Ethernet), capture size 96 bytes
 11:54:09.846489 IP6 2001:610:6a8:0:223:6cff:fe8d:6775 >
 2001:81:82::206:81: ICMP6, echo request, seq 0, length 16
 11:54:09.846524 IP6 2001:81:82::206:81 >
 2001:610:6a8:0:223:6cff:fe8d:6775: ICMP6, echo reply, seq 0, length 16
 11:54:10.845796 IP6 2001:610:6a8:0:223:6cff:fe8d:6775 >
 2001:81:82::206:81: ICMP6, echo request, seq 1, length 16
 11:54:10.845829 IP6 2001:81:82::206:81 >
 2001:610:6a8:0:223:6cff:fe8d:6775: ICMP6, echo reply, seq 1, length 16
 11:54:11.848522 IP6 2001:610:6a8:0:223:6cff:fe8d:6775 >
 2001:81:82::206:81: ICMP6, echo request, seq 2, length 16
 11:54:11.848539 IP6 2001:81:82::206:81 >
 2001:610:6a8:0:223:6cff:fe8d:6775: ICMP6, echo reply, seq 2, length 16
 11:54:13.949889 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:14.846703 IP6 2001:81:82::206:113 > 2001:81:82::1: ICMP6, neighbor
 solicitation, who has 2001:81:82::1, length 32
 11:54:14.847034 IP6 2001:81:82::1 > 2001:81:82::206:113: ICMP6, neighbor
 advertisement, tgt is 2001:81:82::1, length 24
 11:54:14.948194 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:15.948203 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:16.954932 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:17.952257 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:18.952558 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 
 I am running:
 $ uname -a
 FreeBSD balancer3.domain.local 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Tue
 Jun 16 12:08:00 CEST 2009
 r...@balancer3.domain.local:/usr/obj/usr/src/sys/GENERIC-CARP  amd64
 
 
 IP's below are scrambled and are not the real addresses:
 
 
 -- /etc/rc.conf -
 ifconfig_bge0_name="nic0"
 ifconfig_bge1_name="nic1"
 ipv6_enable="YES"
 
 ifconfig_nic0="inet 81.82.206.113 netmask 255.255.255.192"
 ifconfig_nic0_alias0="inet6 2001:81:82::206:113 prefixlen 48"
 ifconfig_nic1="inet 10.82.20.113 netmask 255.255.255.0"
 defaultrouter="81.82.206.65"
 ipv6_defaultrouter="2001:81:82::1"
 
 cloned_interfaces="carp0 carp1 carp2 carp3"
 
 ifconfig_carp0="vhid 103 pass blabla 81.82.206.81/26 advskew 0"
 ifconfig_carp0_alias0="inet6 2001:81:82::206:81 prefixlen 48"
 ifconfig_car

Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]

2008-09-10 Thread Jeff Wheelhouse
The following reply was made to PR kern/127050; it has been noted by GNATS.

From: Jeff Wheelhouse <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cc:  
Subject: Re: kern/127050: [carp] ipv6 does not work on carp interfaces 
[regression]
Date: Wed, 10 Sep 2008 15:02:00 -0400

 I am experiencing the identical behavior on the following releases:
 
 6.3-RELEASE-p4
 6.4-PRERELEASE (as of Sep 6)
 
 I have reproduced the problem on both amd64 and i386, on both physical  
 interfaces and VLAN interfaces.
 
 The problem is the same:
 - two machines,  both configured correctly
 - both machines can ping6 each other
 - carp configures correctly, and announcements are observed on the  
 relevant LAN via tcpdump
 - one machine goes to MASTER and one goes to BACKUP
 - an additional machine on the same LAN can ping6 both machines
 - none of the three machines can ping (or route through) the CARP IPv6  
 address
 
 However, I'm *assuming* these are the CARP announcements (since they  
 are from the right IPv6 addresses and MASTER/BACKUP status seems to  
 work:
 
 11:54:51.818511 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:52.855924 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:53.893300 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:54.930386 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:55.967965 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:57.004987 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:58.042481 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 
 I would be happy to help troubleshoot this problem in any way possible.
 
 Thanks,
 Jeff
 
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"


Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]

2008-09-02 Thread linimon
Old Synopsis: ipv6 does not work on carp interfaces
New Synopsis: [carp] ipv6 does not work on carp interfaces [regression]

Responsible-Changed-From-To: freebsd-bugs->freebsd-net
Responsible-Changed-By: linimon
Responsible-Changed-When: Tue Sep 2 22:37:07 UTC 2008
Responsible-Changed-Why: 
Over to maintainer(s).

http://www.freebsd.org/cgi/query-pr.cgi?pr=127050
___
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"