diff options
author | Willem de Bruijn <willemb@google.com> | 2018-07-06 16:12:55 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-07 03:58:49 +0200 |
commit | b515430ac9c25d5192cf498af3c6be6c4f51caad (patch) | |
tree | b11ac766cd06f15c8eb9ae83d4cb96fecef97342 /include | |
parent | ipv4: ipcm_cookie initializers (diff) | |
download | linux-b515430ac9c25d5192cf498af3c6be6c4f51caad.tar.xz linux-b515430ac9c25d5192cf498af3c6be6c4f51caad.zip |
ipv6: ipcm6_cookie initializer
Initialize the cookie in one location to reduce code duplication and
avoid bugs from inconsistent initialization, such as that fixed in
commit 9887cba19978 ("ip: limit use of gso_size to udp").
Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/ipv6.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index b7843e0b16ee..6cb247f54d4c 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h @@ -301,6 +301,25 @@ struct ipcm6_cookie { __u16 gso_size; }; +static inline void ipcm6_init(struct ipcm6_cookie *ipc6) +{ + *ipc6 = (struct ipcm6_cookie) { + .hlimit = -1, + .tclass = -1, + .dontfrag = -1, + }; +} + +static inline void ipcm6_init_sk(struct ipcm6_cookie *ipc6, + const struct ipv6_pinfo *np) +{ + *ipc6 = (struct ipcm6_cookie) { + .hlimit = -1, + .tclass = np->tclass, + .dontfrag = np->dontfrag, + }; +} + static inline struct ipv6_txoptions *txopt_get(const struct ipv6_pinfo *np) { struct ipv6_txoptions *opt; |