diff options
author | Tom Herbert <therbert@google.com> | 2014-05-23 11:47:19 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-05-23 16:28:53 -0400 |
commit | 28448b80456feafe07e2d05b6363b00f61f6171e (patch) | |
tree | ad45836de4e3bdb441a78f825d7f53ed8e8c7096 /net/ipx | |
parent | b26ba202e0500eb852e89499ece1b2deaa64c3a7 (diff) |
net: Split sk_no_check into sk_no_check_{rx,tx}
Define separate fields in the sock structure for configuring disabling
checksums in both TX and RX-- sk_no_check_tx and sk_no_check_rx.
The SO_NO_CHECK socket option only affects sk_no_check_tx. Also,
removed UDP_CSUM_* defines since they are no longer necessary.
Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipx')
-rw-r--r-- | net/ipx/af_ipx.c | 2 | ||||
-rw-r--r-- | net/ipx/ipx_route.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c index 41e4e93cb3aa..91729b807c7d 100644 --- a/net/ipx/af_ipx.c +++ b/net/ipx/af_ipx.c | |||
@@ -1353,7 +1353,7 @@ static int ipx_create(struct net *net, struct socket *sock, int protocol, | |||
1353 | 1353 | ||
1354 | sk_refcnt_debug_inc(sk); | 1354 | sk_refcnt_debug_inc(sk); |
1355 | sock_init_data(sock, sk); | 1355 | sock_init_data(sock, sk); |
1356 | sk->sk_no_check = 1; /* Checksum off by default */ | 1356 | sk->sk_no_check_tx = 1; /* Checksum off by default */ |
1357 | sock->ops = &ipx_dgram_ops; | 1357 | sock->ops = &ipx_dgram_ops; |
1358 | rc = 0; | 1358 | rc = 0; |
1359 | out: | 1359 | out: |
diff --git a/net/ipx/ipx_route.c b/net/ipx/ipx_route.c index c1f03185c5e1..67e7ad3d46b1 100644 --- a/net/ipx/ipx_route.c +++ b/net/ipx/ipx_route.c | |||
@@ -236,7 +236,8 @@ int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx, | |||
236 | } | 236 | } |
237 | 237 | ||
238 | /* Apply checksum. Not allowed on 802.3 links. */ | 238 | /* Apply checksum. Not allowed on 802.3 links. */ |
239 | if (sk->sk_no_check || intrfc->if_dlink_type == htons(IPX_FRAME_8023)) | 239 | if (sk->sk_no_check_tx || |
240 | intrfc->if_dlink_type == htons(IPX_FRAME_8023)) | ||
240 | ipx->ipx_checksum = htons(0xFFFF); | 241 | ipx->ipx_checksum = htons(0xFFFF); |
241 | else | 242 | else |
242 | ipx->ipx_checksum = ipx_cksum(ipx, len + sizeof(struct ipxhdr)); | 243 | ipx->ipx_checksum = ipx_cksum(ipx, len + sizeof(struct ipxhdr)); |