diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2004-01-10 22:25:43 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2004-01-10 22:25:43 +0000 |
commit | 574bd409f2c24cd362fe27ec7e43afb8befca78a (patch) | |
tree | d9200f77c57d86ce7163ae2cbab8efd7b0f9f5da /usr.sbin/bgpd/rde.h | |
parent | ceb96ca370f38e31423d047d24ebd2644c732c16 (diff) |
Implement as path prepends. At least one prepend is needed for ebgp
neighbors. Fix a bug in the update generation. If no path attributes are
available e.g. a packet with only withdraws we need to set (and write) the
bgp path attribute field to zero. With this change we are able to send
valid updates to our neighbors with one exception: the nexthop field which
needs to be changed for ebgp neighbors.
OK henning@
Diffstat (limited to 'usr.sbin/bgpd/rde.h')
-rw-r--r-- | usr.sbin/bgpd/rde.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/bgpd/rde.h b/usr.sbin/bgpd/rde.h index b151c31553b..b0110dd2c88 100644 --- a/usr.sbin/bgpd/rde.h +++ b/usr.sbin/bgpd/rde.h @@ -1,4 +1,4 @@ -/* $OpenBSD: rde.h,v 1.12 2004/01/10 16:20:29 claudio Exp $ */ +/* $OpenBSD: rde.h,v 1.13 2004/01/10 22:25:42 claudio Exp $ */ /* * Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org> and @@ -218,6 +218,7 @@ struct prefix { /* rde.c */ void rde_send_kroute(struct prefix *, struct prefix *); void rde_send_nexthop(in_addr_t, int); +u_int16_t rde_local_as(void); /* rde_rib.c */ int attr_compare(struct attr_flags *, struct attr_flags *); @@ -233,6 +234,8 @@ int aspath_verify(void *, u_int16_t, u_int16_t); #define AS_ERR_LOOP -3 struct aspath *aspath_create(void *, u_int16_t); void aspath_destroy(struct aspath *); +int aspath_write(void *, u_int16_t, struct aspath *, u_int16_t, + int); u_char *aspath_dump(struct aspath *); u_int16_t aspath_length(struct aspath *); u_int16_t aspath_count(struct aspath *); |