summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2000-03-27 14:16:37 +0200
committerMartin Mares <mj@ucw.cz>2000-03-27 14:16:37 +0200
commit200accf396b869267fd707b56afddb27d8479acc (patch)
tree97f6b7ca48da585cd504a849c69928d6f3fe5ed4
parent6480dd08803bc46bcd19b466ac6c499699d17448 (diff)
downloadbird-200accf396b869267fd707b56afddb27d8479acc.tar
bird-200accf396b869267fd707b56afddb27d8479acc.zip
if_connected() is again private.
Introduced neigh_connected_to() to serve the same purpose efficiently.
-rw-r--r--nest/iface.h8
-rw-r--r--nest/neighbor.c2
2 files changed, 7 insertions, 3 deletions
diff --git a/nest/iface.h b/nest/iface.h
index 379f566..94c0945 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 5750f8c..c4328b6 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;