summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/rde.h
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2004-01-10 22:25:43 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2004-01-10 22:25:43 +0000
commit574bd409f2c24cd362fe27ec7e43afb8befca78a (patch)
treed9200f77c57d86ce7163ae2cbab8efd7b0f9f5da /usr.sbin/bgpd/rde.h
parentceb96ca370f38e31423d047d24ebd2644c732c16 (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.h5
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 *);