summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd/rde.h
diff options
context:
space:
mode:
authorClaudio Jeker <claudio@cvs.openbsd.org>2004-02-16 12:53:16 +0000
committerClaudio Jeker <claudio@cvs.openbsd.org>2004-02-16 12:53:16 +0000
commit1785fcf60d9e5b1c476f9355118a430e3abef4e3 (patch)
treef082b1e1687d608e40a94d241a057ccd577779d4 /usr.sbin/bgpd/rde.h
parent1417937335517c250b77fa0eb597a3aa3c8e9eef (diff)
Make the path attribute handling more RFC conformant. Also move the
parser to rde_attr.c where it belongs. Still missing: better aspath loop detection (should be done afterwards) and some basic error checking for optional attributes. OK henning@
Diffstat (limited to 'usr.sbin/bgpd/rde.h')
-rw-r--r--usr.sbin/bgpd/rde.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/usr.sbin/bgpd/rde.h b/usr.sbin/bgpd/rde.h
index bc64ec3c8d5..5ef22236f3a 100644
--- a/usr.sbin/bgpd/rde.h
+++ b/usr.sbin/bgpd/rde.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.h,v 1.23 2004/02/09 01:56:18 henning Exp $ */
+/* $OpenBSD: rde.h,v 1.24 2004/02/16 12:53:15 claudio Exp $ */
/*
* Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org> and
@@ -212,11 +212,15 @@ void rde_generate_updates(struct prefix *, struct prefix *);
u_int16_t rde_local_as(void);
/* rde_rib.c */
+void attr_init(struct attr_flags *);
+int attr_parse(u_char *, u_int16_t, struct attr_flags *, int,
+ u_int16_t);
+u_char *attr_error(u_char *, u_int16_t, u_int8_t *, u_int16_t *);
int attr_compare(struct attr_flags *, struct attr_flags *);
void attr_copy(struct attr_flags *, struct attr_flags *);
int attr_write(void *, u_int16_t, u_int8_t, u_int8_t, void *,
u_int16_t);
-void attr_optadd(struct attr_flags *, u_int8_t, u_int8_t,
+int attr_optadd(struct attr_flags *, u_int8_t, u_int8_t,
u_char *, u_int16_t);
void attr_optfree(struct attr_flags *);