Commit e2cb77db authored by Eric W. Biederman's avatar Eric W. Biederman Committed by David S. Miller
Browse files

ipv4: Merge ip_local_out and ip_local_out_sk



It is confusing and silly hiding a parameter so modify all of
the callers to pass in the appropriate socket or skb->sk if
no socket is known.

Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b92dacd4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -364,7 +364,7 @@ static int ipvlan_process_v4_outbound(struct sk_buff *skb)
	}
	skb_dst_drop(skb);
	skb_dst_set(skb, &rt->dst);
	err = ip_local_out(skb);
	err = ip_local_out(skb->sk, skb);
	if (unlikely(net_xmit_eval(err)))
		dev->stats.tx_errors++;
	else
+1 −1
Original line number Diff line number Diff line
@@ -282,7 +282,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
	ip_select_ident(sock_net(sk), skb, NULL);
	ip_send_check(iph);

	ip_local_out(skb);
	ip_local_out(skb->sk, skb);
	return 1;

tx_error:
+2 −2
Original line number Diff line number Diff line
@@ -76,7 +76,7 @@ static struct dst_entry *vrf_ip_check(struct dst_entry *dst, u32 cookie)

static int vrf_ip_local_out(struct sock *sk, struct sk_buff *skb)
{
	return ip_local_out_sk(sk, skb);
	return ip_local_out(sk, skb);
}

static unsigned int vrf_v4_mtu(const struct dst_entry *dst)
@@ -222,7 +222,7 @@ static netdev_tx_t vrf_process_v4_outbound(struct sk_buff *skb,
					       RT_SCOPE_LINK);
	}

	ret = ip_local_out(skb);
	ret = ip_local_out(skb->sk, skb);
	if (unlikely(net_xmit_eval(ret)))
		vrf_dev->stats.tx_errors++;
	else
+1 −5
Original line number Diff line number Diff line
@@ -113,11 +113,7 @@ int ip_do_fragment(struct net *net, struct sock *sk, struct sk_buff *skb,
		   int (*output)(struct net *, struct sock *, struct sk_buff *));
void ip_send_check(struct iphdr *ip);
int __ip_local_out(struct sock *sk, struct sk_buff *skb);
int ip_local_out_sk(struct sock *sk, struct sk_buff *skb);
static inline int ip_local_out(struct sk_buff *skb)
{
	return ip_local_out_sk(skb->sk, skb);
}
int ip_local_out(struct sock *sk, struct sk_buff *skb);

int ip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl);
void ip_init(void);
+2 −2
Original line number Diff line number Diff line
@@ -397,7 +397,7 @@ static int igmpv3_sendpack(struct sk_buff *skb)

	pig->csum = ip_compute_csum(igmp_hdr(skb), igmplen);

	return ip_local_out(skb);
	return ip_local_out(skb->sk, skb);
}

static int grec_size(struct ip_mc_list *pmc, int type, int gdel, int sdel)
@@ -739,7 +739,7 @@ static int igmp_send_report(struct in_device *in_dev, struct ip_mc_list *pmc,
	ih->group = group;
	ih->csum = ip_compute_csum((void *)ih, sizeof(struct igmphdr));

	return ip_local_out(skb);
	return ip_local_out(skb->sk, skb);
}

static void igmp_gq_timer_expire(unsigned long data)
Loading