mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 10:29:37 +00:00
![Harald Welte](/assets/img/avatar_default.png)
This monster-patch tries to do the best job for unifying the data structures and backend interfaces for the three evil clones ip_tables, ip6_tables and arp_tables. In an ideal world we would never have allowed this kind of copy+paste programming... but well, our world isn't (yet?) ideal. o introduce a new x_tables module o {ip,arp,ip6}_tables depend on this x_tables module o registration functions for tables, matches and targets are only wrappers around x_tables provided functions o all matches/targets that are used from ip_tables and ip6_tables are now implemented as xt_FOOBAR.c files and provide module aliases to ipt_FOOBAR and ip6t_FOOBAR o header files for xt_matches are in include/linux/netfilter/, include/linux/netfilter_{ipv4,ipv6} contains compatibility wrappers around the xt_FOOBAR.h headers Based on this patchset we're going to further unify the code, gradually getting rid of all the layer 3 specific assumptions. Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net>
36 lines
1.2 KiB
C
36 lines
1.2 KiB
C
#ifndef _XT_TCPUDP_H
|
|
#define _XT_TCPUDP_H
|
|
|
|
/* TCP matching stuff */
|
|
struct xt_tcp
|
|
{
|
|
u_int16_t spts[2]; /* Source port range. */
|
|
u_int16_t dpts[2]; /* Destination port range. */
|
|
u_int8_t option; /* TCP Option iff non-zero*/
|
|
u_int8_t flg_mask; /* TCP flags mask byte */
|
|
u_int8_t flg_cmp; /* TCP flags compare byte */
|
|
u_int8_t invflags; /* Inverse flags */
|
|
};
|
|
|
|
/* Values for "inv" field in struct ipt_tcp. */
|
|
#define XT_TCP_INV_SRCPT 0x01 /* Invert the sense of source ports. */
|
|
#define XT_TCP_INV_DSTPT 0x02 /* Invert the sense of dest ports. */
|
|
#define XT_TCP_INV_FLAGS 0x04 /* Invert the sense of TCP flags. */
|
|
#define XT_TCP_INV_OPTION 0x08 /* Invert the sense of option test. */
|
|
#define XT_TCP_INV_MASK 0x0F /* All possible flags. */
|
|
|
|
/* UDP matching stuff */
|
|
struct xt_udp
|
|
{
|
|
u_int16_t spts[2]; /* Source port range. */
|
|
u_int16_t dpts[2]; /* Destination port range. */
|
|
u_int8_t invflags; /* Inverse flags */
|
|
};
|
|
|
|
/* Values for "invflags" field in struct ipt_udp. */
|
|
#define XT_UDP_INV_SRCPT 0x01 /* Invert the sense of source ports. */
|
|
#define XT_UDP_INV_DSTPT 0x02 /* Invert the sense of dest ports. */
|
|
#define XT_UDP_INV_MASK 0x03 /* All possible flags. */
|
|
|
|
|
|
#endif
|