X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Froute.h;h=7b45e76a686df0ba90a93543c601dbd9b5e81eca;hp=d188af2d06fe0e7d2a2d90a9cdaacb3010b47695;hb=c9c3cc03bfec664f7386011f3fc608d1c0844836;hpb=14979f835df4214a7c2510852f7ffedc9e08c2c0 diff --git a/src/route.h b/src/route.h index d188af2d..7b45e76a 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-2012 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,29 +13,47 @@ 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.7 2002/03/01 14:09:31 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, -}; - -extern int routing_mode; -extern int priorityinheritance; +#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; + +typedef enum bmode_t { + BMODE_NONE = 0, + BMODE_MST, + BMODE_DIRECT, +} bmode_t; + +extern rmode_t routing_mode; +extern fmode_t forwarding_mode; +extern bmode_t broadcast_mode; +extern bool decrement_ttl; +extern bool directonly; +extern bool overwrite_mac; +extern bool priorityinheritance; extern int macexpire; -extern void age_mac(void); -extern void route_incoming(node_t *, vpn_packet_t *); -extern void route_outgoing(vpn_packet_t *); +extern mac_t mymac; + +extern void age_subnets(void); +extern void route(struct node_t *, struct vpn_packet_t *); -#endif /* __TINC_ROUTE_H__ */ +#endif /* __TINC_ROUTE_H__ */