kern/117000: [carp] CARP using address-less host NIC (carpdev)

SBrickey.Net - Me Me at sbrickey.net
Sun Oct 7 19:20:09 PDT 2007


The following reply was made to PR kern/117000; it has been noted by GNATS.

From: "SBrickey.Net - Me" <Me at sbrickey.net>
To: <bug-followup at FreeBSD.org>,
	"SBrickey.Net - Me" <Me at sbrickey.net>
Cc:  
Subject: Re: kern/117000: [carp] CARP using address-less host NIC (carpdev)
Date: Sun, 7 Oct 2007 22:04:43 -0400

 This is a multi-part message in MIME format.
 
 ------_=_NextPart_001_01C8094F.97A79F3F
 Content-Type: text/plain;
 	charset="us-ascii"
 Content-Transfer-Encoding: quoted-printable
 
 Remko,
 
 =20
 
 Apologies... CARP is a redundancy protocol in which (one or) multiple
 host computers participate in listening and responding from a virtual IP
 (similar to an alias, but the IP and its traffic is shared/split among
 the host computers)... allows for some REALLY redundant router
 configurations.
 
 =20
 
 The issue is that when CARP first came out (from OpenBSD), the virtual
 IP was created based on the IP/subnets of the hosts' physical NICs... so
 the virtual IP had to be within the network/subnet of the host NIC...
 From what little analysis I performed, it seemed that traffic would be
 transmitted with a source address of the host NIC (it would "listen" on
 the CARP address, but respond from the host NIC)... this requires that
 an address space of Host+CARP addresses be available on the desired
 network...
 
 This means that for small addresses (say single static IP's as are
 common in the small business sector), CARP is not an option as the
 networks are too "small" (few IP's) for the ISP's gateway to acknowledge
 the hosts.
 
 =20
 
 This is what was ported to FBSD...
 
 =20
 
 In the meantime, the OpenBSD team has responded to  this by adding a
 "carpdev" option to the interface which allows specifying the interface
 directly without referencing IP/subnet range... this allows the host NIC
 to remain IP-less, while supporting the virtual IP... allowing for CARP
 to function in limited environments such as single IP addresses.
 
 =20
 
 This update would be WONDERFUL to have in the FBSD port.
 
 If further clarification is necessary please feel free to say so.
 
 =20
 
 Thanks,
 
 -Scott
 
 
 ------_=_NextPart_001_01C8094F.97A79F3F
 Content-Type: text/html;
 	charset="us-ascii"
 Content-Transfer-Encoding: quoted-printable
 
 <html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
 xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
 xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
 xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
 xmlns=3D"http://www.w3.org/TR/REC-html40">
 
 <head>
 <meta http-equiv=3DContent-Type content=3D"text/html; =
 charset=3Dus-ascii">
 <meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
 <style>
 <!--
  /* Font Definitions */
  @font-face
 	{font-family:"Cambria Math";
 	panose-1:2 4 5 3 5 4 6 3 2 4;}
 @font-face
 	{font-family:Calibri;
 	panose-1:2 15 5 2 2 2 4 3 2 4;}
  /* Style Definitions */
  p.MsoNormal, li.MsoNormal, div.MsoNormal
 	{margin:0in;
 	margin-bottom:.0001pt;
 	font-size:11.0pt;
 	font-family:"Calibri","sans-serif";}
 a:link, span.MsoHyperlink
 	{mso-style-priority:99;
 	color:blue;
 	text-decoration:underline;}
 a:visited, span.MsoHyperlinkFollowed
 	{mso-style-priority:99;
 	color:purple;
 	text-decoration:underline;}
 span.EmailStyle17
 	{mso-style-type:personal-compose;
 	font-family:"Calibri","sans-serif";
 	color:windowtext;}
 .MsoChpDefault
 	{mso-style-type:export-only;}
 @page Section1
 	{size:8.5in 11.0in;
 	margin:1.0in 1.0in 1.0in 1.0in;}
 div.Section1
 	{page:Section1;}
 -->
 </style>
 <!--[if gte mso 9]><xml>
  <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
 </xml><![endif]--><!--[if gte mso 9]><xml>
  <o:shapelayout v:ext=3D"edit">
   <o:idmap v:ext=3D"edit" data=3D"1" />
  </o:shapelayout></xml><![endif]-->
 </head>
 
 <body lang=3DEN-US link=3Dblue vlink=3Dpurple>
 
 <div class=3DSection1>
 
 <p class=3DMsoNormal>Remko,<o:p></o:p></p>
 
 <p class=3DMsoNormal><o:p>&nbsp;</o:p></p>
 
 <p class=3DMsoNormal>Apologies&#8230; CARP is a redundancy protocol in =
 which (one
 or) multiple host computers participate in listening and responding from =
 a
 virtual IP (similar to an alias, but the IP and its traffic is =
 shared/split among
 the host computers)&#8230; allows for some REALLY redundant router
 configurations.<o:p></o:p></p>
 
 <p class=3DMsoNormal><o:p>&nbsp;</o:p></p>
 
 <p class=3DMsoNormal>The issue is that when CARP first came out (from =
 OpenBSD),
 the virtual IP was created based on the IP/subnets of the hosts&#8217; =
 physical
 NICs&#8230; so the virtual IP had to be within the network/subnet of the =
 host
 NIC&#8230; From what little analysis I performed, it seemed that traffic =
 would
 be transmitted with a source address of the host NIC (it would =
 &#8220;listen&#8221;
 on the CARP address, but respond from the host NIC)&#8230; this requires =
 that an
 address space of Host+CARP addresses be available on the desired =
 network&#8230;<o:p></o:p></p>
 
 <p class=3DMsoNormal>This means that for small addresses (say single =
 static IP&#8217;s
 as are common in the small business sector), CARP is not an option as =
 the
 networks are too &#8220;small&#8221; (few IP&#8217;s) for the =
 ISP&#8217;s
 gateway to acknowledge the hosts.<o:p></o:p></p>
 
 <p class=3DMsoNormal><o:p>&nbsp;</o:p></p>
 
 <p class=3DMsoNormal>This is what was ported to =
 FBSD&#8230;<o:p></o:p></p>
 
 <p class=3DMsoNormal><o:p>&nbsp;</o:p></p>
 
 <p class=3DMsoNormal>In the meantime, the OpenBSD team has responded to =
 &nbsp;this
 by adding a &#8220;carpdev&#8221; option to the interface which allows
 specifying the interface directly without referencing IP/subnet =
 range&#8230;
 this allows the host NIC to remain IP-less, while supporting the virtual =
 IP&#8230;
 allowing for CARP to function in limited environments such as single IP
 addresses.<o:p></o:p></p>
 
 <p class=3DMsoNormal><o:p>&nbsp;</o:p></p>
 
 <p class=3DMsoNormal>This update would be WONDERFUL to have in the FBSD =
 port.<o:p></o:p></p>
 
 <p class=3DMsoNormal>If further clarification is necessary please feel =
 free to
 say so.<o:p></o:p></p>
 
 <p class=3DMsoNormal><o:p>&nbsp;</o:p></p>
 
 <p class=3DMsoNormal>Thanks,<o:p></o:p></p>
 
 <p class=3DMsoNormal>-Scott<o:p></o:p></p>
 
 </div>
 
 </body>
 
 </html>
 
 ------_=_NextPart_001_01C8094F.97A79F3F--


More information about the freebsd-bugs mailing list