forked from luck/tmp_suning_uos_patched
ppp: Cache net in pptp_xmit
Compute net and store it in a variable in pptp_xmit, so that the value can be reused the next time it is needed. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
77589ce0f8
commit
a7093fefa5
|
@ -169,6 +169,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
struct sock *sk = (struct sock *) chan->private;
|
struct sock *sk = (struct sock *) chan->private;
|
||||||
struct pppox_sock *po = pppox_sk(sk);
|
struct pppox_sock *po = pppox_sk(sk);
|
||||||
|
struct net *net = sock_net(sk);
|
||||||
struct pptp_opt *opt = &po->proto.pptp;
|
struct pptp_opt *opt = &po->proto.pptp;
|
||||||
struct pptp_gre_header *hdr;
|
struct pptp_gre_header *hdr;
|
||||||
unsigned int header_len = sizeof(*hdr);
|
unsigned int header_len = sizeof(*hdr);
|
||||||
|
@ -187,7 +188,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
|
||||||
if (sk_pppox(po)->sk_state & PPPOX_DEAD)
|
if (sk_pppox(po)->sk_state & PPPOX_DEAD)
|
||||||
goto tx_error;
|
goto tx_error;
|
||||||
|
|
||||||
rt = ip_route_output_ports(sock_net(sk), &fl4, NULL,
|
rt = ip_route_output_ports(net, &fl4, NULL,
|
||||||
opt->dst_addr.sin_addr.s_addr,
|
opt->dst_addr.sin_addr.s_addr,
|
||||||
opt->src_addr.sin_addr.s_addr,
|
opt->src_addr.sin_addr.s_addr,
|
||||||
0, 0, IPPROTO_GRE,
|
0, 0, IPPROTO_GRE,
|
||||||
|
@ -279,7 +280,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
|
||||||
nf_reset(skb);
|
nf_reset(skb);
|
||||||
|
|
||||||
skb->ip_summed = CHECKSUM_NONE;
|
skb->ip_summed = CHECKSUM_NONE;
|
||||||
ip_select_ident(sock_net(sk), skb, NULL);
|
ip_select_ident(net, skb, NULL);
|
||||||
ip_send_check(iph);
|
ip_send_check(iph);
|
||||||
|
|
||||||
ip_local_out(skb->sk, skb);
|
ip_local_out(skb->sk, skb);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user