Re: [Idr] draft-spaghetti-idr-bgp-sendholdtimer - Feedback requested

Robert Raszuk <> Wed, 28 April 2021 16:52 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id AA0863A1657 for <>; Wed, 28 Apr 2021 09:52:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id T6vWGO58JsLa for <>; Wed, 28 Apr 2021 09:52:34 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:4864:20::12a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AFE6B3A1658 for <>; Wed, 28 Apr 2021 09:52:34 -0700 (PDT)
Received: by with SMTP id b23so17755927lfv.8 for <>; Wed, 28 Apr 2021 09:52:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=qcyOZ6JxtTx31zzw+UBYaH+IPfa41Yq2HCJC6x5MsNI=; b=GimiUgxTI7MNVBfvvd28q0Hbjgb7/8U+ydGB6q8ptja1MEp0ICgtHW7NZk0a/z+hba /x4IRd3k1Vgr/dMGy2PIL5VilLbw1xAu6I3bI1ve+Yp+TPub+mw0s2CDK5BJYP/JVvoZ rXnfq7W7xBLaCZTwM9ToiLr/VZgTOMu0ZouelDlkUrER+WI4i483yxOJgiibSAS3QJeh UwyJTIeWHKNrqGibCZkoMz9cgU16nkbsmJcGmekUrtjDg2vHKNV4B83qzINipjNbDxgr nHMhEuGsyuhSreo4gchXNIB2EhyJ9DR5XPf0vA2Sdp4TJGTtV3jQ3dUsXvqLS6hJVBbP o9Fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qcyOZ6JxtTx31zzw+UBYaH+IPfa41Yq2HCJC6x5MsNI=; b=sWK2W9D/pDRjIsKytj7+z2VOFOCcAIDPVff4HgGsiTk5fRUdjzbPOS2YSkzjFxS43L N/poyD/bFgAO1KTyj4QjqH7I94r+yRI5QeEEa/RWMOtZkyH8aGLGXFWYpFIVSo7lvIU1 NWO9/Sb7yhZ4SPNIQtaLJ07k4DMIv66V65SkfC+S7jR9lFZHPfEVVKHjop1irIFKBO7u 2siqsNDp+pirMj43Wxwk481ro6pr78k5YWz5Gu3Tc2VLm/xL6mKDNjFQ6Ys5k3BsN9IK YGFgZgqEc84VgfiDabtPSvRUnq/fXqwAjpExH9b9WN9iCOeMeSNRJ8nGGlPSmeJF1SRL 6NjQ==
X-Gm-Message-State: AOAM5303AwEynPqY4NtQT/LzQfBGLFJn0Ve7FS2gDlE2HIUqlTEW23vy 0GsmGaM1XhY62HihHSUEPlM1iooAepWhOTUCAssMPw==
X-Google-Smtp-Source: ABdhPJxQDBvGjECPIUOJPnPefD7Bwdd4NDbxVoiZ3fi0bya0c8mQg1Tl/NJTwGUmilNGUq4ScEuAMvEg3LiDpG4vhlE=
X-Received: by 2002:a19:750a:: with SMTP id y10mr21466505lfe.517.1619628747542; Wed, 28 Apr 2021 09:52:27 -0700 (PDT)
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
From: Robert Raszuk <>
Date: Wed, 28 Apr 2021 18:52:17 +0200
Message-ID: <>
To: tom petch <>
Cc: "Jakob Heitz (jheitz)" <>, "idr@ietf. org" <>, Ben Cox <>
Content-Type: multipart/alternative; boundary="0000000000002a625005c10b3429"
Archived-At: <>
Subject: Re: [Idr] draft-spaghetti-idr-bgp-sendholdtimer - Feedback requested
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Inter-Domain Routing <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 28 Apr 2021 16:52:41 -0000

> Once we can not write to a peer over existing TCP session we could try to
> OPEN a new TCP session to the same address:179 with the same security
> strings. We could use same or different BGP_ID.
> <tp>
> As per RFC4271, that sets up a second FSM and leads to connection
> collision and the shutdown of one system, the one being dependent on who
> initiated the stuck session, so it could fall to the stuck system to act,
> except it is stuck so it cannot.

As I mentioned in comment brackets last time we investigated this topic the
conclusion was reached that most BGP implementations do not follow RFC in
that respect. We were even considering adding a knob "rfc-compliant" to bgp

But I 100% agree that we should do a bit more "investigation" what's wrong
before resetting the session. Otherwise next session may experience the
same phenomenon.

Ideally it would be best to use bgp diagnostic message to exchange some
parameters before resetting some session (but we are not there yet with
this communication channel). Ideally it should run on different port.

Many thx,

> I have not seen an analysis of exactly what has gone wrong but cannot help
> thinking that it could well be a bug, in TCP or BGP, in the peer in which
> case expecting rational behaviour of it might be expecting too much.
> A different approach, leading on from this idea, would be to reserve
> another TCP port number for BGP use which BGP could use to check out
> whether or not it can establish a TCP connection with the peer.  If not,
> then the peer is beyond help.  (TCP ports are a scarce resource but then
> functioning BGP is rather important to the health of the Internet).  If it
> can establish a TCP connection, then there are plenty of options available.
> Tom Petch

> /* When we discussed eBGP peering between VRFs of the same PE it was
> confirmed that most if not all implementations (at that time) do not check
> for different BGP_ID when accepting an OPEN). */
> If a new session succeeds and we sync routes we are good. Old session can
> be terminated. No data plane disruption at all.
> If not it would be indeed a sign that peer's BGP is not doing that well
> and perhaps confirmation that in some deployment situations it would be
> good to remove him from the picture after draining his routes from our
> peers.
> Best,
> R.