void
rip_dev_add_iface(char *n)
{
- struct rip_patt *k = cfg_alloc(sizeof(struct rip_patt));
-
+ struct rip_patt *k = cfg_allocz(sizeof(struct rip_patt));
+ k->metric = 1;
k->i.pattern = cfg_strdup(n);
add_tail(&RIP_CFG->iface_list, &k->i.n);
}
}
n = net_get( p->table, b->network, ipa_mklen( b->netmask ));
r = rte_get_temp(a);
- r->u.rip.metric = ntohl(b->metric) + rif->metric;
+ r->u.rip.metric = ntohl(b->metric) + rif->patt->metric;
if (r->u.rip.metric > P_CF->infinity) r->u.rip.metric = P_CF->infinity;
r->u.rip.tag = ntohl(b->tag);
r->net = n;
sock *sock;
struct rip_connection *busy;
struct rip_patt *patt;
-
- int metric; /* User configurable data */
- int mode;
-#define IM_MULTICAST 1
-#define IM_BROADCAST 2
-#define IM_QUIET 4
-#define IM_NOLISTEN 8
-#define IM_VERSION1 16
};
struct rip_patt {
int metric;
int mode;
+#define IM_MULTICAST 1
+#define IM_BROADCAST 2
+#define IM_QUIET 4
+#define IM_NOLISTEN 8
+#define IM_VERSION1 16
};
struct rip_proto_config {