diff options
Diffstat (limited to 'net/ipv4/raw.c')
| -rw-r--r-- | net/ipv4/raw.c | 11 | 
1 files changed, 2 insertions, 9 deletions
| diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index abb3c9490c55..33df4d76db2d 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c @@ -381,6 +381,7 @@ static int raw_send_hdrinc(struct sock *sk, struct flowi4 *fl4,  	skb->priority = sk->sk_priority;  	skb->mark = sk->sk_mark; +	skb->tstamp = sockc->transmit_time;  	skb_dst_set(skb, &rt->dst);  	*rtp = NULL; @@ -561,13 +562,7 @@ static int raw_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)  		daddr = inet->inet_daddr;  	} -	ipc.sockc.tsflags = sk->sk_tsflags; -	ipc.addr = inet->inet_saddr; -	ipc.opt = NULL; -	ipc.tx_flags = 0; -	ipc.ttl = 0; -	ipc.tos = -1; -	ipc.oif = sk->sk_bound_dev_if; +	ipcm_init_sk(&ipc, inet);  	if (msg->msg_controllen) {  		err = ip_cmsg_send(sk, msg, &ipc, false); @@ -670,8 +665,6 @@ back_from_confirm:  				      &rt, msg->msg_flags, &ipc.sockc);  	 else { -		sock_tx_timestamp(sk, ipc.sockc.tsflags, &ipc.tx_flags); -  		if (!ipc.addr)  			ipc.addr = fl4.daddr;  		lock_sock(sk); |