Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc18d37f authored by Alex Gartrell's avatar Alex Gartrell Committed by Simon Horman
Browse files

ipvs: Allow heterogeneous pools now that we support them



Remove the temporary consistency check and add a case statement to only
allow ipip mixed dests.

Signed-off-by: default avatarAlex Gartrell <agartrell@fb.com>
Acked-by: default avatarJulian Anastasov <ja@ssi.bg>
Signed-off-by: default avatarSimon Horman <horms@verge.net.au>
parent f18ae720
Loading
Loading
Loading
Loading
+20 −4
Original line number Diff line number Diff line
@@ -854,10 +854,6 @@ ip_vs_new_dest(struct ip_vs_service *svc, struct ip_vs_dest_user_kern *udest,

	EnterFunction(2);

	/* Temporary for consistency */
	if (udest->af != svc->af)
		return -EINVAL;

#ifdef CONFIG_IP_VS_IPV6
	if (udest->af == AF_INET6) {
		atype = ipv6_addr_type(&udest->addr.in6);
@@ -3403,6 +3399,26 @@ static int ip_vs_genl_set_cmd(struct sk_buff *skb, struct genl_info *info)
		 */
		if (udest.af == 0)
			udest.af = svc->af;

		if (udest.af != svc->af) {
			/* The synchronization protocol is incompatible
			 * with mixed family services
			 */
			if (net_ipvs(net)->sync_state) {
				ret = -EINVAL;
				goto out;
			}

			/* Which connection types do we support? */
			switch (udest.conn_flags) {
			case IP_VS_CONN_F_TUNNEL:
				/* We are able to forward this */
				break;
			default:
				ret = -EINVAL;
				goto out;
			}
		}
	}

	switch (cmd) {