Can a BFD session change its source port to facilitate auto recovery

Abhinav Srivastava <> Wed, 22 March 2023 21:35 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C2A6BC14CE2C for <>; Wed, 22 Mar 2023 14:35:19 -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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id co-IGTOBWR-g for <>; Wed, 22 Mar 2023 14:35:15 -0700 (PDT)
Received: from ( [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by (Postfix) with ESMTPS id 4A272C14F748 for <>; Wed, 22 Mar 2023 14:35:15 -0700 (PDT)
Received: by with SMTP id ek18so78672051edb.6 for <>; Wed, 22 Mar 2023 14:35:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20210112; t=1679520913; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=8HUhDJQUmcaHiZUG9mYK9LfwMd150qZBQDEwGLPW1oc=; b=dewlSDUZWTm9p+a+F4G9wXz3eVBk3yIFkLBKXZfV72i86S8ubpkTtD5GlbHqiJNtP9 n03E7n4sO6sCKEALG7tUL1AcFWkdzNReqNQAt/JWz5+fbmaOHij04LGCc3UjEKuVERC5 XSq/E7yuKmIa5ur1m6n9RGVqbr4IgvA2War1jZDzotdd//O8PN48HpgHC5xdq+90cFys uKWdk5KcZyGdABgkDTrekayTEa710iK/FUneO2/1o4T7t9+/XKfV6akgud8hWNQY9oiC ECnLcsd4vq8EOpYNMoFP1O+H2OAKGgSkOEy8MzU8lPA5uGpAoa3TPNwVbLd/I625fAxb YAdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20210112; t=1679520913; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=8HUhDJQUmcaHiZUG9mYK9LfwMd150qZBQDEwGLPW1oc=; b=t9HwXz5SAcbbiAHvTRJE/lmoNKi9enCVdaRlUcVi0nKnHMswYVfB6Br1oZ6jrpo/0S +OVoCG56JKjHDmCQJVqSVxzNPh5dHI9zWoeu+SE03Hh2GiVPhjy3ppsDk7wxqNzubUUK U3LrSIIb7PvoztvzcmL46xGRCUg17i4VBYyFvFKLAS8mO/3wy1wJidYXphYfXkvxOBlu vn1kcQi3CnJcVeb9hPD/+d4OBGubeqzNJH3/db58LUopaIj39EW1QCdlqRpOhmA1LoKq kbLA0+9mfL3vAsRZAfkqNYy2f8cWs/Vu/V9tHMXGgLhk2R2SAeQPMZbm6Ta8ySMbzF8n 95xw==
X-Gm-Message-State: AO0yUKWj2+QUAuYdZUB4z6bMmyEAKqIBzgWBlwkIilTDsAC75PU0j34E 6P8UjfMc8w2tSRkT3Ayr9k3lMAmQqoiyfjXxBzuGw0pL
X-Google-Smtp-Source: AK7set+UgxgmeOJJJ9m+H9Qqu3YqBdXuNNDK7bCOU7W0m07udI6kBvHQkDWIaqCJYbusNP7ygFylCHeez5QRghyGsYk=
X-Received: by 2002:a50:9e6f:0:b0:4fa:da46:6f1c with SMTP id z102-20020a509e6f000000b004fada466f1cmr4404872ede.2.1679520913520; Wed, 22 Mar 2023 14:35:13 -0700 (PDT)
MIME-Version: 1.0
From: Abhinav Srivastava <>
Date: Wed, 22 Mar 2023 14:35:02 -0700
Message-ID: <>
Subject: Can a BFD session change its source port to facilitate auto recovery
Content-Type: multipart/alternative; boundary="000000000000717b4a05f783ef95"
Archived-At: <>
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "RTG Area: Bidirectional Forwarding Detection DT" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 22 Mar 2023 21:36:29 -0000

Hi all,

I needed clarification around whether source port can be changed for a BFD
session in case of multi hop BFD.   The ability to change BFD source port
when BFD session goes down helps BFD session to recover if its stuck on a
network path where there is some intermittent but significant packet loss.

In such cases, normally without BFD, end to end application traffic would
eventually settle down on a good path as applications typically change
source port after experiencing disconnection or failures.  But if BFD is
being used to monitor some part of a path which is experiencing significant
but not 100% packet loss, it will start causing next hop list of associated
static route or the associated BGP sessions to start flapping forever, as
BFD packets would be stuck to that partial lossy path forever (until BFD
session is deleted and recreated by admin action).  This may also hinder
the typical application recovery strategy of changing source port on

Ability to dynamically change BFD source port can help BFD recover in such
cases.  Is this something that is allowed as per RFC?  The RFC5881, section
4 (for single hop) case states that –

*“The source port MUST be in the range 49152 through 65535. The same UDP
source port number MUST be used for all BFD Control packets associated with
a particular session”*