All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Gartrell <agartrell@fb.com>
To: Julian Anastasov <ja@ssi.bg>
Cc: horms@verge.net.au, lvs-devel@vger.kernel.org, kernel-team@fb.com
Subject: Re: [PATCH ipvs,v3 00/20] Support v6 real servers in v4 pools and vice versa
Date: Fri, 29 Aug 2014 00:07:46 -0700	[thread overview]
Message-ID: <540026C2.9050209@fb.com> (raw)
In-Reply-To: <alpine.LFD.2.11.1408281759150.1956@ja.home.ssi.bg>

On 8/28/14 8:15 AM, Julian Anastasov wrote:
>
> 	Hello,
>
> On Wed, 27 Aug 2014, Alex Gartrell wrote:
>
>> At Facebook we use ipip forwarding to deliver packets from our layer 4 ipvs
>> load balancers to our layer 7 proxies.  Today these layer 7 proxies are all
>> dual stacked, so we can simply send v4 over v4 and v6 over v6.  In the
>> future, we're going to have v6-only layer 7 load balancers (no internal v4
>> address).  To deal with this, we'll forward v4 packets in v6 tunnels.  This
>> patchset introduces the necessary functionality into ipvs.
>>
>> The noteworthy limitation of this is that it is not compatible with state
>> synchronization, so great care is taken to keep these things mutually
>> exclusive.
>>
>> This patchset includes changes that add an additional netlink attribute to
>> destinations and changes that plumb the destination address family through
>> parts of the code where it was assumed that it was the same as the service.
>> Finally, there's a change that updates the transmit functions for tunneling
>> to share common code and support v4 in v6 and vice versa.
>>
>> Changes for v2:
>>
>> Introduced crosses_local_route_boundary and update_pmtu functions and
>> conditionally do the ip_hdr operations.  The latter means that df will be
>> effectively zero when we forward an ipv6 packet over an ipv4 tunnel.
>>
>> Additionally, I addressed Julian's other statements.
>>
>> Changes for v3:
>>
>> added back the first two patches
>> checkpatch.pl all of the things
>> pull out the mtu changes
>> other previously detailed fixes
>
> 	I think, we are almost at the final:

Awesome :)

>
> Patch 5:
> 	- we can mix patch 5 and 6?

Yeah sure


>
> Patch 7:
> 	- I guess addr_type var should be in the
> 	'if (skb_af == AF_INET6) {' block. So, do not
> 	forget to compile next time with CONFIG_IP_VS_IPV6=n

I'll make sure I compile each patch with this option.

>
> Patch 9:
> 	- for ensure_mtu_is_adequate():
> 		- move 'struct netns_ipvs *ipvs' below, where ipvs is
> 		assigned
> 		- move 'struct net *net' below, where net is assigned

no problem

>
> Patch 10:
> 	- 'is'->'if' in
> 	/* We only care about the df field is sysctl_pmtu_disc(ipvs) is set */
>

Yeah

>
> 	After checking the cp->daddr usage I prepared
> a patch that we should insert somewhere before the last one.
> Attached.

I'm just going to make one small change: dbuf isn't declared without 
CONFIG_IP_VS_IPV6.

> Later we have to wait
> "ipvs: properly declare tunnel encapsulation" to appear in net-next.
>

No problem, it'll give me time to test it in our environment.


  reply	other threads:[~2014-08-29  7:07 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-28  5:43 [PATCH ipvs,v3 00/20] Support v6 real servers in v4 pools and vice versa Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 01/20] ipvs: Add destination address family to netlink interface Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 02/20] ipvs: Supply destination addr family to ip_vs_{lookup_dest,find_dest} Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 03/20] ipvs: Pass destination address family to ip_vs_trash_get_dest Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 04/20] ipvs: Supply destination address family to ip_vs_conn_new Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 05/20] ipvs: maintain a mixed_address_family_dest count Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 06/20] ipvs: prevent mixing heterogeneous pools and synchronization Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 07/20] ipvs: Pull out crosses_local_route_boundary logic Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 08/20] ipvs: Pull out update_pmtu code Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 09/20] ipvs: Add generic ensure_mtu_is_adequate to handle mixed pools Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 10/20] ipvs: support ipv4 in ipv6 and ipv6 in ipv4 tunnel forwarding Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 11/20] ipvs: address family of LBLC entry depends on svc family Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 12/20] ipvs: address family of LBLCR " Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 13/20] ipvs: use correct address family in DH logs Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 14/20] ipvs: use correct address family in LC logs Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 15/20] ipvs: use correct address family in NQ logs Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 16/20] ipvs: use correct address family in RR logs Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 17/20] ipvs: use correct address family in SED logs Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 18/20] ipvs: use correct address family in SH logs Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 19/20] ipvs: use correct address family in WLC logs Alex Gartrell
2014-08-28  5:43 ` [PATCH ipvs,v3 20/20] ipvs: Allow heterogeneous pools now that we support them Alex Gartrell
2014-08-28 15:15 ` [PATCH ipvs,v3 00/20] Support v6 real servers in v4 pools and vice versa Julian Anastasov
2014-08-29  7:07   ` Alex Gartrell [this message]
2014-08-29  7:36     ` Julian Anastasov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=540026C2.9050209@fb.com \
    --to=agartrell@fb.com \
    --cc=horms@verge.net.au \
    --cc=ja@ssi.bg \
    --cc=kernel-team@fb.com \
    --cc=lvs-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.