Commit Graph

53 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 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 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 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 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 8bac56c1d4 l2tpd_packet: improve log message for unknown sessions 2016-10-30 18:06:22 +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 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 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
Alexander Couzens 64471b6799 l2tpd_packet: fix correct hardcoded ip address for receiving SAPIs
the ip must exact match the from of the actually connection otherwise the SIU will
try to reach the IP via SCCRQ to create a secondary connection
2016-10-26 04:17:19 +02:00
Alexander Couzens 2ec61137ef l2tpd_fsm: implement hello receiver 2016-10-25 16:47:21 +02:00
Alexander Couzens ce52db0a43 l2tpd_packet/rx_eri_tcrp: remove old lookup of l2tp_connection by ccid
already given as function argument
2016-10-25 16:28:48 +02:00
Alexander Couzens 52255ec31c l2tpd_packet: implement rx_eri_tcrp()
dispatch an event to the fsm (L2CC_E_RX_TCRP) when result == 0
2016-10-25 16:16:21 +02:00
Alexander Couzens 2e48578587 l2tpd_packet: save remote_end_id into session
the remote end id is used as bundling group id. To connect session
with sockets later we need to know what data is tunneled into this session
2016-10-25 16:02:57 +02:00
Alexander Couzens 5a221a0bde l2tpd_packet: add l2tpd_connection to ericsson receive functions
As already done to ietf receive function, we need the context of a l2tpd_connection
2016-10-25 16:01:46 +02:00
Alexander Couzens 54f5d5f08b l2tpd_packet: use decimal sapis 2016-10-25 16:00:23 +02:00
Alexander Couzens 20dc4e196b l2tpd_packet: fix assigned connection id avp in header
previous we sent the remote ccid in our assigned ccid avp
2016-10-25 15:59:35 +02:00
Alexander Couzens 13cc5e1d0a l2tpd_packet: add avpp_val_u8()
to complete api for avpp
2016-10-25 15:58:42 +02:00
Alexander Couzens 4fa5b2d1a2 l2tpd_packet: improve log messages for rx_ic_rq 2016-10-25 15:15:13 +02:00
Alexander Couzens 5941d7be49 l2tpd_packet: implement l2tp_tx_tc_rq l2tp_tx_altc_rq_superchannel l2tp_tx_altc_rq_timeslot 2016-10-25 15:07:38 +02:00
Alexander Couzens 32ebeebe75 l2tpd_packet: l2tp_tx_stop_ccn_msg(msg) to sent out STOP CCN to unknown control connections 2016-10-25 14:35:11 +02:00
Alexander Couzens 2b3566c365 l2tpd_packet: add cid to wrong seq number received 2016-10-25 14:31:07 +02:00
Alexander Couzens 4b4becaa23 l2tpd_packet: implement l2tp_tx_stop_ccn 2016-10-25 11:25:40 +02:00
Alexander Couzens 39c2f5a323 l2tpd: log allocation of new CC with local + remote id 2016-10-24 21:35:21 +02:00
Alexander Couzens 10d655150c l2tpd_packet: fix removal of forgotten local_cid in l2tpd_cc_alloc() 2016-10-24 21:20:25 +02:00
Alexander Couzens 629e0b770e l2tpd_packet: l2tp_tx_ack change to a control connection message
TX Ack is used by control connection, not by session management
2016-10-24 21:19:54 +02:00
Alexander Couzens 4863678b85 l2tpd_packet: add l2tp_connection *l2c into receive functions and lookup the cid 2016-10-24 21:10:44 +02:00
Alexander Couzens 22bdaae934 l2tpd_packet: correct digest, the first byte must be zero in the message
the first byte is the type of digest (hmac-md5)
2016-10-24 18:58:45 +02:00
Alexander Couzens ec03bf207a l2tpd_packet: set router_id to the same value of trace 2016-10-24 07:26:38 +02:00
Alexander Couzens 15ef36a217 l2tpd_packet: first packet already count, set the l2c->next_rx_seq_nr = 1 2016-10-24 06:48:14 +02:00
Alexander Couzens 4a043b76d5 l2tpd_packet: add vendor_name = Ericsson to SCCRP 2016-10-24 06:47:30 +02:00
Alexander Couzens 606f60da6c l2tpd_packet: also do htons/htonl in avpp_val_u16/32 2016-10-24 06:30:35 +02:00
Alexander Couzens e17366d0b0 l2tpd_packet: use msgb_data / msgb_length when transmitting 2016-10-24 06:26:27 +02:00
Alexander Couzens 75436421a4 l2tpd_packet: complete l2tp control header
missing session id and incorrect lenght / version field
2016-10-24 06:26:06 +02:00
Alexander Couzens b201ef2f02 l2tpd_packet/digest_avp_update: fix search AVP digest 2016-10-24 06:25:31 +02:00
Alexander Couzens f6a71518cc l2tpd_packet/digest_avp_update: use msgb_data / msgb_lenght 2016-10-24 06:24:51 +02:00
Alexander Couzens e1aa3aaa1c l2tpd: l2tp_msgb_alloc(): sets now l2h -> msg->data 2016-10-24 06:23:55 +02:00
Alexander Couzens 8d4c3e0a52 l2tpd_packet: return 0 on success in l2tp_msgb_tx() 2016-10-24 05:37:52 +02:00
Alexander Couzens 387ab48db2 l2tpd_packet: set msg->dst = l2c
when using a session this is an expensive call
2016-10-24 05:37:11 +02:00