mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-23 02:01:55 +00:00
Rip: rip_rta_same added.
This commit is contained in:
parent
93f1c532e9
commit
8333431c4d
@ -411,6 +411,7 @@ rip_start(struct proto *p)
|
|||||||
P->timer->recurrent = RIP_TIME;
|
P->timer->recurrent = RIP_TIME;
|
||||||
P->timer->hook = rip_timer;
|
P->timer->hook = rip_timer;
|
||||||
tm_start( P->timer, 5 );
|
tm_start( P->timer, 5 );
|
||||||
|
CHK_MAGIC;
|
||||||
|
|
||||||
debug( "RIP: ...done\n");
|
debug( "RIP: ...done\n");
|
||||||
}
|
}
|
||||||
@ -446,10 +447,13 @@ rip_if_notify(struct proto *p, unsigned c, struct iface *old, struct iface *new)
|
|||||||
static void
|
static void
|
||||||
rip_rt_notify(struct proto *p, struct network *net, struct rte *new, struct rte *old)
|
rip_rt_notify(struct proto *p, struct network *net, struct rte *new, struct rte *old)
|
||||||
{
|
{
|
||||||
debug( "rip: new entry came\n" );
|
debug( "rip: new entry came: " );
|
||||||
|
CHK_MAGIC;
|
||||||
|
|
||||||
if (old) {
|
if (old) {
|
||||||
struct rip_entry *e = find_entry( p, net->n.prefix, net->n.pxlen );
|
struct rip_entry *e = find_entry( p, net->n.prefix, net->n.pxlen );
|
||||||
|
|
||||||
|
debug( "deleting old\n" );
|
||||||
if (!e)
|
if (!e)
|
||||||
log( L_ERR "Deleting nonexistent entry?!\n" );
|
log( L_ERR "Deleting nonexistent entry?!\n" );
|
||||||
|
|
||||||
@ -459,6 +463,7 @@ rip_rt_notify(struct proto *p, struct network *net, struct rte *new, struct rte
|
|||||||
if (new) {
|
if (new) {
|
||||||
struct rip_entry *e = new_entry( p );
|
struct rip_entry *e = new_entry( p );
|
||||||
|
|
||||||
|
debug( "inserting new\n" );
|
||||||
e->whotoldme = IPA_NONE;
|
e->whotoldme = IPA_NONE;
|
||||||
e->network = net->n.prefix;
|
e->network = net->n.prefix;
|
||||||
e->pxlen = net->n.pxlen;
|
e->pxlen = net->n.pxlen;
|
||||||
@ -488,6 +493,14 @@ rip_rte_better(struct rte *new, struct rte *old)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
rip_rta_same(rta *a, rta *b)
|
||||||
|
{
|
||||||
|
debug( "RIP: they ask me if rta_same\n" );
|
||||||
|
/* As we have no specific data in rta, they are always the same */
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
rip_preconfig(struct protocol *x)
|
rip_preconfig(struct protocol *x)
|
||||||
{
|
{
|
||||||
@ -499,7 +512,7 @@ rip_preconfig(struct protocol *x)
|
|||||||
p->if_notify = rip_if_notify;
|
p->if_notify = rip_if_notify;
|
||||||
p->rt_notify = rip_rt_notify;
|
p->rt_notify = rip_rt_notify;
|
||||||
p->rte_better = rip_rte_better;
|
p->rte_better = rip_rte_better;
|
||||||
p->rta_same = NULL; /* rip_rta_same; */
|
p->rta_same = rip_rta_same;
|
||||||
p->dump = rip_dump;
|
p->dump = rip_dump;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user