Factor out the cache reset logic into rtr_reset_cache() and use it
authorclaudio <claudio@openbsd.org>
Sat, 11 Mar 2023 10:04:59 +0000 (10:04 +0000)
committerclaudio <claudio@openbsd.org>
Sat, 11 Mar 2023 10:04:59 +0000 (10:04 +0000)
commit5a04dc7fa7a3bcbb09ba86ac4b94f35b6773989f
tree7a64e23516da9f69d61d42540c49b437de87ca5e
parent81b6d3027e03d3935d68f538fccdbd46d7664ac7
Factor out the cache reset logic into rtr_reset_cache() and use it
consitently in all places where the cache should be reset.

Additionally adjust the FSM to handle a connection close event in the
protocol negotiation phase as a protocol mismatch. Some caches fail
to send an error PDU and this allows them to work. A drawback is that
if the connection is closed because of a different reason the system
will fall back to a lower then necessary version. The RFC and draft
mandates this behaviour.

OK tb@
usr.sbin/bgpd/rtr_proto.c