From 9be9a264137cdd881f339c37d1a1918527924254 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Mon, 12 Jul 2010 17:39:39 +0200 Subject: Implements proper multihop BGP. Also does some incompatible changes to config file syntax, like removing 'via IP' from multihop option. --- proto/bgp/bgp.h | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'proto/bgp/bgp.h') diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h index 76844af..160aa3d 100644 --- a/proto/bgp/bgp.h +++ b/proto/bgp/bgp.h @@ -20,7 +20,6 @@ struct bgp_config { u32 local_as, remote_as; ip_addr remote_ip; int multihop; /* Number of hops if multihop */ - ip_addr multihop_via; /* Multihop: address to route to */ ip_addr source_addr; /* Source address to use */ int next_hop_self; /* Always set next hop to local IP address */ int missing_lladdr; /* What we will do when we don' know link-local addr, see MLL_* */ @@ -89,10 +88,8 @@ struct bgp_proto { struct bgp_conn outgoing_conn; /* Outgoing connection we're working with */ struct bgp_conn incoming_conn; /* Incoming connection we have neither accepted nor rejected yet */ struct object_lock *lock; /* Lock for neighbor connection */ - ip_addr next_hop; /* Either the peer or multihop_via */ - struct neighbor *neigh; /* Neighbor entry corresponding to next_hop */ - ip_addr local_addr; /* Address of the local end of the link to next_hop */ - ip_addr source_addr; /* Address used as advertised next hop, usually local_addr */ + struct neighbor *neigh; /* Neighbor entry corresponding to remote ip, NULL if multihop */ + ip_addr source_addr; /* Local address used as an advertised next hop */ rtable *igp_table; /* Table used for recursive next hop lookups */ struct event *event; /* Event for respawning and shutting process */ struct timer *startup_timer; /* Timer used to delay protocol startup due to previous errors (startup_delay) */ @@ -109,7 +106,7 @@ struct bgp_proto { #ifdef IPV6 byte *mp_reach_start, *mp_unreach_start; /* Multiprotocol BGP attribute notes */ unsigned mp_reach_len, mp_unreach_len; - ip_addr local_link; /* Link-level version of local_addr */ + ip_addr local_link; /* Link-level version of source_addr */ #endif }; -- cgit v1.2.3