All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH ipvs,v4 00/20] Support v6 real servers in v4 pools and vice versa
@ 2014-08-29  8:38 Alex Gartrell
  2014-08-29  8:38 ` [PATCH ipvs,v4 01/20] ipvs: Add destination address family to netlink interface Alex Gartrell
                   ` (19 more replies)
  0 siblings, 20 replies; 28+ messages in thread
From: Alex Gartrell @ 2014-08-29  8:38 UTC (permalink / raw)
  To: horms; +Cc: ja, lvs-devel, kernel-team, Alex Gartrell

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

Changes for v4:

Fixed up small things, made it compile without ipv6

Alex Gartrell (10):
  ipvs: Add destination address family to netlink interface
  ipvs: Supply destination addr family to ip_vs_{lookup_dest,find_dest}
  ipvs: Pass destination address family to ip_vs_trash_get_dest
  ipvs: Supply destination address family to ip_vs_conn_new
  ipvs: prevent mixing heterogeneous pools and synchronization
  ipvs: Pull out crosses_local_route_boundary logic
  ipvs: Pull out update_pmtu code
  ipvs: Add generic ensure_mtu_is_adequate to handle mixed pools
  ipvs: support ipv4 in ipv6 and ipv6 in ipv4 tunnel forwarding
  ipvs: Allow heterogeneous pools now that we support them

Julian Anastasov (10):
  ipvs: address family of LBLC entry depends on svc family
  ipvs: address family of LBLCR entry depends on svc family
  ipvs: use correct address family in DH logs
  ipvs: use correct address family in LC logs
  ipvs: use correct address family in NQ logs
  ipvs: use correct address family in RR logs
  ipvs: use correct address family in SED logs
  ipvs: use correct address family in SH logs
  ipvs: use correct address family in WLC logs
  ipvs: use the new dest addr family field

 include/net/ip_vs.h                   |  15 +-
 include/uapi/linux/ip_vs.h            |   3 +
 net/netfilter/ipvs/ip_vs_conn.c       |  74 +++++--
 net/netfilter/ipvs/ip_vs_core.c       |  15 +-
 net/netfilter/ipvs/ip_vs_ctl.c        | 112 +++++++---
 net/netfilter/ipvs/ip_vs_dh.c         |   2 +-
 net/netfilter/ipvs/ip_vs_ftp.c        |   6 +-
 net/netfilter/ipvs/ip_vs_lblc.c       |  12 +-
 net/netfilter/ipvs/ip_vs_lblcr.c      |  12 +-
 net/netfilter/ipvs/ip_vs_lc.c         |   2 +-
 net/netfilter/ipvs/ip_vs_nq.c         |   3 +-
 net/netfilter/ipvs/ip_vs_proto_sctp.c |   2 +-
 net/netfilter/ipvs/ip_vs_proto_tcp.c  |   2 +-
 net/netfilter/ipvs/ip_vs_rr.c         |   2 +-
 net/netfilter/ipvs/ip_vs_sed.c        |   3 +-
 net/netfilter/ipvs/ip_vs_sh.c         |   8 +-
 net/netfilter/ipvs/ip_vs_sync.c       |  13 +-
 net/netfilter/ipvs/ip_vs_wlc.c        |   3 +-
 net/netfilter/ipvs/ip_vs_xmit.c       | 388 +++++++++++++++++++++-------------
 19 files changed, 453 insertions(+), 224 deletions(-)

-- 
1.8.1


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2014-09-10  6:05 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-29  8:38 [PATCH ipvs,v4 00/20] Support v6 real servers in v4 pools and vice versa Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 01/20] ipvs: Add destination address family to netlink interface Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 02/20] ipvs: Supply destination addr family to ip_vs_{lookup_dest,find_dest} Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 03/20] ipvs: Pass destination address family to ip_vs_trash_get_dest Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 04/20] ipvs: Supply destination address family to ip_vs_conn_new Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 05/20] ipvs: prevent mixing heterogeneous pools and synchronization Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 06/20] ipvs: Pull out crosses_local_route_boundary logic Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 07/20] ipvs: Pull out update_pmtu code Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 08/20] ipvs: Add generic ensure_mtu_is_adequate to handle mixed pools Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 09/20] ipvs: support ipv4 in ipv6 and ipv6 in ipv4 tunnel forwarding Alex Gartrell
2014-08-29  8:38 ` [PATCH ipvs,v4 10/20] ipvs: address family of LBLC entry depends on svc family Alex Gartrell
2014-08-29  8:39 ` [PATCH ipvs,v4 11/20] ipvs: address family of LBLCR " Alex Gartrell
2014-08-29  8:39 ` [PATCH ipvs,v4 12/20] ipvs: use correct address family in DH logs Alex Gartrell
2014-08-29  8:39 ` [PATCH ipvs,v4 13/20] ipvs: use correct address family in LC logs Alex Gartrell
2014-08-29  8:39 ` [PATCH ipvs,v4 14/20] ipvs: use correct address family in NQ logs Alex Gartrell
2014-08-29  8:39 ` [PATCH ipvs,v4 15/20] ipvs: use correct address family in RR logs Alex Gartrell
2014-08-29  8:39 ` [PATCH ipvs,v4 16/20] ipvs: use correct address family in SED logs Alex Gartrell
2014-08-29  8:39 ` [PATCH ipvs,v4 17/20] ipvs: use correct address family in SH logs Alex Gartrell
2014-08-29  8:39 ` [PATCH ipvs,v4 18/20] ipvs: use correct address family in WLC logs Alex Gartrell
2014-08-29  8:39 ` [PATCH ipvs,v4 19/20] ipvs: use the new dest addr family field Alex Gartrell
2014-08-29 10:32   ` Julian Anastasov
2014-08-29 21:19     ` Alex Gartrell
2014-08-30  8:35       ` Julian Anastasov
2014-09-01  1:17         ` Simon Horman
2014-09-09 19:41       ` Julian Anastasov
2014-09-09 23:22         ` Alex Gartrell
2014-09-10  6:05           ` Julian Anastasov
2014-08-29  8:39 ` [PATCH ipvs,v4 20/20] ipvs: Allow heterogeneous pools now that we support them Alex Gartrell

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.