Bug 1867793

Summary: FRR does not conform to the source port range specified in RFC5881
Product: Red Hat Enterprise Linux 8 Reporter: mcolombo
Component: frrAssignee: Michal Ruprich <mruprich>
Status: CLOSED ERRATA QA Contact: Daniel Rusek <drusek>
Severity: medium Docs Contact:
Priority: urgent    
Version: 8.4CC: drusek, pbarta, psklenar, thozza
Target Milestone: rcKeywords: EasyFix, Patch, Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: frr-7.0-10.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 02:28:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description mcolombo 2020-08-10 19:01:52 UTC
Description of problem:
FRR does not conform to the source port range specified in RFC5881. If a port outside the specified range is used it causes routers to report that the source port of the packets coming from bfdd are using an invalid IP port number.

Version-Release number of selected component (if applicable):
frr-7.0-8.el8

How reproducible:
Every time

Steps to Reproduce:
1.use aBFD in ffr
2.
3.

Actual results:
router error for invalid source port from BFD

Expected results:
source ports be within RFC5881 spec

Additional info:
https://tools.ietf.org/html/rfc5881

"BFD Control packets MUST be transmitted in UDP packets with
   destination port 3784, within an IPv4 or IPv6 packet.  The source
   port MUST be in the range 49152 through 65535. "



I have built a test package with the following changes. 

diff --git a/bfdd/bfd.h b/bfdd/bfd.h
index 3a58a8d..0970333 100644
--- a/bfdd/bfd.h
+++ b/bfdd/bfd.h
@@ -315,8 +315,8 @@ struct bfd_iface {
 #define BFD_PKT_INFO_VAL 1
 #define BFD_IPV6_PKT_INFO_VAL 1
 #define BFD_IPV6_ONLY_VAL 1
-#define BFD_SRCPORTINIT 49142
-#define BFD_SRCPORTMAX 65536
+#define BFD_SRCPORTINIT 49152
+#define BFD_SRCPORTMAX 65535
 #define BFD_DEFDESTPORT 3784
 #define BFD_DEF_ECHO_PORT 3785
 #define BFD_DEF_MHOP_DEST_PORT 4784

Comment 13 errata-xmlrpc 2020-11-04 02:28:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: frr security and bug fix update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2020:4619