--- gvpe/src/vpn.h 2008/08/07 17:54:27 1.28 +++ gvpe/src/vpn.h 2009/03/23 15:22:00 1.31 @@ -56,8 +56,12 @@ typedef vector conns_vector; conns_vector conns; - connection *find_router (); - connection *find_forwarder (); + // called when any conenction has been established + void connection_established (connection *c); + + // return true if src can connect directly to dst + bool can_direct (conf_node *src, conf_node *dst) const; + connection *find_router_for (const connection *dst); void reconnect_all (); void shutdown_all (); @@ -65,7 +69,7 @@ void tap_ev (ev::io &w, int revents); ev::io tap_ev_watcher; void inject_data_packet (tap_packet *pkt, int dst); - void send_connect_request (int id); + void send_connect_request (connection *c); void recv_vpn_packet (vpn_packet *pkt, const sockinfo &rsi); bool send_vpn_packet (vpn_packet *pkt, const sockinfo &si, int tos = 0); @@ -100,6 +104,7 @@ vpn (); ~vpn (); + int setup_socket (u8 prot, int family, int type, int proto); int setup (); void dump_status ();