Fix service_name management and add pppoe_only_equal_svc_name parameter
[l2tpns.git] / l2tplac.h
index ba81a8e..0ff7c5a 100644 (file)
--- a/l2tplac.h
+++ b/l2tplac.h
@@ -4,11 +4,30 @@
 #ifndef __L2TPLAC_H__
 #define __L2TPLAC_H__
 
+#define L2TPLACPORT    65432   // L2TP port for Remote LNS
+// Limits
+#define MAXRLNSTUNNEL  201
+
+typedef uint16_t confrlnsidt;
+
 // l2tplac.c
-void initremotelnsdata();
-int session_forward_tolns(uint8_t *buf, int len, sessionidt sess, uint16_t proto);
-int forwardtolns(sessionidt s, char * puser);
-void calc_lac_auth(tunnelidt t, uint8_t id, uint8_t *out);
-int istunneltolns(tunnelidt t);
-int addremotelns(char *mask, char *IP_RemoteLNS, char *Port_RemoteLNS, char *SecretRemoteLNS);
+void lac_initremotelnsdata();
+int lac_session_forward(uint8_t *buf, int len, sessionidt sess, uint16_t proto, in_addr_t s_addr, int sin_port, uint16_t indexudpfd);
+int lac_conf_forwardtoremotelns(sessionidt s, char * puser);
+void lac_calc_rlns_auth(tunnelidt t, uint8_t id, uint8_t *out);
+int lac_addremotelns(char *mask, char *IP_RemoteLNS, char *Port_RemoteLNS, char *SecretRemoteLNS);
+
+/* Function for Tunnels creating from radius reponses */
+void lac_reset_rad_tag_tunnel_ctxt();
+void lac_set_rad_tag_tunnel_type(uint8_t tag, uint32_t tunnel_type);
+void lac_set_rad_tag_tunnel_medium_type(uint8_t tag, uint32_t tunnel_medium_type);
+void lac_set_rad_tag_tunnel_serv_endpt(uint8_t tag, char *tunnel_server_endpoint);
+void lac_set_rad_tag_tunnel_password(uint8_t tag, char *tunnel_password);
+void lac_set_rad_tag_tunnel_assignment_id(uint8_t tag, char *tunnel_assignment_id);
+void lac_save_rad_tag_tunnels(sessionidt s);
+int lac_rad_select_assignment_id(sessionidt s, char *assignment_id);
+
+int lac_rad_forwardtoremotelns(sessionidt s, char *assignment_id, char * puser);
+
+int lac_cli_show_remotelns(confrlnsidt idrlns, char *strout);
 #endif /* __L2TPLAC_H__ */