linux/include/linux/netfilter/nf_conntrack_common.h
<<
>>
Prefs
   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
   8struct 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
  26struct nf_conntrack {
  27        atomic_t use;
  28};
  29
  30void nf_conntrack_destroy(struct nf_conntrack *nfct);
  31static 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}
  36static 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 */
  43