mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2025-01-10 19:11:54 +00:00
Merge commit '94e2f1c111721d6213ea65cac5c53036e38e3973' into integrated
This commit is contained in:
commit
1cbe7edbd8
9
NEWS
9
NEWS
@ -1,3 +1,12 @@
|
||||
Version 1.3.8 (2012-08-07)
|
||||
o Generalized import and export route limits.
|
||||
o RDNSS and DNSSL support for RAdv.
|
||||
o Include in config file support wildcards.
|
||||
o History deduplication in BIRD client.
|
||||
o New route attributes krt_source, krt_metric.
|
||||
o Different instance ID support for OSPFv3.
|
||||
o Real broadcast mode for OSPFv2.
|
||||
o Several minor bugfixes.
|
||||
|
||||
Version 1.3.7 (2012-03-22)
|
||||
o Route Origin Authorization basics.
|
||||
|
@ -477,7 +477,7 @@ to zero to disable it. An empty <cf><m/switch/</cf> is equivalent to <cf/on/
|
||||
problems in details of its behavior -- the number of exported
|
||||
routes can temporarily exceed the limit without triggering it
|
||||
during protocol reload, exported routes counter ignores route
|
||||
blocking and block action also blocks route updates of alread
|
||||
blocking and block action also blocks route updates of already
|
||||
accepted routes -- and these details will probably change in
|
||||
the future. Default: <cf/none/.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
Summary: BIRD Internet Routing Daemon
|
||||
Name: bird
|
||||
Version: 1.3.7
|
||||
Version: 1.3.8
|
||||
Release: 1
|
||||
Copyright: GPL
|
||||
Group: Networking/Daemons
|
||||
|
14
nest/proto.c
14
nest/proto.c
@ -512,20 +512,22 @@ protos_commit(struct config *new, struct config *old, int force_reconfig, int ty
|
||||
else if (!p->disabled && nc->disabled)
|
||||
log(L_INFO "Disabling protocol %s", p->name);
|
||||
|
||||
PD(p, "Restarting");
|
||||
p->down_code = nc->disabled ? PDC_CF_DISABLE : PDC_CF_RESTART;
|
||||
p->cf_new = nc;
|
||||
}
|
||||
else
|
||||
else if (!shutting_down)
|
||||
{
|
||||
if (!shutting_down)
|
||||
log(L_INFO "Removing protocol %s", p->name);
|
||||
PD(p, "Unconfigured");
|
||||
log(L_INFO "Removing protocol %s", p->name);
|
||||
p->down_code = PDC_CF_REMOVE;
|
||||
p->cf_new = NULL;
|
||||
}
|
||||
p->reconfiguring = 1;
|
||||
else /* global shutdown */
|
||||
{
|
||||
p->down_code = PDC_CMD_SHUTDOWN;
|
||||
p->cf_new = NULL;
|
||||
}
|
||||
|
||||
p->reconfiguring = 1;
|
||||
config_add_obstacle(old);
|
||||
proto_rethink_goal(p);
|
||||
}
|
||||
|
@ -223,8 +223,9 @@ struct proto_spec {
|
||||
#define PDC_CF_RESTART 0x03 /* Restart due to reconfiguration */
|
||||
#define PDC_CMD_DISABLE 0x11 /* Result of disable command */
|
||||
#define PDC_CMD_RESTART 0x12 /* Result of restart command */
|
||||
#define PDC_CMD_SHUTDOWN 0x13 /* Result of global shutdown */
|
||||
#define PDC_IN_LIMIT_HIT 0x21 /* Route import limit reached */
|
||||
#define PDC_OUT_LIMIT_HIT 0x22 /* Route export limit reached - not implemented */
|
||||
#define PDC_OUT_LIMIT_HIT 0x22 /* Route export limit reached */
|
||||
|
||||
|
||||
void *proto_new(struct proto_config *, unsigned size);
|
||||
|
@ -870,6 +870,7 @@ bgp_shutdown(struct proto *P)
|
||||
break;
|
||||
|
||||
case PDC_CMD_DISABLE:
|
||||
case PDC_CMD_SHUTDOWN:
|
||||
subcode = 2; // Errcode 6, 2 - administrative shutdown
|
||||
break;
|
||||
|
||||
|
@ -566,7 +566,7 @@ ospf_rt_notify(struct proto *p, rtable *tbl UNUSED, net * n, rte * new, rte * ol
|
||||
if (! (fn->flags & OSPF_RT_EXPORT))
|
||||
return;
|
||||
|
||||
flush_ext_lsa(oa, fn, 1);
|
||||
flush_ext_lsa(oa, fn, 1, oa_is_nssa(oa));
|
||||
|
||||
/* Old external route might blocked some NSSA translation */
|
||||
if (po->areano > 1)
|
||||
|
@ -975,7 +975,7 @@ check_nssa_lsa(struct proto_ospf *po, ort *nf)
|
||||
originate_ext_lsa(po->backbone, fn, EXT_NSSA, rt_metric, rt_fwaddr, rt_tag, 0);
|
||||
|
||||
else if (fn->flags & OSPF_RT_NSSA)
|
||||
flush_ext_lsa(po->backbone, fn, 1);
|
||||
flush_ext_lsa(po->backbone, fn, 1, 0);
|
||||
}
|
||||
|
||||
/* RFC 2328 16.7. p2 - find new/lost vlink endpoints */
|
||||
@ -1096,8 +1096,7 @@ ospf_rt_abr1(struct proto_ospf *po)
|
||||
if (oa_is_nssa(oa) && oa->ac->default_nssa)
|
||||
originate_ext_lsa(oa, &default_nf->fn, 0, oa->ac->default_cost, IPA_NONE, 0, 0);
|
||||
else
|
||||
flush_ext_lsa(oa, &default_nf->fn, 0);
|
||||
|
||||
flush_ext_lsa(oa, &default_nf->fn, 0, 1);
|
||||
|
||||
/* RFC 2328 16.4. (3) - precompute preferred ASBR entries */
|
||||
if (oa_is_ext(oa))
|
||||
|
@ -1111,12 +1111,12 @@ originate_ext_lsa(struct ospf_area *oa, struct fib_node *fn, int src,
|
||||
}
|
||||
|
||||
void
|
||||
flush_ext_lsa(struct ospf_area *oa, struct fib_node *fn, int src)
|
||||
flush_ext_lsa(struct ospf_area *oa, struct fib_node *fn, int src, int nssa)
|
||||
{
|
||||
struct proto_ospf *po = oa->po;
|
||||
struct proto *p = &po->proto;
|
||||
struct top_hash_entry *en;
|
||||
int nssa = oa_is_nssa(oa);
|
||||
|
||||
u32 dom = nssa ? oa->areaid : 0;
|
||||
u32 type = nssa ? LSA_T_NSSA : LSA_T_EXT;
|
||||
u32 lsaid = fibnode_to_lsaid(po, fn);
|
||||
|
@ -70,7 +70,7 @@ void originate_sum_net_lsa(struct ospf_area *oa, struct fib_node *fn, int metric
|
||||
void originate_sum_rt_lsa(struct ospf_area *oa, struct fib_node *fn, int metric, u32 options UNUSED);
|
||||
void flush_sum_lsa(struct ospf_area *oa, struct fib_node *fn, int type);
|
||||
void originate_ext_lsa(struct ospf_area *oa, struct fib_node *fn, int src, u32 metric, ip_addr fwaddr, u32 tag, int pbit);
|
||||
void flush_ext_lsa(struct ospf_area *oa, struct fib_node *fn, int src);
|
||||
void flush_ext_lsa(struct ospf_area *oa, struct fib_node *fn, int src, int nssa);
|
||||
|
||||
struct top_hash_entry * ospf_hash_find_rt(struct top_graph *f, u32 domain, u32 rtr);
|
||||
struct top_hash_entry * ospf_hash_find_rt3_first(struct top_graph *f, u32 domain, u32 rtr);
|
||||
|
@ -7,7 +7,7 @@
|
||||
#define _BIRD_CONFIG_H_
|
||||
|
||||
/* BIRD version */
|
||||
#define BIRD_VERSION "1.3.7"
|
||||
#define BIRD_VERSION "1.3.8"
|
||||
|
||||
// XXXX temporary define
|
||||
#define IPV1 1
|
||||
|
Loading…
Reference in New Issue
Block a user