diff options
author | Sridhar Samudrala <sri@us.ibm.com> | 2009-07-09 10:10:01 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-07-12 23:29:28 +0200 |
commit | 7ea2f2c5a66e4e9a8d96296ac47ad895c467ee1d (patch) | |
tree | 3375f979fd62839465b8538fe658ab4f31b6e0f8 /include/net/ipv6.h | |
parent | udpv6: Fix gso_size setting in ip6_ufo_append_data (diff) | |
download | linux-7ea2f2c5a66e4e9a8d96296ac47ad895c467ee1d.tar.xz linux-7ea2f2c5a66e4e9a8d96296ac47ad895c467ee1d.zip |
udpv6: Remove unused skb argument of ipv6_select_ident()
- move ipv6_select_ident() inline function to ipv6.h and remove the unused
skb argument
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ipv6.h')
-rw-r--r-- | include/net/ipv6.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index f27fd83d67d8..ad9a51130254 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h @@ -441,6 +441,18 @@ static inline int ipv6_addr_diff(const struct in6_addr *a1, const struct in6_add return __ipv6_addr_diff(a1, a2, sizeof(struct in6_addr)); } +static __inline__ void ipv6_select_ident(struct frag_hdr *fhdr) +{ + static u32 ipv6_fragmentation_id = 1; + static DEFINE_SPINLOCK(ip6_id_lock); + + spin_lock_bh(&ip6_id_lock); + fhdr->identification = htonl(ipv6_fragmentation_id); + if (++ipv6_fragmentation_id == 0) + ipv6_fragmentation_id = 1; + spin_unlock_bh(&ip6_id_lock); +} + /* * Prototypes exported by ipv6 */ |