Commit Graph

135 Commits

Author SHA1 Message Date
Alexander Couzens eb07d89ffc l2tp_packet: dont answer an ACK with a StopCCN if connection is unknown
as long we don't do real ack handling, just ignore ACK without connection, because
on a StopCCN an ACK is sent out
2016-11-11 16:19:19 +01:00
Alexander Couzens 9143daf21e l2tp_packet: remove logoutput on every data packet 2016-11-11 16:18:24 +01:00
Alexander Couzens 95f8ae04bd lapd_switch_altc: allow to switch between timeslot and superchannel
a special crafted packet can switch between the modes. The packet look like
0x23004200 as magic and 1byte as value (0 = timeslot, 1 = superchannel)
2016-11-11 16:17:54 +01:00
Alexander Couzens 388a33ca9c lapd: use l2tp_msgb_alloc() instead of msgb_alloc() 2016-11-08 11:41:36 +01:00
Alexander Couzens 283c2c3257 lapd: free message in unix_rsl_oml_cb() 2016-11-08 11:41:36 +01:00
Harald Welte 394608d082 l2tpd socket naming: there's no oml associated with p-gsl or trau 2016-11-04 12:34:49 +01:00
Alexander Couzens d601392fa7 add simple test_connect example programm 2016-11-02 21:45:55 +01:00
Alexander Couzens 82888d9558 fixup! implement l2tpd_tx_data including crc32 2016-11-02 21:32:20 +01:00
Alexander Couzens 1e1eebddc6 implement lapd decoding/encoding and rx/tx data path 2016-11-02 21:31:49 +01:00
Alexander Couzens 404cfd772f l2tpd_packet/controlconnection: improve sequence checks and log output 2016-11-02 21:30:07 +01:00
Alexander Couzens b2a4c2c85e l2tpd_packet: correct usage of l2tpd_data functions 2016-11-02 21:28:16 +01:00
Alexander Couzens 146e57ec32 fixup! implement l2tpd_tx_data including crc32 2016-11-02 20:56:32 +01:00
Alexander Couzens 7c69530eae l2tpd_socket: complete unix socket implementation 2016-11-02 20:51:30 +01:00
Alexander Couzens ee24efc5e0 implement l2tpd_tx_data including crc32 2016-11-02 20:48:40 +01:00
Alexander Couzens 4c11f1bd23 l2tpd_packet: add msgb_free() after sending the message 2016-11-02 20:46:08 +01:00
Alexander Couzens ea53d3999e l2tp_socket_init: setup log_class in l2tp_socket_init 2016-11-02 20:31:09 +01:00
Alexander Couzens 3f3191b4f0 l2tp_socket: handle unix sockets using wqueue 2016-10-31 22:27:17 +01:00
Alexander Couzens af3181040f l2tpd_data: search for a specific session_id using all connections
because sessions are unique per l2tp_instance we have to search over all connections to
find the correct session
2016-10-31 00:45:47 +01:00
Alexander Couzens 53c8999df1 l2tpd: move next_l_sess_id into l2tp_instance
the sessions are unique to the daemon. E.g. data packets only contain a
session id and no connection id
2016-10-31 00:45:01 +01:00
Alexander Couzens c0720cbf22 l2tpd_packet/fsm: fix last missing parts for conf_fsm 2016-10-30 21:08:47 +01:00
Alexander Couzens 44749b1dfe l2tpd_packet: add missing AVP ResultError for STOP_CCN 2016-10-30 21:07:58 +01:00
Alexander Couzens c9b24084f4 l2tpd_fsm: dispatch L2CONF_E_ESTABLISH_SESSION on L2IC_S_ESTABLISHED 2016-10-30 20:36:37 +01:00
Alexander Couzens 75e72bd705 l2tpd_fsm: rename L2CONF_E_RX_ICCN -> L2CONF_E_ESTABLISH_SESSION
will only triggered when a session change state to established
2016-10-30 20:36:10 +01:00
Alexander Couzens f90d51e16a l2tpd_packet: implement rx_ic_cn() to dispatch L2IC_E_RX_ICCN 2016-10-30 20:13:36 +01:00
Alexander Couzens b1601d6996 l2tpd_packet: correct sequence number in ACKs 2016-10-30 20:12:59 +01:00
Alexander Couzens 86e5a57ce5 l2tpd_fsm/l2tp_conf: sent TC_RQ on L2CONF_E_TX_TCRQ event 2016-10-30 20:12:41 +01:00
Alexander Couzens 7e3f5b6cfc l2tpd_fsm: correct naming of all old L2CC_ enums in L2CONF fsm 2016-10-30 20:12:21 +01:00
Alexander Couzens e6502cd8f1 l2tpd_fsm: correct valuestring of L2CONF_E_TX_TCRQ 2016-10-30 19:54:10 +01:00
Alexander Couzens af2cd0815b l2tpd: correct event name of L2CONF_E_RX_ALTCRP 2016-10-30 19:53:52 +01:00
Alexander Couzens 7e0bc95155 l2tpd: allow transistion from INIT -> INIT, when a StopSC received in init 2016-10-30 19:53:20 +01:00
Alexander Couzens 2f21b23c46 l2tpd: register l2tp_conf_fsm
every fsm must registered
2016-10-30 19:52:58 +01:00
Alexander Couzens 5ca60d694e l2tpd_fsm: migrate state & event into conf_fsm
the l2tp_conf_fsm handle traffic channels and wait between allocation,
because the siu can not handle to many packets at once
2016-10-30 19:31:18 +01:00
Alexander Couzens aa4b668e5d l2tpd_fsm: include osmocom/core/fsm.h 2016-10-30 19:30:10 +01:00
Alexander Couzens 1a8498aa0d l2tpd_data: add conf_fsm as into 'struct l2tpd_connection' 2016-10-30 19:29:42 +01:00
Alexander Couzens f3e1138782 l2tpd_fsm: move TC/ALTC logic into own fsm 2016-10-30 19:27:58 +01:00
Alexander Couzens 8bac56c1d4 l2tpd_packet: improve log message for unknown sessions 2016-10-30 18:06:22 +01:00
Alexander Couzens d28d4e31f5 l2tpd_fsm: remove l2tp_ic_allstate() call, directly called by fsm code 2016-10-30 18:06:04 +01:00
Alexander Couzens fc1486ed73 l2tpd_packet: add backref for session
I'vnt't found a solution using container_of() to get the connection for a session.
add a direct pointer to have a direct reference. Saves a lot lookups using the connection id every time
2016-10-30 18:05:41 +01:00
Alexander Couzens f859aaab16 l2tpd_data: start with 1 as session id
session with 0 is special and used for discovery
2016-10-30 18:04:12 +01:00
Alexander Couzens 34104f6d52 l2tpd_packet: use correct fsm on rx_ic_rq 2016-10-30 18:03:42 +01:00
Alexander Couzens af5c3e22c4 l2tpd: add debug logs on recieved packets 2016-10-27 04:16:54 +02:00
Alexander Couzens cc0456ac45 l2tpd_fsm: sent stop ccn for unknown sessions 2016-10-27 04:07:49 +02:00
Alexander Couzens 3b84bcebc4 l2tpd_fsm: go to state INIT after L2CC_E_RX_STOP_CCN 2016-10-27 04:06:03 +02:00
Alexander Couzens 2ef5250192 l2tpd_fsm: add RX-HELLO events 2016-10-27 04:05:32 +02:00
Alexander Couzens 05d94164b3 l2tpd: implement ALTCRP as states 2016-10-27 04:05:08 +02:00
Alexander Couzens a34c2c189c l2tpd: improve logmessage recvfrom() 2016-10-27 04:01:21 +02:00
Alexander Couzens 5bb9214358 l2tpd_packet: implement rx_eri_altcrp() to push fsm 2016-10-27 03:58:50 +02:00
Alexander Couzens 0ba51d59ff l2tpd_packet: implement router_id based on a ip 2016-10-27 03:57:02 +02:00
Alexander Couzens 89c41159b8 l2tpd: correct length of AVP_ERIC_ABIS_LO_MODE 2016-10-27 03:55:14 +02:00
Alexander Couzens 1f9b1d1a86 l2tpd: correct sequence number for acks *FIXME* 2016-10-27 03:53:31 +02:00