diff options
Diffstat (limited to 'net/ipv4/ipip.c')
| -rw-r--r-- | net/ipv4/ipip.c | 62 | 
1 files changed, 3 insertions, 59 deletions
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 123ea63a04cb..180f9daf5bec 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c @@ -417,29 +417,7 @@ static void ipip_netlink_parms(struct nlattr *data[],  	if (!data)  		return; -	if (data[IFLA_IPTUN_LINK]) -		parms->link = nla_get_u32(data[IFLA_IPTUN_LINK]); - -	if (data[IFLA_IPTUN_LOCAL]) -		parms->iph.saddr = nla_get_in_addr(data[IFLA_IPTUN_LOCAL]); - -	if (data[IFLA_IPTUN_REMOTE]) -		parms->iph.daddr = nla_get_in_addr(data[IFLA_IPTUN_REMOTE]); - -	if (data[IFLA_IPTUN_TTL]) { -		parms->iph.ttl = nla_get_u8(data[IFLA_IPTUN_TTL]); -		if (parms->iph.ttl) -			parms->iph.frag_off = htons(IP_DF); -	} - -	if (data[IFLA_IPTUN_TOS]) -		parms->iph.tos = nla_get_u8(data[IFLA_IPTUN_TOS]); - -	if (data[IFLA_IPTUN_PROTO]) -		parms->iph.protocol = nla_get_u8(data[IFLA_IPTUN_PROTO]); - -	if (!data[IFLA_IPTUN_PMTUDISC] || nla_get_u8(data[IFLA_IPTUN_PMTUDISC])) -		parms->iph.frag_off = htons(IP_DF); +	ip_tunnel_netlink_parms(data, parms);  	if (data[IFLA_IPTUN_COLLECT_METADATA])  		*collect_md = true; @@ -448,40 +426,6 @@ static void ipip_netlink_parms(struct nlattr *data[],  		*fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);  } -/* This function returns true when ENCAP attributes are present in the nl msg */ -static bool ipip_netlink_encap_parms(struct nlattr *data[], -				     struct ip_tunnel_encap *ipencap) -{ -	bool ret = false; - -	memset(ipencap, 0, sizeof(*ipencap)); - -	if (!data) -		return ret; - -	if (data[IFLA_IPTUN_ENCAP_TYPE]) { -		ret = true; -		ipencap->type = nla_get_u16(data[IFLA_IPTUN_ENCAP_TYPE]); -	} - -	if (data[IFLA_IPTUN_ENCAP_FLAGS]) { -		ret = true; -		ipencap->flags = nla_get_u16(data[IFLA_IPTUN_ENCAP_FLAGS]); -	} - -	if (data[IFLA_IPTUN_ENCAP_SPORT]) { -		ret = true; -		ipencap->sport = nla_get_be16(data[IFLA_IPTUN_ENCAP_SPORT]); -	} - -	if (data[IFLA_IPTUN_ENCAP_DPORT]) { -		ret = true; -		ipencap->dport = nla_get_be16(data[IFLA_IPTUN_ENCAP_DPORT]); -	} - -	return ret; -} -  static int ipip_newlink(struct net *src_net, struct net_device *dev,  			struct nlattr *tb[], struct nlattr *data[],  			struct netlink_ext_ack *extack) @@ -491,7 +435,7 @@ static int ipip_newlink(struct net *src_net, struct net_device *dev,  	struct ip_tunnel_encap ipencap;  	__u32 fwmark = 0; -	if (ipip_netlink_encap_parms(data, &ipencap)) { +	if (ip_tunnel_netlink_encap_parms(data, &ipencap)) {  		int err = ip_tunnel_encap_setup(t, &ipencap);  		if (err < 0) @@ -512,7 +456,7 @@ static int ipip_changelink(struct net_device *dev, struct nlattr *tb[],  	bool collect_md;  	__u32 fwmark = t->fwmark; -	if (ipip_netlink_encap_parms(data, &ipencap)) { +	if (ip_tunnel_netlink_encap_parms(data, &ipencap)) {  		int err = ip_tunnel_encap_setup(t, &ipencap);  		if (err < 0)  |