X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/8c4f3bfe794e4ff92662d9be5903e5b203f5d41e..2c6957f223400fb892349fac5d521b89d12610df:/l2tpns.h diff --git a/l2tpns.h b/l2tpns.h index e6357b6..f38e9f3 100644 --- a/l2tpns.h +++ b/l2tpns.h @@ -234,7 +234,7 @@ struct cli_tunnel_actions { typedef struct // route { in_addr_t ip; - in_addr_t mask; + int prefixlen; } routet; @@ -242,7 +242,10 @@ typedef struct controls // control message { struct controls *next; // next in queue uint16_t length; // length - uint8_t buf[MAXCONTROL]; + union { + uint8_t buf[MAXCONTROL]; + uint16_t buf16[MAXCONTROL/2]; + } __attribute__ ((__transparent_union__)); } controlt; @@ -617,6 +620,10 @@ struct Tstats #define SET_STAT(x, y) #endif +#ifndef IFNAMSIZ +# define IFNAMSIZ 16 +#endif + typedef struct { int debug; // debugging level @@ -632,7 +639,7 @@ typedef struct int reload_config; // flag to re-read config (set by cli) int multi_read_count; // amount of packets to read per fd in processing loop - char tundevice[10]; // tun device name + char tundevice[IFNAMSIZ]; // tun device name char log_filename[128]; char l2tp_secret[64]; // L2TP shared secret @@ -729,6 +736,7 @@ typedef struct struct in_addr update_source; } neighbour[BGP_NUM_PEERS]; in_addr_t nexthop_address; + struct in6_addr nexthop6_address; #endif } configt; @@ -902,7 +910,8 @@ void become_master(void); // We're the master; kick off any required master init // cli.c -void init_cli(char *hostname); +void init_cli(); +void cli_init_hostname(char *hostname); void cli_do_file(FILE *fh); void cli_do(int sockfd); int cli_arg_help(struct cli_def *cli, int cr_ok, char *entry, ...); @@ -940,6 +949,7 @@ struct event_data { FD_TYPE_DAE, FD_TYPE_RADIUS, FD_TYPE_BGP, + FD_TYPE_NETLINK, } type; int index; // for RADIUS, BGP };