X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Froute.h;h=7b45e76a686df0ba90a93543c601dbd9b5e81eca;hp=3ac2c95e547172680cbb43bb7d15145e99323a8a;hb=c9c3cc03bfec664f7386011f3fc608d1c0844836;hpb=5db596c6844169f1eb5f804b72abe99d067aaa5a diff --git a/src/route.h b/src/route.h index 3ac2c95e..7b45e76a 100644 --- a/src/route.h +++ b/src/route.h @@ -1,7 +1,7 @@ /* route.h -- header file for route.c - Copyright (C) 2000-2003 Ivo Timmermans - 2000-2003 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.11 2003/07/12 17:41:47 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 { +#include "net.h" +#include "node.h" + +typedef enum rmode_t { RMODE_HUB = 0, RMODE_SWITCH, RMODE_ROUTER, -}; - -extern int routing_mode; -extern int overwrite_mac; -extern int priorityinheritance; +} 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__ */