Now I can change cost of interface without OSPF restart.
This commit is contained in:
parent
6316555eea
commit
fa6c2405e2
1 changed files with 11 additions and 1 deletions
|
@ -351,7 +351,7 @@ ospf_get_attr(eattr *a, byte *buf)
|
||||||
static int
|
static int
|
||||||
ospf_patt_compare(struct ospf_iface_patt *a, struct ospf_iface_patt *b)
|
ospf_patt_compare(struct ospf_iface_patt *a, struct ospf_iface_patt *b)
|
||||||
{
|
{
|
||||||
return ((a->cost==b->cost)&&(a->type==b->type)&&(a->priority==b->priority));
|
return ((a->type==b->type)&&(a->priority==b->priority));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -418,6 +418,16 @@ ospf_reconfigure(struct proto *p, struct proto_config *c)
|
||||||
ifa->iface->name,ip1->helloint,ip2->helloint);
|
ifa->iface->name,ip1->helloint,ip2->helloint);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* COST */
|
||||||
|
if(ip1->cost!=ip2->cost)
|
||||||
|
{
|
||||||
|
ifa->cost=ip2->cost;
|
||||||
|
OSPF_TRACE(D_EVENTS,
|
||||||
|
"Changing cost interface %s from %d to %d",
|
||||||
|
ifa->iface->name,ip1->cost,ip2->cost);
|
||||||
|
schedule_rt_lsa(ifa->oa);
|
||||||
|
}
|
||||||
|
|
||||||
/* AUTHETICATION */
|
/* AUTHETICATION */
|
||||||
if(ip1->autype!=ip2->autype)
|
if(ip1->autype!=ip2->autype)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue