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:
Patch 5:
- we can mix patch 5 and 6?
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
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
Patch 10:
- 'is'->'if' in
/* We only care about the df field is sysctl_pmtu_disc(ipvs) is set */
After checking the cp->daddr usage I prepared
a patch that we should insert somewhere before the last one.
Attached. Later we have to wait
"ipvs: properly declare tunnel encapsulation" to appear in net-next.
Regards
--
Julian Anastasov <ja@xxxxxx>
0001-ipvs-use-the-new-dest-addr-family-field.txt
Description: Use daf
|