• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asus-wl-520gu-7.0.1.45/src/router/rp-l2tp/

Lines Matching defs:ses

91 *  ses -- a session to free
98 l2tp_session_free(l2tp_session *ses, char const *reason, int may_reestablish)
100 session_set_state(ses, SESSION_IDLE);
102 l2tp_debug_session_to_str(ses), reason));
103 if (ses->call_ops && ses->call_ops->close) {
104 ses->call_ops->close(ses, reason, may_reestablish);
106 memset(ses, 0, sizeof(l2tp_session));
107 free(ses);
128 l2tp_session *ses;
142 ses = malloc(sizeof(l2tp_session));
143 if (!ses) {
149 memset(ses, 0, sizeof(l2tp_session));
150 ses->we_are_lac = 1;
151 ses->tunnel = tunnel;
152 ses->my_id = session_make_sid(tunnel);
153 ses->call_ops = peer->lac_ops;
154 ses->state = SESSION_WAIT_TUNNEL;
155 strncpy(ses->calling_number, calling_number, MAX_HOSTNAME);
156 ses->calling_number[MAX_HOSTNAME-1] = 0;
157 ses->private = private;
158 ses->snooping = 1;
159 ses->send_accm = 0xFFFFFFFF;
160 ses->recv_accm = 0xFFFFFFFF;
163 l2tp_tunnel_add_session(ses);
165 return ses;
189 * ses -- an L2TP session
196 l2tp_session_notify_tunnel_open(l2tp_session *ses)
201 l2tp_tunnel *tunnel = ses->tunnel;
203 if (ses->state != SESSION_WAIT_TUNNEL) return;
207 l2tp_debug_session_to_str(ses)));
209 dgram = l2tp_dgram_new_control(MESSAGE_ICRQ, ses->tunnel->assigned_id,
213 l2tp_tunnel_delete_session(ses, "Out of memory", 0);
218 u16 = htons(ses->my_id);
231 session_set_state(ses, SESSION_WAIT_REPLY);
320 * ses -- which session to terminate
330 l2tp_session_send_CDN(l2tp_session *ses,
337 l2tp_tunnel *tunnel = ses->tunnel;
354 l2tp_debug_session_to_str(ses), buf+4));
359 ses->assigned_id);
363 u16 = htons(ses->my_id);
372 session_set_state(ses, SESSION_IDLE);
378 l2tp_tunnel_delete_session(ses, buf+4, 0);
400 l2tp_session *ses;
404 ses = malloc(sizeof(l2tp_session));
405 if (!ses) {
410 memset(ses, 0, sizeof(l2tp_session));
411 ses->we_are_lac = 0;
412 ses->tunnel = tunnel;
413 ses->my_id = session_make_sid(tunnel);
414 ses->assigned_id = sid;
415 ses->state = SESSION_IDLE;
416 strncpy(ses->calling_number, calling_number, MAX_HOSTNAME);
417 ses->calling_number[MAX_HOSTNAME-1] = 0;
418 ses->private = NULL;
419 ses->snooping = 1;
420 ses->send_accm = 0xFFFFFFFF;
421 ses->recv_accm = 0xFFFFFFFF;
423 l2tp_tunnel_add_session(ses);
426 l2tp_session_send_CDN(ses, RESULT_GENERAL_ERROR,
432 ses->call_ops = ops;
435 dgram = l2tp_dgram_new_control(MESSAGE_ICRP, ses->tunnel->assigned_id,
436 ses->assigned_id);
439 l2tp_session_send_CDN(ses, RESULT_GENERAL_ERROR, ERROR_OUT_OF_RESOURCES,
445 u16 = htons(ses->my_id);
450 session_set_state(ses, SESSION_WAIT_CONNECT);
459 * ses -- the session
467 l2tp_session_handle_CDN(l2tp_session *ses,
473 val = l2tp_dgram_search_avp(dgram, ses->tunnel, NULL, NULL, &len,
476 l2tp_tunnel_delete_session(ses, "Received CDN", 1);
489 l2tp_tunnel_delete_session(ses, buf, 1);
496 * ses -- the session
504 l2tp_session_handle_ICRP(l2tp_session *ses,
513 l2tp_tunnel *tunnel = ses->tunnel;
536 ses->assigned_id = u16;
539 if (ses->state != SESSION_WAIT_REPLY) {
540 l2tp_session_send_CDN(ses, RESULT_FSM_ERROR, 0, "Received ICRP for session in state %s", state_names[ses->state]);
545 if (ses->call_ops && ses->call_ops->establish) {
546 if (ses->call_ops->establish(ses) < 0) {
547 l2tp_session_send_CDN(ses, RESULT_GENERAL_ERROR, ERROR_VENDOR_SPECIFIC,
555 ses->assigned_id);
558 l2tp_session_send_CDN(ses, RESULT_GENERAL_ERROR, ERROR_OUT_OF_RESOURCES,
579 session_set_state(ses, SESSION_ESTABLISHED);
580 ses->tunnel->peer->fail = 0;
587 * ses -- the session
595 l2tp_session_handle_ICCN(l2tp_session *ses,
603 l2tp_tunnel *tunnel = ses->tunnel;
606 if (ses->state != SESSION_WAIT_CONNECT) {
607 l2tp_session_send_CDN(ses, RESULT_FSM_ERROR, 0,
609 state_names[ses->state]);
614 session_set_state(ses, SESSION_ESTABLISHED);
615 ses->tunnel->peer->fail = 0;
623 l2tp_session_send_CDN(ses, RESULT_GENERAL_ERROR,
631 l2tp_session_send_CDN(ses, RESULT_GENERAL_ERROR,
640 ses->sequencing_required = 1;
647 if (ses->call_ops->establish(ses) < 0) {
648 l2tp_session_send_CDN(ses, RESULT_GENERAL_ERROR,
699 * ses -- the session
704 l2tp_session_state_name(l2tp_session *ses)
706 return state_names[ses->state];
712 * ses -- L2TP session structure
723 l2tp_session_lcp_snoop(l2tp_session *ses,
736 if (ses->we_are_lac) {
738 ses->snooping = 0;
753 ses->snooping = 0;
800 ses->recv_accm = accm;
801 ses->send_accm = accm;
802 ses->got_recv_accm = 1;
803 ses->got_send_accm = 1;
808 ses->recv_accm = accm;
809 ses->got_recv_accm = 1;
811 ses->send_accm = accm;
812 ses->got_send_accm = 1;
816 if (ses->got_recv_accm && ses->got_send_accm) {
817 DBG(l2tp_db(DBG_SNOOP, "Sending SLI: Send ACCM = %08x; Receive ACCM = %08x\n", ses->send_accm, ses->recv_accm));
818 session_send_sli(ses);
819 ses->got_recv_accm = 0;
820 ses->got_send_accm = 0;
828 * ses -- the session
835 session_send_sli(l2tp_session *ses)
841 memcpy(buf+2, &ses->send_accm, 4);
842 memcpy(buf+6, &ses->recv_accm, 4);
844 dgram = l2tp_dgram_new_control(MESSAGE_SLI, ses->tunnel->assigned_id,
845 ses->assigned_id);
849 l2tp_dgram_add_avp(dgram, ses->tunnel, MANDATORY,
853 l2tp_tunnel_xmit_control_message(ses->tunnel, dgram);
854 ses->sent_sli = 1;