summaryrefslogtreecommitdiffstats
path: root/nest/route.h
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2010-07-28 11:45:35 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2010-07-28 11:45:35 +0200
commit1b180121a90ef98f3adce1a355d48d64c6fc3c4f (patch)
treeea7e2474aef579a585b4e82fa3098ed5ee8b416d /nest/route.h
parentc477f48916d74c2db6156145851f9536ae0a0a6c (diff)
downloadbird-1b180121a90ef98f3adce1a355d48d64c6fc3c4f.tar
bird-1b180121a90ef98f3adce1a355d48d64c6fc3c4f.zip
Use link-local addresses in recursive next hops for IPv6 BGP.
Diffstat (limited to 'nest/route.h')
-rw-r--r--nest/route.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/nest/route.h b/nest/route.h
index 45b78e3..4dd4375 100644
--- a/nest/route.h
+++ b/nest/route.h
@@ -163,7 +163,9 @@ struct hostcache {
struct hostentry {
node ln;
- ip_addr addr; /* IP of host, part of key */
+ ip_addr addr; /* IP address of host, part of key */
+ ip_addr link; /* (link-local) IP address of host, used as gw
+ if host is directly attached */
struct rtable *tab; /* Dependent table, part of key*/
struct hostentry *next; /* Next in hash chain */
unsigned hash_key; /* Hash key */
@@ -386,7 +388,7 @@ static inline void rta_free(rta *r) { if (r && !--r->uc) rta__free(r); }
void rta_dump(rta *);
void rta_dump_all(void);
void rta_show(struct cli *, rta *, ea_list *);
-void rta_set_recursive_next_hop(rtable *dep, rta *a, rtable *tab, ip_addr *gw);
+void rta_set_recursive_next_hop(rtable *dep, rta *a, rtable *tab, ip_addr *gw, ip_addr *ll);
/*
* rta_set_recursive_next_hop() acquires hostentry from hostcache and