X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Froute.h;h=c1481fa329df75abe2e4f761e7013fbd97e0678e;hp=1f9e7a5a7bae2ead49ea9e8f6279217ff1f55479;hb=8420a0c8bde1781db04dd2436eb9d5dca5a1732a;hpb=c2b738e7b51fbec2b11fbbf030b9a5a36df55fc4 diff --git a/src/route.h b/src/route.h index 1f9e7a5a..c1481fa3 100644 --- a/src/route.h +++ b/src/route.h @@ -1,7 +1,7 @@ /* route.h -- header file for route.c - Copyright (C) 2000-2002 Ivo Timmermans - 2000-2002 Guus Sliepen + Copyright (C) 2000-2005 Ivo Timmermans + 2000-2006 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -13,27 +13,41 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id: route.h,v 1.1.2.6 2002/03/01 12:26:56 guus Exp $ + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __TINC_ROUTE_H__ #define __TINC_ROUTE_H__ -enum -{ - RMODE_HUB = 0, - RMODE_SWITCH, - RMODE_ROUTER, -}; +#include "net.h" +#include "node.h" + +typedef enum rmode_t { + RMODE_HUB = 0, + RMODE_SWITCH, + RMODE_ROUTER, +} rmode_t; + +typedef enum fmode_t { + FMODE_OFF = 0, + FMODE_INTERNAL, + FMODE_KERNEL, +} fmode_t; + +extern rmode_t routing_mode; +extern fmode_t forwarding_mode; +extern bool decrement_ttl; +extern bool directonly; +extern bool overwrite_mac; +extern bool broadcast; +extern bool priorityinheritance; +extern int macexpire; -extern int routing_mode; -extern int priorityinheritance; +extern mac_t mymac; -extern void route_incoming(node_t *, vpn_packet_t *); -extern void route_outgoing(vpn_packet_t *); +extern void age_subnets(void); +extern void route(struct node_t *, struct vpn_packet_t *); -#endif /* __TINC_ROUTE_H__ */ +#endif /* __TINC_ROUTE_H__ */