On 2019/08/12 16:18, Claudio Jeker wrote:
> I just changed the way IdleHold time is reset to the default values.
> Another place I think it makes sense to reset these backoff values is
> when an admin issues a bgpctl nei 192.0.2.2 clear or up.
>
> This should help bringing sessions up between systems after instabilities
> (or in my case when testing too much and therefor reseting the session
> over and over again).
>
> OK?
Been there done that - yes please! OK.
> --
> :wq Claudio
>
> Index: control.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/bgpd/control.c,v
> retrieving revision 1.98
> diff -u -p -r1.98 control.c
> --- control.c 8 Aug 2019 20:06:29 -0000 1.98
> +++ control.c 12 Aug 2019 14:11:12 -0000
> @@ -376,6 +376,9 @@ control_dispatch_msg(struct pollfd *pfd,
> bgp_fsm(p, EVNT_START);
> p->conf.down = 0;
> p->conf.shutcomm[0] = '\0';
> + p->IdleHoldTime =
> + INTERVAL_IDLE_HOLD_INITIAL;
> + p->errcnt = 0;
> control_result(c, CTL_RES_OK);
> break;
> case IMSG_CTL_NEIGHBOR_DOWN:
> @@ -390,6 +393,9 @@ control_dispatch_msg(struct pollfd *pfd,
> strlcpy(p->conf.shutcomm,
> neighbor->shutcomm,
> sizeof(neighbor->shutcomm));
> + p->IdleHoldTime =
> + INTERVAL_IDLE_HOLD_INITIAL;
> + p->errcnt = 0;
> if (!p->conf.down) {
> session_stop(p,
> ERR_CEASE_ADMIN_RESET);
>