- 16 3月, 2013 11 次提交
-
-
由 Guillaume Nault 提交于
Define l2tp_session_place_call() which can start either an incomming or outgoing session depending on the 'sess->lns_mode' flag. This removes the need for testing session mode before calling l2tp_tunnel_start_session(). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Creating new sessions always involves the same steps: * Create new session context * Call session's first function in this context * Start session establishment timer This patch starts centralising the first two steps in l2tp_tunnel_confirm_session() (renamed l2tp_tunnel_start_session() in order to use similar ways for starting tunnels and sessions). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Handling ICRQ or OCRQ requests occurs in tunnel context, but if session creation is rejected, a CDN has to be sent. However, l2tp_send_CDN() is supposed to be called in session context. This means that it uselessly switches to tunnel context before sending messages and requires a session structure to work on. This patch creates a new function for sending CDN from tunnel context. It gets the session and peer session IDs from its arguments and calls l2tp_tunnel_send() directly. The l2tp_recv_ICRQ() and l2tp_recv_OCRQ() functions are modified to take advantage of this new function and will now send CDN even upon early message processing error. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Define the l2tp_{tunnel,session}_send() functions for sending messages in tunnel or session context. Session messages have their session ID automatically set and switch to tunnel context for sending messages. Though the 'debug' parameter is removed from function prototypes, the logging mechanism is respected: HELLO and ZLB are displayed as 'debug' messages while other message types use 'info2'. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Kozlov Dmitry 提交于
-
由 Guillaume Nault 提交于
Print details about errors that can occur when using the "l2tp create tunnel" command line. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Print details about errors that can occur when using the "l2tp create session" command line. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Check for errors in start_udp_server() and return exit status to calling function. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Use memdebug variants of {m,re}alloc() so that the corresponding _free() will work correctly if MEMDEBUG is defined. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Update l2tp_session_free's prototype to return its error status. Do the opposite for l2tp_tunnel_cancel_session (make it return void) as it never fails. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Define macros for logging tunnel or session messages with automatic context information display. Use these macros to replace most existing error messages + add missing ones. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
- 18 2月, 2013 3 次提交
-
-
由 Guillaume Nault 提交于
Add entries in accel-ppp.conf.5 for configuration options defined by the CLI module. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Define the "sessions-columns" option (in the [cli] section) to let the user select the default set of columns that will be displayed by the "show sessions" command. Unrecognised column names are silently discarded. Configuration example: [cli] telnet=127.0.0.1:2000 password=secret sessions-columns=ifname,ip,username Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Gracefully handle the case where no column has been selected for the "show sessions" command. Such situation will be possible once the set of default displayed columns will be made configurable from accel-ppp.conf. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
- 14 2月, 2013 2 次提交
-
-
由 Guillaume Nault 提交于
When several messages are sent consecutively, the peer can reply with a single ZLB to acknowledge all messages. In this case, removing only the first message from the retransmission queue isn't enough (acknowledged messages left in the queue will be retransmitted). This case can happen when replying to an outgoing call request, wich is handled by sending two messages in a row (an OCRP and an OCCN). This patch avoids useless retransmissions by removing all messages acknowledged by peer from the retransmission queue. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Handle OCRQ requests when operating as LAC. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
- 13 2月, 2013 13 次提交
-
-
由 Guillaume Nault 提交于
Send the Result and Error fields of StopCCN and CDN messages in network byte order. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Use the Assigned Tunnel ID and Result Code AVPs when handling StopCCN messages. The Result Code AVP is used to improve log messages, while the Assigned Tunnel ID is used to set the tunnel's peer-tid field. Setting peer-tid makes the ZLB to be sent to the right tunnel in case no Assigned Tunnel ID had been received yet (this happens when the host sends an SCCRQ but the peer directly rejects the connection with StopCCN). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Send a ZLB after reception of Set-Link-Info (SLI) messages to avoid retransmissions from the LNS. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Fix a few errors in dictionary.rfc2661 and dictionary.rfc3931 (missing entries, typos, wrong type/flags, etc.) and re-generate attr_defs.h. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Add const qualifier to attributes pointers used for parsing incoming L2TP messages. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Add const qualifier to the Message Type variable used by the generic L2TP reception functions. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Add const qualifier to packet passed to l2tp_recv_*() functions. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Define the address parameter of l2tp_packet_alloc() as constant. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Add const qualifiers to the string used for reading configuration. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Declare parameters and variables of l2tp_packet_print() as constant. Also update l2tp_dict_find_value() prototype to accept options passed by l2tp_packet_print(). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Handle CLI_CMD_FAILED like other command errors (i.e. return 0 to the caller and send a generic error message). This makes the CLI handler to flush its input buffer, so that processing of the next command will be made correctly. This also makes the telnet handler to send its prompt message. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Refuse to initiate tunnel creation to peers not defined in the "client-ip-range" configuration section. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Don't call strlen() if conf_secret is NULL. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
- 12 2月, 2013 11 次提交
-
-
由 Guillaume Nault 提交于
Implement incomming call placement for tunnels operating as LAC. A user can place incomming calls using the command line interface. For example, the following command will place a call on tunnel 1: accel-ppp# l2tp create session tid 1 Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Add the "l2tp create tunnel" command to initiate new tunnels. This command accepts three parameters: * peer-addr (mandatory): IPv4 address of the remote tunnel end. * host-addr (optional): IPv4 address of the local tunnel end. By default the "l2tp bind" configuration option is used (if defined). * mode (optional): tunnel operating mode: lac (default) or lns. Example with the telnet interface: accel-ppp# l2tp create tunnel peer-addr 192.0.2.1 host-addr 192.0.2.2 The above command tells accel-ppp to establish a new tunnel with the peer at 192.0.2.1. The local address will be 192.0.2.2 and the tunnel will operate as lac. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
When peer's port isn't known (i.e. right after a tunnel establishment request has been sent), use the source port of the first peer's response as the destination port of any future L2TP message sent over that tunnel. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Send L2TP messages to the host set in the addr field of l2tp_packet_t, instead of relying on the file descriptor's connection state. This will allow the file descriptor to be disconnected (allowing it to wait for a message from an arbitrary source port) while still being able to retransmit previous L2TP messages. This possibility is necessary for initiating tunnel establishment: the initial SCCRQ is sent to the peer on port 1701, but the peer may reply with an arbitrary source port. The socket thus needs to be disconnected to be able to receive the peer's SCCRP. But in the mean time, the initial SCCRQ may need to be retransmitted (if no answer is received from the peer after a given amount of time). Hence the need for sending L2TP messages over unconnected sockets. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Rename field lns_addr, as it identifies the host address, whether it be a LAC or a LNS. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Rename field lac_addr, as it identifies the peer address, whether it be a LAC or a LNS. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Define the lns_mode flag for tunnels and sessions to keep track of their operating state. A session's mode is inherited from its parent tunnel. The session's mode is used to set the PPPOL2TP_SO_LNSMODE socket option to its PPP socket. For tunnels, the mode is used to define how new sessions may be created: -In LNS mode, new sessions may be created by accepting incomming calls (ICRQ) or by placing outgoing calls (OCRQ). -In LAC mode, tunnels will create sessions by accepting outgoing calls or by placing incomming calls. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Define STATE_WAIT_SCCRP which will be required for creating new tunnels on behalf of the host. This state will be entered right after sending an SCCRQ message. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Change the meaning of the Nr field in struct l2tp_conn_t: instead of setting it to the last received message sequence, set it with the value of the next expected message sequence number (i.e. one above the previous value). This simplifies processing and avoids the l2tp_send() function to increment the L2TP packet Nr field (it's now directly set to the correct value). Having Nr correctly set before calling l2tp_send() is necessary for implementing tunnel establishment requests (SCCRQ messages) since the Nr field of this message must be 0. This patch also replaces the formula used to check if a message Ns is lower than a tunnel Nr. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
When allocating tunnels, set the lns_addr field of tunnels using getsockname() instead of using the "host" parameter. This will allow the caller to pass an unspecified port in "host" (for binding to any source port) and to set the lns_addr field with the address really bound to. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Remove the "serv" parameter from l2tp_tunnel_alloc() prototype. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-