From 1785fcf60d9e5b1c476f9355118a430e3abef4e3 Mon Sep 17 00:00:00 2001 From: Claudio Jeker <claudio@cvs.openbsd.org> Date: Mon, 16 Feb 2004 12:53:16 +0000 Subject: 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@ --- usr.sbin/bgpd/rde.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'usr.sbin/bgpd/rde.h') 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 *); -- cgit v1.2.3