X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Froute.h;h=8681288391e29135421a2dbe37077afc73de9182;hp=4eafc3b95ccaf62d502e3c509bc1fbc022a56300;hb=3fae14fae5a347823679ef694ab630b4991a201d;hpb=34f9e6cf2d6d2b81eb63f9f28963b447a2157740 diff --git a/src/route.h b/src/route.h index 4eafc3b9..86812883 100644 --- a/src/route.h +++ b/src/route.h @@ -1,7 +1,10 @@ +#ifndef TINC_ROUTE_H +#define TINC_ROUTE_H + /* route.h -- header file for route.c - Copyright (C) 2000,2001 Ivo Timmermans - 2000,2001 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,27 +16,44 @@ 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.3 2001/03/04 13:59:32 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 subnet_t mymac; - -extern void route_incoming(connection_t *, vpn_packet_t *); -extern void route_outgoing(vpn_packet_t *); - -#endif /* __TINC_ROUTE_H__ */ +#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 mac_t mymac; + +extern void age_subnets(void); +extern void route(struct node_t *, struct vpn_packet_t *); + +#endif