From c2f0038223281367197ff6ca40f6b8a33f1d43a1 Mon Sep 17 00:00:00 2001 From: Baorong Liu <96146196+baorliu@users.noreply.github.com> Date: Fri, 3 Mar 2023 17:55:52 -0800 Subject: [PATCH 1/4] [bfdorch] add default TOS value for BFD session Add default TOS value when create BFD session, default DSCP value is 46, default ECN is 0. The BFD session configuration will override this default value. --- orchagent/bfdorch.cpp | 9 +++++++++ tests/test_bfd.py | 13 ++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/orchagent/bfdorch.cpp b/orchagent/bfdorch.cpp index f242645b35..5d25cfd899 100644 --- a/orchagent/bfdorch.cpp +++ b/orchagent/bfdorch.cpp @@ -243,6 +243,7 @@ bool BfdOrch::create_bfd_session(const string& key, const vector(value); + } else SWSS_LOG_ERROR("Unsupported BFD attribute %s\n", fvField(i).c_str()); } @@ -352,6 +357,10 @@ bool BfdOrch::create_bfd_session(const string& key, const vector Date: Mon, 6 Mar 2023 15:03:39 -0800 Subject: [PATCH 2/4] [bfdorch] use define for default TOS --- orchagent/bfdorch.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/orchagent/bfdorch.cpp b/orchagent/bfdorch.cpp index 5d25cfd899..873d3ff38f 100644 --- a/orchagent/bfdorch.cpp +++ b/orchagent/bfdorch.cpp @@ -14,6 +14,8 @@ using namespace swss; #define BFD_SESSION_DEFAULT_TX_INTERVAL 1000 #define BFD_SESSION_DEFAULT_RX_INTERVAL 1000 #define BFD_SESSION_DEFAULT_DETECT_MULTIPLIER 10 +// TOS: default 6-bit DSCP value 46, default 2-bit ecn value 0. 46<<2 = 184 +#define BFD_SESSION_DEFAULT_TOS 184 #define BFD_SESSION_MILLISECOND_TO_MICROSECOND 1000 #define BFD_SRCPORTINIT 49152 #define BFD_SRCPORTMAX 65536 @@ -243,7 +245,7 @@ bool BfdOrch::create_bfd_session(const string& key, const vector Date: Mon, 6 Mar 2023 16:58:58 -0800 Subject: [PATCH 3/4] [bfdorch] change BFD packet DSCP default value to 48 --- orchagent/bfdorch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/orchagent/bfdorch.cpp b/orchagent/bfdorch.cpp index 873d3ff38f..25c6c20cf2 100644 --- a/orchagent/bfdorch.cpp +++ b/orchagent/bfdorch.cpp @@ -14,8 +14,8 @@ using namespace swss; #define BFD_SESSION_DEFAULT_TX_INTERVAL 1000 #define BFD_SESSION_DEFAULT_RX_INTERVAL 1000 #define BFD_SESSION_DEFAULT_DETECT_MULTIPLIER 10 -// TOS: default 6-bit DSCP value 46, default 2-bit ecn value 0. 46<<2 = 184 -#define BFD_SESSION_DEFAULT_TOS 184 +// TOS: default 6-bit DSCP value 48, default 2-bit ecn value 0. 48<<2 = 192 +#define BFD_SESSION_DEFAULT_TOS 192 #define BFD_SESSION_MILLISECOND_TO_MICROSECOND 1000 #define BFD_SRCPORTINIT 49152 #define BFD_SRCPORTMAX 65536 From c5fd742b2529b585b58fc096e5ba2d2bfa5f92b5 Mon Sep 17 00:00:00 2001 From: Baorong Liu <96146196+baorliu@users.noreply.github.com> Date: Mon, 6 Mar 2023 20:57:50 -0800 Subject: [PATCH 4/4] [bfdorch] fix ut after change default tos value --- tests/test_bfd.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/test_bfd.py b/tests/test_bfd.py index e16dabbba5..5add329278 100644 --- a/tests/test_bfd.py +++ b/tests/test_bfd.py @@ -103,7 +103,7 @@ def test_addRemoveBfdSession_ipv6(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "2000::1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "2000::2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_ASYNC_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "6" } self.check_asic_bfd_session_value(session, expected_adb_values) @@ -144,7 +144,7 @@ def test_addRemoveBfdSession_interface(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "10.0.0.1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "10.0.0.2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_ASYNC_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "4", "SAI_BFD_SESSION_ATTR_HW_LOOKUP_VALID": "false", "SAI_BFD_SESSION_ATTR_DST_MAC_ADDRESS": "00:02:03:04:05:06" @@ -187,7 +187,7 @@ def test_addRemoveBfdSession_txrx_interval(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "10.0.0.1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "10.0.0.2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_ASYNC_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "4", "SAI_BFD_SESSION_ATTR_MIN_TX": "300000", "SAI_BFD_SESSION_ATTR_MIN_RX": "500000", @@ -230,7 +230,7 @@ def test_addRemoveBfdSession_multiplier(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "10.0.0.1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "10.0.0.2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_ASYNC_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "4", "SAI_BFD_SESSION_ATTR_MULTIPLIER": "5" } @@ -272,7 +272,7 @@ def test_addRemoveBfdSession_multihop(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "10.0.0.1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "10.0.0.2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_ASYNC_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "4", "SAI_BFD_SESSION_ATTR_MULTIHOP": "true" } @@ -314,7 +314,7 @@ def test_addRemoveBfdSession_type(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "10.0.0.1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "10.0.0.2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_DEMAND_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "4" } self.check_asic_bfd_session_value(session, expected_adb_values) @@ -357,7 +357,7 @@ def test_multipleBfdSessions(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "10.0.0.1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "10.0.0.2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_ASYNC_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "4" } self.check_asic_bfd_session_value(session1, expected_adb_values) @@ -384,7 +384,7 @@ def test_multipleBfdSessions(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "10.0.0.1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "10.0.1.2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_ASYNC_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "4", "SAI_BFD_SESSION_ATTR_MIN_TX": "300000", "SAI_BFD_SESSION_ATTR_MIN_RX": "500000", @@ -413,7 +413,7 @@ def test_multipleBfdSessions(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "2000::1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "2000::2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_DEMAND_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "6" } self.check_asic_bfd_session_value(session3, expected_adb_values) @@ -440,7 +440,7 @@ def test_multipleBfdSessions(self, dvs): "SAI_BFD_SESSION_ATTR_SRC_IP_ADDRESS": "3000::1", "SAI_BFD_SESSION_ATTR_DST_IP_ADDRESS": "3000::2", "SAI_BFD_SESSION_ATTR_TYPE": "SAI_BFD_SESSION_TYPE_ASYNC_ACTIVE", - "SAI_BFD_SESSION_ATTR_TOS": "184", + "SAI_BFD_SESSION_ATTR_TOS": "192", "SAI_BFD_SESSION_ATTR_IPHDR_VERSION": "6" } self.check_asic_bfd_session_value(session4, expected_adb_values)