Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
net
netfilter
nf_nat_l3proto.h
Go to the documentation of this file.
1
#ifndef _NF_NAT_L3PROTO_H
2
#define _NF_NAT_L3PROTO_H
3
4
struct
nf_nat_l4proto
;
5
struct
nf_nat_l3proto
{
6
u8
l3proto
;
7
8
bool
(*
in_range
)(
const
struct
nf_conntrack_tuple
*
t
,
9
const
struct
nf_nat_range
*
range
);
10
11
u32
(*
secure_port
)(
const
struct
nf_conntrack_tuple
*
t
,
__be16
);
12
13
bool
(*
manip_pkt
)(
struct
sk_buff
*
skb
,
14
unsigned
int
iphdroff,
15
const
struct
nf_nat_l4proto
*
l4proto
,
16
const
struct
nf_conntrack_tuple
*
target
,
17
enum
nf_nat_manip_type
maniptype);
18
19
void
(*
csum_update
)(
struct
sk_buff
*
skb
,
unsigned
int
iphdroff,
20
__sum16
*
check
,
21
const
struct
nf_conntrack_tuple
*
t
,
22
enum
nf_nat_manip_type
maniptype);
23
24
void
(*
csum_recalc
)(
struct
sk_buff
*
skb
,
u8
proto
,
25
void
*
data
,
__sum16
*
check
,
26
int
datalen
,
int
oldlen);
27
28
void
(*
decode_session
)(
struct
sk_buff
*
skb
,
29
const
struct
nf_conn
*
ct
,
30
enum
ip_conntrack_dir
dir
,
31
unsigned
long
statusbit,
32
struct
flowi
*
fl
);
33
34
int
(*
nlattr_to_range
)(
struct
nlattr
*
tb
[],
35
struct
nf_nat_range
*
range
);
36
};
37
38
extern
int
nf_nat_l3proto_register
(
const
struct
nf_nat_l3proto
*);
39
extern
void
nf_nat_l3proto_unregister
(
const
struct
nf_nat_l3proto
*);
40
extern
const
struct
nf_nat_l3proto
*
__nf_nat_l3proto_find
(
u8
l3proto
);
41
42
extern
int
nf_nat_icmp_reply_translation
(
struct
sk_buff
*
skb
,
43
struct
nf_conn
*
ct
,
44
enum
ip_conntrack_info
ctinfo,
45
unsigned
int
hooknum
);
46
extern
int
nf_nat_icmpv6_reply_translation
(
struct
sk_buff
*
skb
,
47
struct
nf_conn
*
ct
,
48
enum
ip_conntrack_info
ctinfo,
49
unsigned
int
hooknum
,
50
unsigned
int
hdrlen
);
51
52
#endif
/* _NF_NAT_L3PROTO_H */
Generated on Thu Jan 10 2013 14:53:12 for Linux Kernel by
1.8.2