OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [if_pppol2tp.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
/***************************************************************************
2
 * Linux PPP over L2TP (PPPoL2TP) Socket Implementation (RFC 2661)
3
 *
4
 * This file supplies definitions required by the PPP over L2TP driver
5
 * (l2tp_ppp.c).  All version information wrt this file is located in l2tp_ppp.c
6
 *
7
 * License:
8
 *              This program is free software; you can redistribute it and/or
9
 *              modify it under the terms of the GNU General Public License
10
 *              as published by the Free Software Foundation; either version
11
 *              2 of the License, or (at your option) any later version.
12
 *
13
 */
14
 
15
#ifndef __LINUX_IF_PPPOL2TP_H
16
#define __LINUX_IF_PPPOL2TP_H
17
 
18
#include <linux/types.h>
19
 
20
 
21
/* Structure used to connect() the socket to a particular tunnel UDP
22
 * socket over IPv4.
23
 */
24
struct pppol2tp_addr {
25
        __kernel_pid_t  pid;            /* pid that owns the fd.
26
                                         * 0 => current */
27
        int     fd;                     /* FD of UDP socket to use */
28
 
29
        struct sockaddr_in addr;        /* IP address and port to send to */
30
 
31
        __u16 s_tunnel, s_session;      /* For matching incoming packets */
32
        __u16 d_tunnel, d_session;      /* For sending outgoing packets */
33
};
34
 
35
/* Structure used to connect() the socket to a particular tunnel UDP
36
 * socket over IPv6.
37
 */
38
struct pppol2tpin6_addr {
39
        __kernel_pid_t  pid;            /* pid that owns the fd.
40
                                         * 0 => current */
41
        int     fd;                     /* FD of UDP socket to use */
42
 
43
        __u16 s_tunnel, s_session;      /* For matching incoming packets */
44
        __u16 d_tunnel, d_session;      /* For sending outgoing packets */
45
 
46
        struct sockaddr_in6 addr;       /* IP address and port to send to */
47
};
48
 
49
/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
50
 * bits. So we need a different sockaddr structure.
51
 */
52
struct pppol2tpv3_addr {
53
        __kernel_pid_t  pid;            /* pid that owns the fd.
54
                                         * 0 => current */
55
        int     fd;                     /* FD of UDP or IP socket to use */
56
 
57
        struct sockaddr_in addr;        /* IP address and port to send to */
58
 
59
        __u32 s_tunnel, s_session;      /* For matching incoming packets */
60
        __u32 d_tunnel, d_session;      /* For sending outgoing packets */
61
};
62
 
63
struct pppol2tpv3in6_addr {
64
        __kernel_pid_t  pid;            /* pid that owns the fd.
65
                                         * 0 => current */
66
        int     fd;                     /* FD of UDP or IP socket to use */
67
 
68
        __u32 s_tunnel, s_session;      /* For matching incoming packets */
69
        __u32 d_tunnel, d_session;      /* For sending outgoing packets */
70
 
71
        struct sockaddr_in6 addr;       /* IP address and port to send to */
72
};
73
 
74
/* Socket options:
75
 * DEBUG        - bitmask of debug message categories
76
 * SENDSEQ      - 0 => don't send packets with sequence numbers
77
 *                1 => send packets with sequence numbers
78
 * RECVSEQ      - 0 => receive packet sequence numbers are optional
79
 *                1 => drop receive packets without sequence numbers
80
 * LNSMODE      - 0 => act as LAC.
81
 *                1 => act as LNS.
82
 * REORDERTO    - reorder timeout (in millisecs). If 0, don't try to reorder.
83
 */
84
enum {
85
        PPPOL2TP_SO_DEBUG       = 1,
86
        PPPOL2TP_SO_RECVSEQ     = 2,
87
        PPPOL2TP_SO_SENDSEQ     = 3,
88
        PPPOL2TP_SO_LNSMODE     = 4,
89
        PPPOL2TP_SO_REORDERTO   = 5,
90
};
91
 
92
/* Debug message categories for the DEBUG socket option */
93
enum {
94
        PPPOL2TP_MSG_DEBUG      = (1 << 0),      /* verbose debug (if
95
                                                 * compiled in) */
96
        PPPOL2TP_MSG_CONTROL    = (1 << 1),     /* userspace - kernel
97
                                                 * interface */
98
        PPPOL2TP_MSG_SEQ        = (1 << 2),     /* sequence numbers */
99
        PPPOL2TP_MSG_DATA       = (1 << 3),     /* data packets */
100
};
101
 
102
 
103
 
104
#endif /* __LINUX_IF_PPPOL2TP_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.