summaryrefslogtreecommitdiffstats
path: root/isisd
diff options
context:
space:
mode:
authorChristian Franke <chris@opensourcerouting.org>2019-10-01 01:53:44 +0200
committerChristian Franke <chris@opensourcerouting.org>2019-10-01 12:12:22 +0200
commitdf04b6afc424f254d227bc42a78dbe658289f5a3 (patch)
treecf752cef724ee908e116bfd52b9bdbc822fa9924 /isisd
parentMerge pull request #5011 from karamalla0406/evpn_cli_json (diff)
downloadfrr-df04b6afc424f254d227bc42a78dbe658289f5a3.tar.xz
frr-df04b6afc424f254d227bc42a78dbe658289f5a3.zip
isisd: Fix handling of neighbor circuit id in three way handshake
RFC 5303 states: If the system ID and Extended Local Circuit ID of the neighboring system are known (in adjacency three-way state Initializing or Up), the neighbor's system ID SHALL be reported in the Neighbor System ID field, and the neighbor's Extended Local Circuit ID SHALL be reported in the Neighbor Extended Local Circuit ID field. There is nothing written about only setting the Extended circuit ID of the adjacency only when we bring the three-way adjacency up. In fact, we should always update it, to avoid the problem described in #4783. Fixes: #4783 Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Diffstat (limited to 'isisd')
-rw-r--r--isisd/isis_pdu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/isisd/isis_pdu.c b/isisd/isis_pdu.c
index 46b013ddd..a637ff003 100644
--- a/isisd/isis_pdu.c
+++ b/isisd/isis_pdu.c
@@ -187,7 +187,7 @@ static int process_p2p_hello(struct iih_info *iih)
adj->sys_type = ISIS_SYSTYPE_UNKNOWN;
}
- if (tw_adj && adj->threeway_state == ISIS_THREEWAY_DOWN)
+ if (tw_adj)
adj->ext_circuit_id = tw_adj->local_circuit_id;
/* 8.2.6 Monitoring point-to-point adjacencies */