root/include/net/netfilter/nf_conntrack_seqadj.h

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

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. nfct_seqadj
  2. nfct_seqadj_ext_add

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _NF_CONNTRACK_SEQADJ_H
   3 #define _NF_CONNTRACK_SEQADJ_H
   4 
   5 #include <net/netfilter/nf_conntrack_extend.h>
   6 
   7 /**
   8  * struct nf_ct_seqadj - sequence number adjustment information
   9  *
  10  * @correction_pos: position of the last TCP sequence number modification
  11  * @offset_before: sequence number offset before last modification
  12  * @offset_after: sequence number offset after last modification
  13  */
  14 struct nf_ct_seqadj {
  15         u32             correction_pos;
  16         s32             offset_before;
  17         s32             offset_after;
  18 };
  19 
  20 struct nf_conn_seqadj {
  21         struct nf_ct_seqadj     seq[IP_CT_DIR_MAX];
  22 };
  23 
  24 static inline struct nf_conn_seqadj *nfct_seqadj(const struct nf_conn *ct)
  25 {
  26         return nf_ct_ext_find(ct, NF_CT_EXT_SEQADJ);
  27 }
  28 
  29 static inline struct nf_conn_seqadj *nfct_seqadj_ext_add(struct nf_conn *ct)
  30 {
  31         return nf_ct_ext_add(ct, NF_CT_EXT_SEQADJ, GFP_ATOMIC);
  32 }
  33 
  34 int nf_ct_seqadj_init(struct nf_conn *ct, enum ip_conntrack_info ctinfo,
  35                       s32 off);
  36 int nf_ct_seqadj_set(struct nf_conn *ct, enum ip_conntrack_info ctinfo,
  37                      __be32 seq, s32 off);
  38 void nf_ct_tcp_seqadj_set(struct sk_buff *skb, struct nf_conn *ct,
  39                           enum ip_conntrack_info ctinfo, s32 off);
  40 
  41 int nf_ct_seq_adjust(struct sk_buff *skb, struct nf_conn *ct,
  42                      enum ip_conntrack_info ctinfo, unsigned int protoff);
  43 s32 nf_ct_seq_offset(const struct nf_conn *ct, enum ip_conntrack_dir, u32 seq);
  44 
  45 int nf_conntrack_seqadj_init(void);
  46 void nf_conntrack_seqadj_fini(void);
  47 
  48 #endif /* _NF_CONNTRACK_SEQADJ_H */

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