http://www.usr.com/support/gpl/USR9107_release1.1.tar.gz
[bcm963xx.git] / kernel / linux / include / linux / netfilter_ipv4 / ip_conntrack_esp.h
1 /*****************************************************************************
2 //
3 //  Copyright (c) 2000-2002  Broadcom Corporation
4 //  All Rights Reserved
5 //  No portions of this material may be reproduced in any form without the
6 //  written permission of:
7 //          Broadcom Corporation
8 //          16215 Alton Parkway
9 //          Irvine, California 92619
10 //  All information contained in this document is Broadcom Corporation
11 //  company private, proprietary, and trade secret.
12 //
13 ******************************************************************************
14 //
15 //  Filename:       ip_conntrack_esp.h
16 //  Author:         Pavan Kumar
17 //  Creation Date:  05/27/04
18 //
19 //  Description:
20 //      Implements the ESP ALG connectiontracking data structures.
21 //
22 *****************************************************************************/
23 #ifndef _IP_CONNTRACK_ESP_H
24 #define _IP_CONNTRACK_ESP_H
25 /* FTP tracking. */
26
27 #ifndef __KERNEL__
28 #error Only in kernel.
29 #endif
30
31 #include <linux/netfilter_ipv4/lockhelp.h>
32
33 /* Protects ftp part of conntracks */
34 DECLARE_LOCK_EXTERN(ip_esp_lock);
35
36 struct esphdr {
37         u_int32_t spi;
38         u_int32_t seq;
39 };
40
41 /* This structure is per expected connection */
42 struct ip_ct_esp_expect
43 {
44         /* We record spi and source IP address: all in
45          * host order. */
46
47         u_int32_t spi;     /* Security Parameter Identifier */
48         u_int32_t saddr;   /* source IP address in the orig dir */
49         u_int32_t daddr;   /* remote IP address in the orig dir */
50 };
51
52 /* This structure exists only once per master */
53 struct ip_ct_esp_master {
54         u_int32_t spi;
55         u_int32_t saddr;
56         u_int32_t daddr;
57 };
58
59 #endif /* _IP_CONNTRACK_ESP_H */