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

Jeffrey Haas <> Mon, 26 April 2021 00:19 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0019A3A08E7 for <>; Sun, 25 Apr 2021 17:19:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id anyrRazV5LB3 for <>; Sun, 25 Apr 2021 17:19:51 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 951533A08DE for <>; Sun, 25 Apr 2021 17:19:51 -0700 (PDT)
Received: by (Postfix, from userid 1001) id 026451E45A; Sun, 25 Apr 2021 20:43:02 -0400 (EDT)
Date: Sun, 25 Apr 2021 20:43:02 -0400
From: Jeffrey Haas <>
To: "Jakob Heitz (jheitz)" <>
Cc: Robert Raszuk <>, "idr@ietf. org" <>, Ben Cox <>
Message-ID: <>
References: <> <> <> <> <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.21 (2010-09-15)
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: Mon, 26 Apr 2021 00:19:53 -0000


On Sun, Apr 25, 2021 at 11:28:43PM +0000, Jakob Heitz (jheitz) wrote:
> My understanding of TCP zero window is different.
> It is the peer sending 0 in the "window" field of the TCP header
> in the 16 bit word, at offset 14 bytes into the header.
> That means it will not accept any TCP data from you,
> but it is perfectly capable of sending you data and
> accepting your acks for it.

You're quite correct and I was mistaken here.

> If it were not so, then it would not be able to send you keepalives
> and your hold timer would expire.

Eventually, which was my incorrect thinking.

> It does not mean that the data plane is broken.
> If that were the case, you would get either no keepalives
> from the peer or no more acks to your own keepalives.

For my part, I don't believe that "broken data plane" is the main issue
here.  It's simply the fact that since the peer is blocked from sending
updates, we have a flavor of the dreaded "stuck route" problem.

> If forwarding is broken one way from you to your peer, then
> you will no longer get ACKs back from keepalives or other
> BGP packets you send to your peer.

Forwarding for directly attached peers (same subnet) often will behave well
when forwarding for remotely attached peers may fail.  A quirk of various
silicon.  And certainly not a guaranteed behavior.

>  This is not a zero window
> condition. This may be another condition we wish to monitor.
> Note, there are other ways to monitor this condition, e.g. BFD.

I might know a little about that.

-- Jeff