libnetfilter_conntrack.h   libnetfilter_conntrack.h 
skipping to change at line 130 skipping to change at line 130
ATTR_SCTP_STATE = 52, /* u8 bits */ ATTR_SCTP_STATE = 52, /* u8 bits */
ATTR_SCTP_VTAG_ORIG, /* u32 bits */ ATTR_SCTP_VTAG_ORIG, /* u32 bits */
ATTR_SCTP_VTAG_REPL, /* u32 bits */ ATTR_SCTP_VTAG_REPL, /* u32 bits */
ATTR_HELPER_NAME, /* string (30 bytes max) */ ATTR_HELPER_NAME, /* string (30 bytes max) */
ATTR_DCCP_STATE = 56, /* u8 bits */ ATTR_DCCP_STATE = 56, /* u8 bits */
ATTR_DCCP_ROLE, /* u8 bits */ ATTR_DCCP_ROLE, /* u8 bits */
ATTR_DCCP_HANDSHAKE_SEQ, /* u64 bits */ ATTR_DCCP_HANDSHAKE_SEQ, /* u64 bits */
ATTR_TCP_WSCALE_ORIG, /* u8 bits */ ATTR_TCP_WSCALE_ORIG, /* u8 bits */
ATTR_TCP_WSCALE_REPL = 60, /* u8 bits */ ATTR_TCP_WSCALE_REPL = 60, /* u8 bits */
ATTR_ZONE, /* u16 bits */ ATTR_ZONE, /* u16 bits */
ATTR_SECCTX, /* string */
ATTR_TIMESTAMP_START, /* u64 bits, linux >= 2.6.38
*/
ATTR_TIMESTAMP_STOP = 64, /* u64 bits, linux >= 2.6.38
*/
ATTR_MAX ATTR_MAX
}; };
/* conntrack attribute groups */ /* conntrack attribute groups */
enum nf_conntrack_attr_grp { enum nf_conntrack_attr_grp {
ATTR_GRP_ORIG_IPV4 = 0, /* struct nfct_attr_grp_ipv4 */ ATTR_GRP_ORIG_IPV4 = 0, /* struct nfct_attr_grp_ipv4 */
ATTR_GRP_REPL_IPV4, /* struct nfct_attr_grp_ipv4 */ ATTR_GRP_REPL_IPV4, /* struct nfct_attr_grp_ipv4 */
ATTR_GRP_ORIG_IPV6, /* struct nfct_attr_grp_ipv6 */ ATTR_GRP_ORIG_IPV6, /* struct nfct_attr_grp_ipv6 */
ATTR_GRP_REPL_IPV6, /* struct nfct_attr_grp_ipv6 */ ATTR_GRP_REPL_IPV6, /* struct nfct_attr_grp_ipv6 */
ATTR_GRP_ORIG_PORT = 4, /* struct nfct_attr_grp_port */ ATTR_GRP_ORIG_PORT = 4, /* struct nfct_attr_grp_port */
skipping to change at line 199 skipping to change at line 202
}; };
/* constructor / destructor */ /* constructor / destructor */
extern struct nf_conntrack *nfct_new(void); extern struct nf_conntrack *nfct_new(void);
extern void nfct_destroy(struct nf_conntrack *ct); extern void nfct_destroy(struct nf_conntrack *ct);
/* clone */ /* clone */
struct nf_conntrack *nfct_clone(const struct nf_conntrack *ct); struct nf_conntrack *nfct_clone(const struct nf_conntrack *ct);
/* object size */ /* object size */
extern size_t nfct_sizeof(const struct nf_conntrack *ct); extern __attribute__((deprecated)) size_t nfct_sizeof(const struct nf_connt rack *ct);
/* maximum object size */ /* maximum object size */
extern size_t nfct_maxsize(void); extern __attribute__((deprecated)) size_t nfct_maxsize(void);
/* set option */ /* set option */
enum { enum {
NFCT_SOPT_UNDO_SNAT, NFCT_SOPT_UNDO_SNAT,
NFCT_SOPT_UNDO_DNAT, NFCT_SOPT_UNDO_DNAT,
NFCT_SOPT_UNDO_SPAT, NFCT_SOPT_UNDO_SPAT,
NFCT_SOPT_UNDO_DPAT, NFCT_SOPT_UNDO_DPAT,
NFCT_SOPT_SETUP_ORIGINAL, NFCT_SOPT_SETUP_ORIGINAL,
NFCT_SOPT_SETUP_REPLY, NFCT_SOPT_SETUP_REPLY,
__NFCT_SOPT_MAX, __NFCT_SOPT_MAX,
skipping to change at line 346 skipping to change at line 349
/* output flags */ /* output flags */
enum { enum {
NFCT_OF_SHOW_LAYER3_BIT = 0, NFCT_OF_SHOW_LAYER3_BIT = 0,
NFCT_OF_SHOW_LAYER3 = (1 << NFCT_OF_SHOW_LAYER3_BIT), NFCT_OF_SHOW_LAYER3 = (1 << NFCT_OF_SHOW_LAYER3_BIT),
NFCT_OF_TIME_BIT = 1, NFCT_OF_TIME_BIT = 1,
NFCT_OF_TIME = (1 << NFCT_OF_TIME_BIT), NFCT_OF_TIME = (1 << NFCT_OF_TIME_BIT),
NFCT_OF_ID_BIT = 2, NFCT_OF_ID_BIT = 2,
NFCT_OF_ID = (1 << NFCT_OF_ID_BIT), NFCT_OF_ID = (1 << NFCT_OF_ID_BIT),
NFCT_OF_TIMESTAMP_BIT = 3,
NFCT_OF_TIMESTAMP = (1 << NFCT_OF_TIMESTAMP_BIT),
}; };
extern int nfct_snprintf(char *buf, extern int nfct_snprintf(char *buf,
unsigned int size, unsigned int size,
const struct nf_conntrack *ct, const struct nf_conntrack *ct,
const unsigned int msg_type, const unsigned int msg_type,
const unsigned int out_type, const unsigned int out_type,
const unsigned int out_flags); const unsigned int out_flags);
/* comparison */ /* comparison */
skipping to change at line 404 skipping to change at line 410
const void *data); const void *data);
extern int nfct_catch(struct nfct_handle *h); extern int nfct_catch(struct nfct_handle *h);
/* copy */ /* copy */
enum { enum {
NFCT_CP_ALL = 0, NFCT_CP_ALL = 0,
NFCT_CP_ORIG = (1 << 0), NFCT_CP_ORIG = (1 << 0),
NFCT_CP_REPL = (1 << 1), NFCT_CP_REPL = (1 << 1),
NFCT_CP_META = (1 << 2), NFCT_CP_META = (1 << 2),
NFCT_CP_OVERRIDE = (1 << 3),
}; };
extern void nfct_copy(struct nf_conntrack *dest, extern void nfct_copy(struct nf_conntrack *dest,
const struct nf_conntrack *source, const struct nf_conntrack *source,
unsigned int flags); unsigned int flags);
extern void nfct_copy_attr(struct nf_conntrack *ct1, extern void nfct_copy_attr(struct nf_conntrack *ct1,
const struct nf_conntrack *ct2, const struct nf_conntrack *ct2,
const enum nf_conntrack_attr type); const enum nf_conntrack_attr type);
skipping to change at line 467 skipping to change at line 474
extern int nfct_filter_set_logic(struct nfct_filter *filter, extern int nfct_filter_set_logic(struct nfct_filter *filter,
const enum nfct_filter_attr attr, const enum nfct_filter_attr attr,
const enum nfct_filter_logic logic); const enum nfct_filter_logic logic);
extern int nfct_filter_attach(int fd, struct nfct_filter *filter); extern int nfct_filter_attach(int fd, struct nfct_filter *filter);
extern int nfct_filter_detach(int fd); extern int nfct_filter_detach(int fd);
/* low level API: netlink functions */ /* low level API: netlink functions */
extern int nfct_build_conntrack(struct nfnl_subsys_handle *ssh, extern __attribute__((deprecated)) int
nfct_build_conntrack(struct nfnl_subsys_handle *ssh,
void *req, void *req,
size_t size, size_t size,
u_int16_t type, u_int16_t type,
u_int16_t flags, u_int16_t flags,
const struct nf_conntrack *ct); const struct nf_conntrack *ct);
extern int nfct_parse_conntrack(enum nf_conntrack_msg_type msg, extern __attribute__((deprecated))
int nfct_parse_conntrack(enum nf_conntrack_msg_type msg,
const struct nlmsghdr *nlh, const struct nlmsghdr *nlh,
struct nf_conntrack *ct); struct nf_conntrack *ct);
extern int nfct_build_query(struct nfnl_subsys_handle *ssh, extern __attribute__((deprecated))
int nfct_build_query(struct nfnl_subsys_handle *ssh,
const enum nf_conntrack_query query, const enum nf_conntrack_query query,
const void *data, const void *data,
void *req, void *req,
unsigned int size); unsigned int size);
/* /*
* NEW expectation API * NEW expectation API
*/ */
/* expectation object */ /* expectation object */
struct nf_expect; struct nf_expect;
/* expect attributes */ /* expect attributes */
enum nf_expect_attr { enum nf_expect_attr {
ATTR_EXP_MASTER = 0, /* pointer to conntrack object */ ATTR_EXP_MASTER = 0, /* pointer to conntrack object */
ATTR_EXP_EXPECTED, /* pointer to conntrack object */ ATTR_EXP_EXPECTED, /* pointer to conntrack object */
ATTR_EXP_MASK, /* pointer to conntrack object */ ATTR_EXP_MASK, /* pointer to conntrack object */
ATTR_EXP_TIMEOUT, /* u32 bits */ ATTR_EXP_TIMEOUT, /* u32 bits */
ATTR_EXP_ZONE, /* u16 bits */
ATTR_EXP_FLAGS, /* u32 bits */
ATTR_EXP_MAX ATTR_EXP_MAX
}; };
/* constructor / destructor */ /* constructor / destructor */
extern struct nf_expect *nfexp_new(void); extern struct nf_expect *nfexp_new(void);
extern void nfexp_destroy(struct nf_expect *exp); extern void nfexp_destroy(struct nf_expect *exp);
/* clone */ /* clone */
extern struct nf_expect *nfexp_clone(const struct nf_expect *exp); extern struct nf_expect *nfexp_clone(const struct nf_expect *exp);
skipping to change at line 588 skipping to change at line 600
/* print */ /* print */
extern int nfexp_snprintf(char *buf, extern int nfexp_snprintf(char *buf,
unsigned int size, unsigned int size,
const struct nf_expect *exp, const struct nf_expect *exp,
const unsigned int msg_type, const unsigned int msg_type,
const unsigned int out_type, const unsigned int out_type,
const unsigned int out_flags); const unsigned int out_flags);
extern int nfexp_catch(struct nfct_handle *h); extern int nfexp_catch(struct nfct_handle *h);
/* low level API */
extern __attribute__((deprecated))
int nfexp_build_expect(struct nfnl_subsys_handle *ssh,
void *req,
size_t size,
u_int16_t type,
u_int16_t flags,
const struct nf_expect *exp);
extern __attribute__((deprecated))
int nfexp_parse_expect(enum nf_conntrack_msg_type type,
const struct nlmsghdr *nlh,
struct nf_expect *exp);
extern __attribute__((deprecated))
int nfexp_build_query(struct nfnl_subsys_handle *ssh,
const enum nf_conntrack_query qt,
const void *data,
void *buffer,
unsigned int size);
/* Bitset representing status of connection. Taken from ip_conntrack.h /* Bitset representing status of connection. Taken from ip_conntrack.h
* *
* Note: For backward compatibility this shouldn't ever change * Note: For backward compatibility this shouldn't ever change
* in kernel space. * in kernel space.
*/ */
enum ip_conntrack_status { enum ip_conntrack_status {
/* It's an expected connection: bit 0 set. This bit never changed * / /* It's an expected connection: bit 0 set. This bit never changed * /
IPS_EXPECTED_BIT = 0, IPS_EXPECTED_BIT = 0,
IPS_EXPECTED = (1 << IPS_EXPECTED_BIT), IPS_EXPECTED = (1 << IPS_EXPECTED_BIT),
skipping to change at line 639 skipping to change at line 672
IPS_DST_NAT_DONE_BIT = 8, IPS_DST_NAT_DONE_BIT = 8,
IPS_DST_NAT_DONE = (1 << IPS_DST_NAT_DONE_BIT), IPS_DST_NAT_DONE = (1 << IPS_DST_NAT_DONE_BIT),
/* Both together */ /* Both together */
IPS_NAT_DONE_MASK = (IPS_DST_NAT_DONE | IPS_SRC_NAT_DONE), IPS_NAT_DONE_MASK = (IPS_DST_NAT_DONE | IPS_SRC_NAT_DONE),
/* Connection is dying (removed from lists), can not be unset. */ /* Connection is dying (removed from lists), can not be unset. */
IPS_DYING_BIT = 9, IPS_DYING_BIT = 9,
IPS_DYING = (1 << IPS_DYING_BIT), IPS_DYING = (1 << IPS_DYING_BIT),
/* Connection has fixed timeout. */ /* Connection has fixed timeout. */
IPS_FIXED_TIMEOUT_BIT = 10, IPS_FIXED_TIMEOUT_BIT = 10,
IPS_FIXED_TIMEOUT = (1 << IPS_FIXED_TIMEOUT_BIT), IPS_FIXED_TIMEOUT = (1 << IPS_FIXED_TIMEOUT_BIT),
/* Conntrack is a template */
IPS_TEMPLATE_BIT = 11,
IPS_TEMPLATE = (1 << IPS_TEMPLATE_BIT),
/* Conntrack is a fake untracked entry */
IPS_UNTRACKED_BIT = 12,
IPS_UNTRACKED = (1 << IPS_UNTRACKED_BIT),
}; };
/* expectation flags */
#define NF_CT_EXPECT_PERMANENT 0x1
#define NF_CT_EXPECT_INACTIVE 0x2
#define NF_CT_EXPECT_USERSPACE 0x4
/* /*
* TCP flags * TCP flags
*/ */
/* Window scaling is advertised by the sender */ /* Window scaling is advertised by the sender */
#define IP_CT_TCP_FLAG_WINDOW_SCALE 0x01 #define IP_CT_TCP_FLAG_WINDOW_SCALE 0x01
/* SACK is permitted by the sender */ /* SACK is permitted by the sender */
#define IP_CT_TCP_FLAG_SACK_PERM 0x02 #define IP_CT_TCP_FLAG_SACK_PERM 0x02
 End of changes. 13 change blocks. 
