diff options
author | Christian Franke <chris@opensourcerouting.org> | 2015-11-10 18:04:48 +0100 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-03-30 02:26:17 +0200 |
commit | ddfdbd32b42a8575fc85f237b8470d1c0b677f6b (patch) | |
tree | 4e3bdbc2bd081992232f234c9772daa20c73a7fd /isisd/isis_circuit.c | |
parent | isisd: do remove ipv6 routes from Zebra (diff) | |
download | frr-ddfdbd32b42a8575fc85f237b8470d1c0b677f6b.tar.xz frr-ddfdbd32b42a8575fc85f237b8470d1c0b677f6b.zip |
isisd: initialize circuit to match area is_type
New circuits should be initialized to match the is_type
of their area. Also add an additional check to make sure
that no IIHs are sent for levels which are not enabled.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'isisd/isis_circuit.c')
-rw-r--r-- | isisd/isis_circuit.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c index d1eaa8a17..9f597368d 100644 --- a/isisd/isis_circuit.c +++ b/isisd/isis_circuit.c @@ -122,13 +122,13 @@ isis_circuit_configure (struct isis_circuit *circuit, struct isis_area *area) circuit->area = area; /* - * The level for the circuit is same as for the area, unless configured - * otherwise. + * Whenever the is-type of an area is changed, the is-type of each circuit + * in that area is updated to a non-empty subset of the area is-type. + * Inversely, when configuring a new circuit, this property should be + * ensured as well. */ - if (area->is_type != IS_LEVEL_1_AND_2 && area->is_type != circuit->is_type) - zlog_warn ("circut %s is_type %d mismatch with area %s is_type %d", - circuit->interface->name, circuit->is_type, - circuit->area->area_tag, area->is_type); + if (area->is_type != IS_LEVEL_1_AND_2) + circuit->is_type = area->is_type; /* * Add the circuit into area |