diff options
author | Tom Herbert <therbert@google.com> | 2015-01-05 21:56:14 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-01-06 03:44:46 (GMT) |
commit | 224d019c4fbba242041e9b25a926ba873b7da1e2 (patch) | |
tree | 8597050c1dad2107ee9acf229dfdbb85c0edcb52 /include/net/inet_sock.h | |
parent | 149118d89355fb0e1a898f47977f8ae9be8e14e7 (diff) | |
download | linux-224d019c4fbba242041e9b25a926ba873b7da1e2.tar.xz |
ip: Move checksum convert defines to inet
Move convert_csum from udp_sock to inet_sock. This allows the
possibility that we can use convert checksum for different types
of sockets and also allows convert checksum to be enabled from
inet layer (what we'll want to do when enabling IP_CHECKSUM cmsg).
Signed-off-by: Tom Herbert <therbert@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/inet_sock.h')
-rw-r--r-- | include/net/inet_sock.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h index a829b77..360b110 100644 --- a/include/net/inet_sock.h +++ b/include/net/inet_sock.h @@ -184,6 +184,7 @@ struct inet_sock { mc_all:1, nodefrag:1; __u8 rcv_tos; + __u8 convert_csum; int uc_index; int mc_index; __be32 mc_addr; @@ -250,4 +251,20 @@ static inline __u8 inet_sk_flowi_flags(const struct sock *sk) return flags; } +static inline void inet_inc_convert_csum(struct sock *sk) +{ + inet_sk(sk)->convert_csum++; +} + +static inline void inet_dec_convert_csum(struct sock *sk) +{ + if (inet_sk(sk)->convert_csum > 0) + inet_sk(sk)->convert_csum--; +} + +static inline bool inet_get_convert_csum(struct sock *sk) +{ + return !!inet_sk(sk)->convert_csum; +} + #endif /* _INET_SOCK_H */ |