6 lines changed or deleted 54 lines changed or added


 linux_nfnetlink_conntrack.h   linux_nfnetlink_conntrack.h 
skipping to change at line 45 skipping to change at line 45
CTA_TIMEOUT, CTA_TIMEOUT,
CTA_MARK, CTA_MARK,
CTA_COUNTERS_ORIG, CTA_COUNTERS_ORIG,
CTA_COUNTERS_REPLY, CTA_COUNTERS_REPLY,
CTA_USE, CTA_USE,
CTA_ID, CTA_ID,
CTA_NAT_DST, CTA_NAT_DST,
CTA_TUPLE_MASTER, CTA_TUPLE_MASTER,
CTA_NAT_SEQ_ADJ_ORIG, CTA_NAT_SEQ_ADJ_ORIG,
CTA_NAT_SEQ_ADJ_REPLY, CTA_NAT_SEQ_ADJ_REPLY,
CTA_SECMARK, CTA_SECMARK, /* obsolete */
CTA_ZONE, CTA_ZONE,
CTA_SECCTX,
CTA_TIMESTAMP,
__CTA_MAX __CTA_MAX
}; };
#define CTA_MAX (__CTA_MAX - 1) #define CTA_MAX (__CTA_MAX - 1)
enum ctattr_tuple { enum ctattr_tuple {
CTA_TUPLE_UNSPEC, CTA_TUPLE_UNSPEC,
CTA_TUPLE_IP, CTA_TUPLE_IP,
CTA_TUPLE_PROTO, CTA_TUPLE_PROTO,
__CTA_TUPLE_MAX __CTA_TUPLE_MAX
}; };
skipping to change at line 108 skipping to change at line 110
CTA_PROTOINFO_TCP_FLAGS_ORIGINAL, CTA_PROTOINFO_TCP_FLAGS_ORIGINAL,
CTA_PROTOINFO_TCP_FLAGS_REPLY, CTA_PROTOINFO_TCP_FLAGS_REPLY,
__CTA_PROTOINFO_TCP_MAX __CTA_PROTOINFO_TCP_MAX
}; };
#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1) #define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1)
enum ctattr_protoinfo_dccp { enum ctattr_protoinfo_dccp {
CTA_PROTOINFO_DCCP_UNSPEC, CTA_PROTOINFO_DCCP_UNSPEC,
CTA_PROTOINFO_DCCP_STATE, CTA_PROTOINFO_DCCP_STATE,
CTA_PROTOINFO_DCCP_ROLE, CTA_PROTOINFO_DCCP_ROLE,
CTA_PROTOINFO_DCCP_SEQ, CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ,
__CTA_PROTOINFO_DCCP_MAX, __CTA_PROTOINFO_DCCP_MAX,
}; };
#define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1) #define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1)
enum ctattr_protoinfo_sctp { enum ctattr_protoinfo_sctp {
CTA_PROTOINFO_SCTP_UNSPEC, CTA_PROTOINFO_SCTP_UNSPEC,
CTA_PROTOINFO_SCTP_STATE, CTA_PROTOINFO_SCTP_STATE,
CTA_PROTOINFO_SCTP_VTAG_ORIGINAL, CTA_PROTOINFO_SCTP_VTAG_ORIGINAL,
CTA_PROTOINFO_SCTP_VTAG_REPLY, CTA_PROTOINFO_SCTP_VTAG_REPLY,
__CTA_PROTOINFO_SCTP_MAX __CTA_PROTOINFO_SCTP_MAX
skipping to change at line 132 skipping to change at line 134
enum ctattr_counters { enum ctattr_counters {
CTA_COUNTERS_UNSPEC, CTA_COUNTERS_UNSPEC,
CTA_COUNTERS_PACKETS, /* 64bit counters */ CTA_COUNTERS_PACKETS, /* 64bit counters */
CTA_COUNTERS_BYTES, /* 64bit counters */ CTA_COUNTERS_BYTES, /* 64bit counters */
CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */ CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */
CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */ CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */
__CTA_COUNTERS_MAX __CTA_COUNTERS_MAX
}; };
#define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1) #define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
enum ctattr_tstamp {
CTA_TIMESTAMP_UNSPEC,
CTA_TIMESTAMP_START,
CTA_TIMESTAMP_STOP,
__CTA_TIMESTAMP_MAX
};
#define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1)
enum ctattr_nat { enum ctattr_nat {
CTA_NAT_UNSPEC, CTA_NAT_UNSPEC,
CTA_NAT_MINIP, CTA_NAT_MINIP,
CTA_NAT_MAXIP, CTA_NAT_MAXIP,
CTA_NAT_PROTO, CTA_NAT_PROTO,
__CTA_NAT_MAX __CTA_NAT_MAX
}; };
#define CTA_NAT_MAX (__CTA_NAT_MAX - 1) #define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
enum ctattr_protonat { enum ctattr_protonat {
skipping to change at line 166 skipping to change at line 176
#define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1) #define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1)
enum ctattr_expect { enum ctattr_expect {
CTA_EXPECT_UNSPEC, CTA_EXPECT_UNSPEC,
CTA_EXPECT_MASTER, CTA_EXPECT_MASTER,
CTA_EXPECT_TUPLE, CTA_EXPECT_TUPLE,
CTA_EXPECT_MASK, CTA_EXPECT_MASK,
CTA_EXPECT_TIMEOUT, CTA_EXPECT_TIMEOUT,
CTA_EXPECT_ID, CTA_EXPECT_ID,
CTA_EXPECT_HELP_NAME, CTA_EXPECT_HELP_NAME,
CTA_EXPECT_QUEUENR, CTA_EXPECT_ZONE,
CTA_EXPECT_FLAGS,
__CTA_EXPECT_MAX __CTA_EXPECT_MAX
}; };
#define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1) #define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
enum ctattr_help { enum ctattr_help {
CTA_HELP_UNSPEC, CTA_HELP_UNSPEC,
CTA_HELP_NAME, CTA_HELP_NAME,
__CTA_HELP_MAX __CTA_HELP_MAX
}; };
#define CTA_HELP_MAX (__CTA_HELP_MAX - 1) #define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
enum ctattr_secctx {
CTA_SECCTX_UNSPEC,
CTA_SECCTX_NAME,
__CTA_SECCTX_MAX
};
#define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1)
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _IPCONNTRACK_NETLINK_H */ #endif /* _IPCONNTRACK_NETLINK_H */
 End of changes. 6 change blocks. 
3 lines changed or deleted 21 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/