root/include/linux/netfilter/nf_conntrack_common.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. nf_conntrack_put
  2. nf_conntrack_get

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _NF_CONNTRACK_COMMON_H
   3 #define _NF_CONNTRACK_COMMON_H
   4 
   5 #include <linux/atomic.h>
   6 #include <uapi/linux/netfilter/nf_conntrack_common.h>
   7 
   8 struct ip_conntrack_stat {
   9         unsigned int found;
  10         unsigned int invalid;
  11         unsigned int ignore;
  12         unsigned int insert;
  13         unsigned int insert_failed;
  14         unsigned int drop;
  15         unsigned int early_drop;
  16         unsigned int error;
  17         unsigned int expect_new;
  18         unsigned int expect_create;
  19         unsigned int expect_delete;
  20         unsigned int search_restart;
  21 };
  22 
  23 #define NFCT_INFOMASK   7UL
  24 #define NFCT_PTRMASK    ~(NFCT_INFOMASK)
  25 
  26 struct nf_conntrack {
  27         atomic_t use;
  28 };
  29 
  30 void nf_conntrack_destroy(struct nf_conntrack *nfct);
  31 static inline void nf_conntrack_put(struct nf_conntrack *nfct)
  32 {
  33         if (nfct && atomic_dec_and_test(&nfct->use))
  34                 nf_conntrack_destroy(nfct);
  35 }
  36 static inline void nf_conntrack_get(struct nf_conntrack *nfct)
  37 {
  38         if (nfct)
  39                 atomic_inc(&nfct->use);
  40 }
  41 
  42 #endif /* _NF_CONNTRACK_COMMON_H */

/* [<][>][^][v][top][bottom][index][help] */