X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/81ca38323a409a68ef80c46283c555d20d553e2d..e1412c5ca044498287d406fb3149ac6aaeab3e40:/l2tpns.h diff --git a/l2tpns.h b/l2tpns.h index 285e643..6314ae7 100644 --- a/l2tpns.h +++ b/l2tpns.h @@ -49,7 +49,7 @@ #define RINGBUFFER_SIZE 10000 // Number of ringbuffer entries to allocate #define MAX_LOG_LENGTH 512 // Maximum size of log message #define ECHO_TIMEOUT 10 // Time between last packet sent and LCP ECHO generation -#define IDLE_TIMEOUT 240 // Time between last packet seen and session shutdown +#define IDLE_ECHO_TIMEOUT 240 // Time between last packet seen and session shutdown #define BUSY_WAIT_TIME 3000 // 5 minutes in 1/10th seconds to wait for radius to cleanup on shutdown #define MP_BEGIN 0x80 // This value is used when (b)egin bit is set in MP header @@ -746,6 +746,10 @@ typedef struct in_addr_t nexthop_address; struct in6_addr nexthop6_address; #endif + + int echo_timeout; // Time between last packet sent and LCP ECHO generation + int idle_echo_timeout; // Time between last packet seen and + // Drop sessions who have not responded within IDLE_ECHO_TIMEOUT seconds } configt; enum config_typet { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IPv4, IPv6 }; @@ -893,6 +897,7 @@ void adjust_tcp_mss(sessionidt s, tunnelidt t, uint8_t *buf, int len, uint8_t *t void sendipcp(sessionidt s, tunnelidt t); void sendipv6cp(sessionidt s, tunnelidt t); void processudp(uint8_t *buf, int len, struct sockaddr_in *addr); +void processipout(uint8_t *buf, int len); 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);