summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--proto/rip/rip.c5
-rw-r--r--proto/rip/rip.h2
2 files changed, 5 insertions, 2 deletions
diff --git a/proto/rip/rip.c b/proto/rip/rip.c
index 68d2949..82c7d9a 100644
--- a/proto/rip/rip.c
+++ b/proto/rip/rip.c
@@ -362,6 +362,9 @@ rip_timer(timer *t)
WALK_LIST( rif, P->interfaces ) {
struct iface *iface = rif->iface;
+ if (rif->patt->mode == IM_QUIET)
+ continue;
+
if (!iface) continue;
if (!(iface->flags & IF_UP)) continue;
if (iface->flags & (IF_IGNORE | IF_LOOPBACK)) continue;
@@ -507,7 +510,7 @@ rip_if_notify(struct proto *p, unsigned c, struct iface *old, struct iface *new)
if (!k) return; /* We are not interested in this interface */
DBG("adding interface %s\n", new->name );
rif = new_iface(p, new, new->flags);
- rif->metric = k->u.rip.metric;
+ rif->patt = k;
add_head( &P->interfaces, NODE rif );
}
}
diff --git a/proto/rip/rip.h b/proto/rip/rip.h
index 0fcda20..4839016 100644
--- a/proto/rip/rip.h
+++ b/proto/rip/rip.h
@@ -65,7 +65,7 @@ struct rip_interface {
struct iface *iface;
sock *sock;
struct rip_connection *busy;
-
+ struct rip_patt *patt;
int metric; /* User configurable data */
int mode;