Use kernel headers from 2.6.20.y
Update kernel headers to be versions from 2.6.20.y Solve cross compile build problems with x_tables and netfilter. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
This commit is contained in:
parent
bac735c53a
commit
e309c5fa6a
|
|
@ -53,9 +53,7 @@ struct ifa_cacheinfo
|
|||
};
|
||||
|
||||
/* backwards compatibility for userspace */
|
||||
#ifndef __KERNEL__
|
||||
#define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
|
||||
#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -83,10 +83,8 @@ enum
|
|||
#define IFLA_MAX (__IFLA_MAX - 1)
|
||||
|
||||
/* backwards compatibility for userspace */
|
||||
#ifndef __KERNEL__
|
||||
#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
|
||||
#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
|
||||
#endif
|
||||
|
||||
/* ifi_flags.
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,122 @@
|
|||
#ifndef _X_TABLES_H
|
||||
#define _X_TABLES_H
|
||||
|
||||
#define XT_FUNCTION_MAXNAMELEN 30
|
||||
#define XT_TABLE_MAXNAMELEN 32
|
||||
|
||||
struct xt_entry_match
|
||||
{
|
||||
union {
|
||||
struct {
|
||||
u_int16_t match_size;
|
||||
|
||||
/* Used by userspace */
|
||||
char name[XT_FUNCTION_MAXNAMELEN-1];
|
||||
|
||||
u_int8_t revision;
|
||||
} user;
|
||||
struct {
|
||||
u_int16_t match_size;
|
||||
|
||||
/* Used inside the kernel */
|
||||
struct xt_match *match;
|
||||
} kernel;
|
||||
|
||||
/* Total length */
|
||||
u_int16_t match_size;
|
||||
} u;
|
||||
|
||||
unsigned char data[0];
|
||||
};
|
||||
|
||||
struct xt_entry_target
|
||||
{
|
||||
union {
|
||||
struct {
|
||||
u_int16_t target_size;
|
||||
|
||||
/* Used by userspace */
|
||||
char name[XT_FUNCTION_MAXNAMELEN-1];
|
||||
|
||||
u_int8_t revision;
|
||||
} user;
|
||||
struct {
|
||||
u_int16_t target_size;
|
||||
|
||||
/* Used inside the kernel */
|
||||
struct xt_target *target;
|
||||
} kernel;
|
||||
|
||||
/* Total length */
|
||||
u_int16_t target_size;
|
||||
} u;
|
||||
|
||||
unsigned char data[0];
|
||||
};
|
||||
|
||||
struct xt_standard_target
|
||||
{
|
||||
struct xt_entry_target target;
|
||||
int verdict;
|
||||
};
|
||||
|
||||
/* The argument to IPT_SO_GET_REVISION_*. Returns highest revision
|
||||
* kernel supports, if >= revision. */
|
||||
struct xt_get_revision
|
||||
{
|
||||
char name[XT_FUNCTION_MAXNAMELEN-1];
|
||||
|
||||
u_int8_t revision;
|
||||
};
|
||||
|
||||
/* CONTINUE verdict for targets */
|
||||
#define XT_CONTINUE 0xFFFFFFFF
|
||||
|
||||
/* For standard target */
|
||||
#define XT_RETURN (-NF_REPEAT - 1)
|
||||
|
||||
/* this is a dummy structure to find out the alignment requirement for a struct
|
||||
* containing all the fundamental data types that are used in ipt_entry,
|
||||
* ip6t_entry and arpt_entry. This sucks, and it is a hack. It will be my
|
||||
* personal pleasure to remove it -HW
|
||||
*/
|
||||
struct _xt_align
|
||||
{
|
||||
u_int8_t u8;
|
||||
u_int16_t u16;
|
||||
u_int32_t u32;
|
||||
u_int64_t u64;
|
||||
};
|
||||
|
||||
#define XT_ALIGN(s) (((s) + (__alignof__(struct _xt_align)-1)) \
|
||||
& ~(__alignof__(struct _xt_align)-1))
|
||||
|
||||
/* Standard return verdict, or do jump. */
|
||||
#define XT_STANDARD_TARGET ""
|
||||
/* Error verdict. */
|
||||
#define XT_ERROR_TARGET "ERROR"
|
||||
|
||||
#define SET_COUNTER(c,b,p) do { (c).bcnt = (b); (c).pcnt = (p); } while(0)
|
||||
#define ADD_COUNTER(c,b,p) do { (c).bcnt += (b); (c).pcnt += (p); } while(0)
|
||||
|
||||
struct xt_counters
|
||||
{
|
||||
u_int64_t pcnt, bcnt; /* Packet and byte counters */
|
||||
};
|
||||
|
||||
/* The argument to IPT_SO_ADD_COUNTERS. */
|
||||
struct xt_counters_info
|
||||
{
|
||||
/* Which table. */
|
||||
char name[XT_TABLE_MAXNAMELEN];
|
||||
|
||||
unsigned int num_counters;
|
||||
|
||||
/* The counters (actually `number' of these). */
|
||||
struct xt_counters counters[0];
|
||||
};
|
||||
|
||||
#define XT_INV_PROTO 0x40 /* Invert the sense of PROTO. */
|
||||
|
||||
|
||||
#endif /* _X_TABLES_H */
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
#ifndef __LINUX_IP_NETFILTER_H
|
||||
#define __LINUX_IP_NETFILTER_H
|
||||
|
||||
/* IPv4-specific defines for netfilter.
|
||||
* (C)1998 Rusty Russell -- This code is GPL.
|
||||
*/
|
||||
|
||||
#include <linux/netfilter.h>
|
||||
|
||||
/* only for userspace compatibility */
|
||||
/* IP Cache bits. */
|
||||
/* Src IP address. */
|
||||
#define NFC_IP_SRC 0x0001
|
||||
/* Dest IP address. */
|
||||
#define NFC_IP_DST 0x0002
|
||||
/* Input device. */
|
||||
#define NFC_IP_IF_IN 0x0004
|
||||
/* Output device. */
|
||||
#define NFC_IP_IF_OUT 0x0008
|
||||
/* TOS. */
|
||||
#define NFC_IP_TOS 0x0010
|
||||
/* Protocol. */
|
||||
#define NFC_IP_PROTO 0x0020
|
||||
/* IP options. */
|
||||
#define NFC_IP_OPTIONS 0x0040
|
||||
/* Frag & flags. */
|
||||
#define NFC_IP_FRAG 0x0080
|
||||
|
||||
/* Per-protocol information: only matters if proto match. */
|
||||
/* TCP flags. */
|
||||
#define NFC_IP_TCPFLAGS 0x0100
|
||||
/* Source port. */
|
||||
#define NFC_IP_SRC_PT 0x0200
|
||||
/* Dest port. */
|
||||
#define NFC_IP_DST_PT 0x0400
|
||||
/* Something else about the proto */
|
||||
#define NFC_IP_PROTO_UNKNOWN 0x2000
|
||||
|
||||
/* IP Hooks */
|
||||
/* After promisc drops, checksum checks. */
|
||||
#define NF_IP_PRE_ROUTING 0
|
||||
/* If the packet is destined for this box. */
|
||||
#define NF_IP_LOCAL_IN 1
|
||||
/* If the packet is destined for another interface. */
|
||||
#define NF_IP_FORWARD 2
|
||||
/* Packets coming from a local process. */
|
||||
#define NF_IP_LOCAL_OUT 3
|
||||
/* Packets about to hit the wire. */
|
||||
#define NF_IP_POST_ROUTING 4
|
||||
#define NF_IP_NUMHOOKS 5
|
||||
|
||||
enum nf_ip_hook_priorities {
|
||||
NF_IP_PRI_FIRST = INT_MIN,
|
||||
NF_IP_PRI_CONNTRACK_DEFRAG = -400,
|
||||
NF_IP_PRI_RAW = -300,
|
||||
NF_IP_PRI_SELINUX_FIRST = -225,
|
||||
NF_IP_PRI_CONNTRACK = -200,
|
||||
NF_IP_PRI_MANGLE = -150,
|
||||
NF_IP_PRI_NAT_DST = -100,
|
||||
NF_IP_PRI_FILTER = 0,
|
||||
NF_IP_PRI_NAT_SRC = 100,
|
||||
NF_IP_PRI_SELINUX_LAST = 225,
|
||||
NF_IP_PRI_CONNTRACK_HELPER = INT_MAX - 2,
|
||||
NF_IP_PRI_NAT_SEQ_ADJUST = INT_MAX - 1,
|
||||
NF_IP_PRI_CONNTRACK_CONFIRM = INT_MAX,
|
||||
NF_IP_PRI_LAST = INT_MAX,
|
||||
};
|
||||
|
||||
/* Arguments for setsockopt SOL_IP: */
|
||||
/* 2.0 firewalling went from 64 through 71 (and +256, +512, etc). */
|
||||
/* 2.2 firewalling (+ masq) went from 64 through 76 */
|
||||
/* 2.4 firewalling went 64 through 67. */
|
||||
#define SO_ORIGINAL_DST 80
|
||||
|
||||
|
||||
#endif /*__LINUX_IP_NETFILTER_H*/
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
#include <linux/netfilter/x_tables.h>
|
||||
|
||||
#define IPT_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
|
||||
#define IPT_TABLE_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
|
||||
#define IPT_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
|
||||
#define ipt_match xt_match
|
||||
#define ipt_target xt_target
|
||||
#define ipt_table xt_table
|
||||
|
|
|
|||
Loading…
Reference in New Issue