X-Git-Url: https://git.librecmc.org/?p=oweals%2Ftinc.git;a=blobdiff_plain;f=src%2Froute.h;h=5b9e80844bc3f7ae228756b611f3700356149580;hp=d188af2d06fe0e7d2a2d90a9cdaacb3010b47695;hb=57bc9a1835bcb6a8df7963ee4ab04fde34f28eaf;hpb=14979f835df4214a7c2510852f7ffedc9e08c2c0 diff --git a/src/route.h b/src/route.h index d188af2..5b9e808 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-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 +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.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 *source, struct vpn_packet_t *packet); -#endif /* __TINC_ROUTE_H__ */ +#endif