// Multi bind address constants
#define MAX_UDPFD 4
#define MAX_BINDADDR MAX_UDPFD
+// + 1 for the LAC Hostname
+#define MAX_NBHOSTNAME (MAX_UDPFD + 1)
// 4 + 1 for the udplac
#define INIT_TABUDPFD {-1, -1, -1, -1, -1}
#define INIT_TABUDPVAR {0, 0, 0, 0, 0}
int num_tbfs; // number of throttle buckets
char accounting_dir[128];
+ int account_all_origin; // Accouting all origin (LAC data + Remote LNS Data + PPPOE data)
in_addr_t bind_address;
in_addr_t peer_address;
int send_garp; // Set to true to garp for vip address on startup
char pppoe_service_name[64]; // pppoe service name
char pppoe_ac_name[64];
uint8_t pppoe_hwaddr[ETH_ALEN]; // MAC addr of interface pppoe to bind
+ int pppoe_only_equal_svc_name; // Accept only PADI with service-name equal to server
int disable_sending_hello; // Disable l2tp sending HELLO message for Apple compatibility.
int disable_no_spoof; // Disable no spoof (permit load balancing client --> internet)
int nbudpfd; // number UDP file handle
int nbmultiaddress; // number multi address to bind
int indexlacudpfd; // Index UDP LAC file handle (in udpfd[])
+ int nbmultihostname; // number hostname, normally the same number as the nbudpfd
+ int no_throttle_local_IP; // no throttle traffic from session to session
in_addr_t bind_n_address[MAX_BINDADDR];
in_addr_t iftun_n_address[MAX_BINDADDR];
char bind_multi_address[256];
+ char multi_hostname[512];
+ char multi_n_hostname[MAX_NBHOSTNAME][MAXHOSTNAME]; // list hostname
} configt;
enum config_typet { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IPv4, IPv6 };
void snoop_send_packet(uint8_t *packet, uint16_t size, in_addr_t destination, uint16_t port);
int find_filter(char const *name, size_t len);
int ip_filter(uint8_t *buf, int len, uint8_t filter);
-int cmd_show_ipcache(struct cli_def *cli, char *command, char **argv, int argc);
-int cmd_show_hist_idle(struct cli_def *cli, char *command, char **argv, int argc);
-int cmd_show_hist_open(struct cli_def *cli, char *command, char **argv, int argc);
+int cmd_show_ipcache(struct cli_def *cli, const char *command, char **argv, int argc);
+int cmd_show_hist_idle(struct cli_def *cli, const char *command, char **argv, int argc);
+int cmd_show_hist_open(struct cli_def *cli, const char *command, char **argv, int argc);
tunnelidt lac_new_tunnel();
void lac_tunnelclear(tunnelidt t);
void lac_send_SCCRQ(tunnelidt t, uint8_t * auth, unsigned int auth_len);