diff --git a/nest/iface.h b/nest/iface.h index 379f566c..94c0945b 100644 --- a/nest/iface.h +++ b/nest/iface.h @@ -114,6 +114,12 @@ typedef struct neighbor { */ neighbor *neigh_find(struct proto *, ip_addr *, unsigned flags); +static inline int neigh_connected_to(struct proto *p, ip_addr *a, struct iface *i) +{ + neighbor *n = neigh_find(p, a, 0); + return n && n->iface == i; +} + void neigh_dump(neighbor *); void neigh_dump_all(void); void neigh_prune(void); @@ -121,8 +127,6 @@ void neigh_if_up(struct iface *); void neigh_if_down(struct iface *); void neigh_init(struct pool *); -extern int if_connected(ip_addr *a, struct iface *i); /* -1=error, 1=match, 0=no match */ - /* * Interface Pattern Lists */ diff --git a/nest/neighbor.c b/nest/neighbor.c index 5750f8cf..c4328b6c 100644 --- a/nest/neighbor.c +++ b/nest/neighbor.c @@ -24,7 +24,7 @@ neigh_hash(struct proto *p, ip_addr *a) return (p->hash_key ^ ipa_hash(*a)) & (NEIGH_HASH_SIZE-1); } -int +static int if_connected(ip_addr *a, struct iface *i) /* -1=error, 1=match, 0=no match */ { struct ifa *b;