diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2006-01-12 14:05:14 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2006-01-12 14:05:14 +0000 |
commit | d1a24b85d82132f7c0714d75756e71b7edcadccf (patch) | |
tree | 531833589df77d8471b4407d1e2e1bb1167e3bbd /usr.sbin/bgpd/rde.h | |
parent | c4e200f579f8d672da04914c4d207c834dbe68b5 (diff) |
Copy AS path in rde_filter() on demand instead of doing it before calling
rde_filter(). Adapt path_update() to this change too. path_update() does
a path_copy before linking the rde_aspath into the RIB. Looks good Henning.
Diffstat (limited to 'usr.sbin/bgpd/rde.h')
-rw-r--r-- | usr.sbin/bgpd/rde.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.sbin/bgpd/rde.h b/usr.sbin/bgpd/rde.h index ae049bdee7a..b40a897718a 100644 --- a/usr.sbin/bgpd/rde.h +++ b/usr.sbin/bgpd/rde.h @@ -1,4 +1,4 @@ -/* $OpenBSD: rde.h,v 1.81 2006/01/10 16:11:12 claudio Exp $ */ +/* $OpenBSD: rde.h,v 1.82 2006/01/12 14:05:13 claudio Exp $ */ /* * Copyright (c) 2003, 2004 Claudio Jeker <claudio@openbsd.org> and @@ -355,9 +355,10 @@ void pt_dump(void (*)(struct pt_entry *, void *), void *, sa_family_t); /* rde_filter.c */ -enum filter_actions rde_filter(struct filter_head *, struct rde_peer *, - struct rde_aspath *, struct bgpd_addr *, u_int8_t, - struct rde_peer *, enum directions); +enum filter_actions rde_filter(struct rde_aspath **, struct filter_head *, + struct rde_peer *, struct rde_aspath *, + struct bgpd_addr *, u_int8_t, struct rde_peer *, + enum directions); void rde_apply_set(struct rde_aspath *, struct filter_set_head *, sa_family_t, struct rde_peer *, enum directions); int rde_filter_community(struct rde_aspath *, int, int); |