Skip to content

Commit 48733aa

Browse files
m-nazeerBRCM-DevOpsPrasanth-KVSravaniMaddukurishivaboddula
authored andcommitted
sync from broadcom_sonic_4.x_share to dell_sonic_4.x_share - 0726 (#147)
* [JIRA SONIC-54751] Flex-DPB UMF changes - Rejecting config when max ports per pipe-line is reached. - Support some new modes in different formats - 1x50G-PAM and 1x50G-NRZ Signed-off-by: Prasanth Kunjum Veettil <[email protected]> Change-Id: I1305e237f000434f7c837d11b9977246df30efec * [JIRA SONIC-54751] FlexDPB - modifying the show interface breakout modes command to display the pipe. Signed-off-by: Prasanth Kunjum Veettil <[email protected]> Change-Id: Icadd5afd3729f65180a99cb8133fae47e090849c * [JIRA SONIC-54751] FlexDPB - Making the CLI output better when there are too many breakout modes. Signed-off-by: Prasanth Kunjum Veettil <[email protected]> Change-Id: I38ec87ef6025978dbd88d7d5a2fa9ff7209ac969 * [JIRA SONIC-54751] Flex-DPB UM Adding CLI "show interface breakout resources" Signed-off-by: Prasanth Kunjum Veettil <[email protected]> Change-Id: I8b9658b289557e0c708fa02f65e392b112c11609 * [JIRA SONIC-59502] User name field in not applicable cases should be displayed as Not Applicable instead of empty. Change-Id: Ie96be7eacf13a9ebe4c9e95abbd6a88f1e47533f * [JIRA SONIC-60245] Field to display the operational value of the session timeout in the output of the show authentication clients. Change-Id: Ieddba8ac30568d55197fe1ce172b8cc208ffdc30 * [JIRA SONIC-56405] Added support for pac configuration over range of interfaces. Change-Id: I0ce68fc2497fcc45fcd0c15d6113542967d974c2 * [JIRA SONIC-61478] KLISH: add 50G AN support Signed-off-by: Dante Su <[email protected]> Change-Id: If6c05a49f18469858b66c58cd456e7b4f6a3c0e0 * [JIRA SONIC-61803] GetTablePattern ExistKeysPattern API in DB Layer - Added Statistics Change-Id: I3732e78e13881842e9394a571788abe3ab1ac337 * [JIRA SONIC-61314] go.sum update Change-Id: I7576ffc6933f9727747d3463b022c23ad7def609 * [JIRA SONIC-61807] - Model Identity as enumeration Used Enum to represent identities This will allow swagger ui to show drop-down in case of parameters. Change-Id: I8e438545d0b28c9c2ee545a2704366da512b5c74 * [JIRA SONIC-60508]: ospf neighbor details template fix Change-Id: Iee1dbdc72e02a6d23e0dfac71220843be3730ddd * [JIRA SONIC-61879] PAC - Added required changes for config knobs dymanic_vlan_enable, vlan_assign_enable. Change-Id: Ib38db8f2e9917b4261fc709e1548ea78f0196453 * [JIRA SONIC-61168] Klish support for ND config commands Change-Id: I7227cb99ecf82bddac169c3b544bd28758f40c3b * [JIRA SONIC-61223] With user added explicit snooping configuration on Vlan, actioner has called PATCH with default value for the no form of the user configuration, this has resulted in running configuration showing default value when there is no explicit configuration for the default - Fixed actioner script to trigger DELETE for the snooping configuration instead of PATCH with the default values. - Fix added in l2mcmgrd to fill snooping configuration IPC message by reading redisDB update instead of keeping separate local cache for snooping configurations which comes before snooping enable. Change-Id: I3ace4e6eca5cb7608d48bb9e3a11bb1c4976e4d9 * [JIRA SONIC-61948] - Using oc-yang for dhcp snooping trusted port configuration in Klish Change-Id: I33c811e9316b552b08cdbc12489c73806f4e3e95 * [JIRA SONIC-54751] Flex DPB - PAM/NRZ generic lane count approach - System level max ports - Lane count notation translation, display, config display Signed-off-by: Prasanth Kunjum Veettil <[email protected]> Change-Id: If8b5429e732fce5342d960b0980a250f75a5ff8c * [JIRA SONIC-54751] Flex DPB - 20G speed support Signed-off-by: Prasanth Kunjum Veettil <[email protected]> Change-Id: I8a0f581c70c0aa6b30e76a64fe4262d44f828568 * [JIRA SONIC-62134] - Corrected the sag xml order to come after vrf config Change-Id: I0d463d9d16e014d39b343d14d36ff801019017d4 * [JIRA SONIC-61997] using escap_chars option to skip '\' for special chars Change-Id: I3b654ea105931c0e3605b84ed5db560cb5e13e95 * [JIRA SONIC-62061] validating tag field of SNMP_SERVER_TARGET entry, before using it Change-Id: I504812121a85e83693d00dae76d5321583b1b7a0 * [JIRA SONIC-61168] Klish support for show command Change-Id: Ia2e6d4d8b8ae598af3cdcdbbb051bcddc8625bbc * [JIRA SONIC-62420] Added changes to not format debug logs until its enabled to speed up execuction of actioners for ACL and FBS Change-Id: Ibbad404d7f6890d03b99d63f26f9ddd36eab728d * [JIRA SONIC-54751] Flex DPB - rename lane-count to total-lane-count Signed-off-by: Prasanth Kunjum Veettil <[email protected]> Change-Id: I2ecb8e0a5e6ca0ced86bb795ef2a98a155c25fdc * [JIRA SONIC-60841] The NTP client must support the "prefer" option and provide CLI for enabling it Change-Id: I724543e858a256032fa9d45a5982a4124266a859 * [JIRA SONIC-61168] Klish support for modifying help string associated with config commands to make it more descriptive Change-Id: I9377ef77a093c3b0ed5269a1df874965ae6a3298 * [JIRA SONIC-61879] PAC - Added required UI changes for Auth Fail Retry config command. Change-Id: Id66b4d31e6a509816f4d5b598c005b109397856e * [JIRA SONIC-60945] Show redirect ACL binding in show access-group CLI Change-Id: I56a2f7bce3a34eec51c4371210a4379ee8730589 * [JIRA SONIC-62672] Fix exception when per interface acl mode is enabled Change-Id: If924f71bc4e614ff948351a94a3a26b9ef18df6b * [JIRA SONIC-62796] SONIC_4.1.0 - KLISH CLI: Add 200G support to 'show interface advertise' Signed-off-by: Dante Su <[email protected]> Change-Id: Ic66c272a8bc8826480365eb5780ef4db2aa4f1ca * [JIRA SONIC-62847] Clish pre-exec hook * Added a new pre-exec hook, which gets called before executing the ACTION or CONFIG handlers * Hook function receives the current command context * Command execution is aborted if hook returns non-zero value * Added a skeleton implementation in clish plugin * Few utility functions for the future pre-hook implementation char *get_uname(clish_context_t *c) char *get_masked_line(clish_context_t *c) Change-Id: I44a0a5df4419fb51ad90ff9898db6b9534ef5eb1 * [JIRA SONIC-62732] [JIRA SONIC-62730] : 1.Fix jinja template to show proper state for helper strict lsa checking Change-Id: I313baac45137b46eab821fb5e17234ca365270a5 * [JIRA SONIC-62280] Added COA klish CLI changes. Change-Id: Ie7498ad7451763256641862da4d5ba12efdc750a * [JIRA SONIC-61879] Modified authentication fail retry default value to 1, made minor corrections in authmgr appl. Change-Id: I1cef51a96991d22a54e407c0b6dd60d0edef055c * [JIRA SONIC-62875] Fix processing of dynamic acls and redirect acls when per interface acl counter mode is enabled Change-Id: Ic8d3e0c8b16ac9785b8f9c687e603c3f8659cd77 * [JIRA SONIC-61950]: Dot1x/MAB timers config support Change-Id: I022b1d75b183e3028db5c083b1d70a971616a597 * [JIRA SONIC-62911] PTP 1-step and TH3 support - UMF changes Signed-off-by: Prasanth Kunjum Veettil <[email protected]> Change-Id: Ib46e89a9f82c73b8e8af5b53d479258f424a51f5 * [JIRA SONIC-63025] SONIC_4.1.0 - KLISH: add the missing link-training status support Signed-off-by: Dante Su <[email protected]> Change-Id: Icb05d69abd3a9042d5d2838868fcbde7871caf09 * [JIRA SONIC-63081] SONIC_4.1.0 - KLISH/YANG: Reverting SONIC-51042 to use float with precision 2 in DOM values Signed-off-by: Dante Su <[email protected]> Change-Id: I200df89d1dcc234965eb87a27b5c6df8e28c3f0a * [JIRA SONIC-62637] : 1. Added support for -:show ip ospf database opaque-link 2.Support opaque-link lsa summary for -:show ip ospf database Change-Id: I631ca9918bb90630420a94caed1603d673923e81 * [JIRA SONIC-62953] added check for security-nme key before accessing it. Change-Id: I5ff72ed7a4b183cf939455e2afba97d0f964d618 * [JIRA SONIC-63000] Portchannel min-links related changes Change-Id: I3ab9f27c8b6fe5266eddfc60295d0fa3bb806557 * [JIRA SONIC-63158] Kernel 5.10 does not support l3mdev cgroups, instead cgroups with BPF programs are used to achieve this. Since kernel vrf support now adds CGROUPS with BPF which iproute2 utils uses in ip vrf exec commands. Update SONiC scripts to "ip vrf exec" from cgexec. Change-Id: I8df96902b4d933462fa23cb14100caf5f432de6f * [JIRA SONIC-62104] SONIC_4.1.0 - EVPN Multihoming Task - KLISH system-mac and evpn ethernet segment Change-Id: Iad4153e21c9f67b0326aced909f7c9d07ef67429 * [JIRA SONIC-63064] SONIC_4.1.0 - EVPN Multihoming Task - mclag domain config checking Change-Id: I8bc1619034e37fd99fdbac8a096fbe51de0d85b3 * [JIRA SONIC-62780] SONIC_4.1.0 - Add interface Portchannel range support for system-mac configuration Change-Id: I10bec6d70e1eaff6af16de33c12f3dbc1aa47433 * [JIRA SONIC-63320] Added UI support for multi-vrf functionality of TAM collectors. Change-Id: Ie44af58c8aab48b54b43aa843ccf5ea7870db479 * [JIRA SONIC-63333] bgp clis - disable-ead-evi-rx, disable-ead-evi-tx, use-es-l3nhg Change-Id: I12470dbf82495e14cc3638e9b329897d5d9156f5 * [JIRA SONIC-63377] TCAM Keyprofile CLI Changes Few key-profile names are missing in TCAM CLI. Code changes has been done to add the missing key-profile names in TCAM CLI. Change-Id: I249cd34b6266e6c35e79b77d5fb9d95a0dccaf04 * [JIRA SONIC-63000] Portchannel fallback config updated related changes Change-Id: I9fb8885f8f055ffe7a8556788f1e8b50ac5fb73f * [JIRA SONIC-63408] - Fix CLI docgen issue Re-Enaled cli docgen made it to execute with python3 always Fixed unicode issues. Change-Id: I611133abbf0d389172768153e6e3fc2fa2f1b996 * [JIRA SONIC-63053] : 1.Add ospf gr prepartion status to ospf global state info 2.Fixed a template issue Change-Id: I0a875f2b7b520b535f564061eb92427be8db26dd * [JIRA SONIC-62082] Support for clearing evpn duplicate address based on IP address. Change-Id: I3f0ab0428cca4e37285ffa12416d7755cc4ce020 * [JIRA SONIC-63000] Portchannel fast-rate config updated related changes Change-Id: If154af9ada867067aee3b631170e1a7c815d9f05 * [JIRA SONIC-62800] Invoking new statistics detail URLs. Change-Id: I29290a17cc85223c6ba5f23f4d64cb9c29c08380 * [JIRA SONIC-63378] Fix ACL description update to not include double quotes, ACL subintf binding to use subintf index, added exception handling to prevent exception in 1 show running callback to impact other callbacks Change-Id: Ib796610c3fe4bfb1dee090518c564f2069e95d5c * [JIRA SONIC-62913] Unable to remove tacacs-server host and observing "% Error: Client is not authorized to perform this operation" Change-Id: I972174c64374ab198678e7722bcf8822cced1830 * [JIRA SONIC-63000] Fixing the show-configuration and show-running-configuration for the config updated related changes Change-Id: I2c4e4a5a02a3508e86d8111b7dd1a66db4caf548 * Fixing merge conflict Co-authored-by: sonicmergeuser <[email protected]> Co-authored-by: Prasanth Kunjum Veettil <[email protected]> Co-authored-by: Sravani Maddukuri <[email protected]> Co-authored-by: Shiva Kumar Boddula <[email protected]> Co-authored-by: Dante Su <[email protected]> Co-authored-by: Sonic Build <[email protected]> Co-authored-by: Arun Barboza <[email protected]> Co-authored-by: Sachin Holla <[email protected]> Co-authored-by: Faraaz <[email protected]> Co-authored-by: Ramachandran Sathianandan <[email protected]> Co-authored-by: sudhanshukumar22 <[email protected]> Co-authored-by: Ashok Krishnegowda <[email protected]> Co-authored-by: Akhilesh Samineni <[email protected]> Co-authored-by: suresh-rupanagudi <[email protected]> Co-authored-by: Lakshmi Sruthy <[email protected]> Co-authored-by: Abhishek Dharwadkar <[email protected]> Co-authored-by: Asha Behera <[email protected]> Co-authored-by: Rama Chandra Reddy Gaddam <[email protected]> Co-authored-by: madhukar-kamarapu <[email protected]> Co-authored-by: Preetham Singh <[email protected]> Co-authored-by: leeprecy <[email protected]> Co-authored-by: Mayank Maheshwari <[email protected]> Co-authored-by: karthik raj <[email protected]> Co-authored-by: Ashok Narayanasamy <[email protected]> Co-authored-by: Kishore Kunal <[email protected]> Co-authored-by: Phanindra TV <[email protected]> Co-authored-by: Prabhu Sreenivasan <[email protected]> Co-authored-by: SONiC Syncbot <[email protected]>
1 parent fcebac0 commit 48733aa

File tree

9 files changed

+84
-32
lines changed

9 files changed

+84
-32
lines changed

CLI/actioner/show_config_interface.py

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -190,18 +190,11 @@ def show_interface_portchannel(render_tables):
190190
if ifname_key == portchannel["name"]:
191191
cmd_str = "interface PortChannel " + ifname_key.lstrip(
192192
"PortChannel")
193-
if "min_links" in portchannel:
194-
cmd_str += " min-links "
195-
cmd_str += str(portchannel["min_links"])
196193
if "static" in portchannel:
197194
if portchannel["static"]:
198195
cmd_str += " mode on"
199196
else:
200197
cmd_str += " mode active"
201-
if "fallback" in portchannel and portchannel["fallback"]:
202-
cmd_str += " fallback"
203-
if "fast_rate" in portchannel and portchannel["fast_rate"]:
204-
cmd_str += " fast_rate"
205198

206199
return "CB_SUCCESS", cmd_str
207200

@@ -217,7 +210,18 @@ def show_if_lag_config(render_tables):
217210
"sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST"]
218211
if "name" in portchannel:
219212
if ifname_key == portchannel["name"]:
213+
if "min_links" in portchannel:
214+
cmd_str += ";"
215+
cmd_str += "min-links "
216+
cmd_str += str(portchannel["min_links"])
217+
if "fast_rate" in portchannel and (portchannel["fast_rate"] == True):
218+
cmd_str += ";"
219+
cmd_str += "fast_rate"
220+
if "fallback" in portchannel and (portchannel["fallback"] == True):
221+
cmd_str += ";"
222+
cmd_str += "fallback"
220223
if "graceful_shutdown_mode" in portchannel:
224+
cmd_str += ";"
221225
if portchannel["graceful_shutdown_mode"] == "enable":
222226
cmd_str += "graceful-shutdown"
223227
if portchannel["graceful_shutdown_mode"] == "disable":

CLI/actioner/sonic_cli_acl.py

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ def __create_acl_rule_l2(args):
305305
next_item += 2
306306
elif args[next_item] == 'remark':
307307
full_cmd = os.getenv('USER_COMMAND', None)
308-
match = re.search('remark (["]?.*["]?)', full_cmd)
308+
match = re.search('remark ["]?([^"]+)["]?', full_cmd)
309309
if match:
310310
body["openconfig-acl:acl-entry"][0]["config"]['description'] = match.group(1)
311311
next_item = len(args)
@@ -457,7 +457,7 @@ def __create_acl_rule_ipv4_ipv6(args):
457457
next_item += 2
458458
elif args[next_item] == 'remark':
459459
full_cmd = os.getenv('USER_COMMAND', None)
460-
match = re.search('remark (["]?.*["]?)', full_cmd)
460+
match = re.search('remark ["]?([^"]+)["]?', full_cmd)
461461
if match:
462462
body["openconfig-acl:acl-entry"][0]["config"]['description'] = match.group(1)
463463
next_item = len(args)
@@ -546,7 +546,7 @@ def __handle_interface_acl_bind_request(args):
546546
},
547547
"openconfig-acl:interface-ref": {
548548
"config": {
549-
"interface": args[2]
549+
"interface": args[2].split(".")[0]
550550
}
551551
},
552552
"openconfig-acl:ingress-acl-sets": {
@@ -568,7 +568,7 @@ def __handle_interface_acl_bind_request(args):
568568
},
569569
"openconfig-acl:interface-ref": {
570570
"config": {
571-
"interface": args[2]
571+
"interface": args[2].split(".")[0]
572572
}
573573
},
574574
"openconfig-acl:egress-acl-sets": {
@@ -584,6 +584,9 @@ def __handle_interface_acl_bind_request(args):
584584
]
585585
}}
586586

587+
if "." in args[2]:
588+
body["openconfig-acl:interface-ref"]["config"]["subinterface"] = int(args[2].split(".")[1])
589+
587590
log.log_debug(str(body))
588591
return acl_client.post(keypath, body)
589592

@@ -743,7 +746,7 @@ def set_acl_remark_request(args):
743746
keypath = cc.Path('/restconf/data/openconfig-acl:acl/acl-sets/acl-set={acl_name},{acl_type}/config/description',
744747
acl_name=args[0], acl_type=args[1])
745748
full_cmd = os.getenv('USER_COMMAND', None)
746-
match = re.search('remark (["]?.*["]?)', full_cmd)
749+
match = re.search('remark ["]?([^"]+)["]?', full_cmd)
747750
if match:
748751
body = {"description": match.group(1)}
749752
return acl_client.patch(keypath, body)
@@ -755,7 +758,7 @@ def __set_acl_rule_remark(args):
755758
acl_name=args[0], acl_type=args[1], sequence_id=args[2])
756759

757760
full_cmd = os.getenv('USER_COMMAND', None)
758-
match = re.search('remark (["]?.*["]?)', full_cmd)
761+
match = re.search('remark ["]?([^"]+)["]?', full_cmd)
759762
if match:
760763
body = {"description": match.group(1)}
761764

@@ -1078,7 +1081,11 @@ def __parse_acl_entry(data, acl_entry, acl_type):
10781081
pass
10791082

10801083
try:
1081-
data[seq_id]['description'] = acl_entry['state']['description']
1084+
descr = acl_entry['state']['description']
1085+
if " " in descr and descr[0] != '"':
1086+
data[seq_id]['description'] = f'"{descr}"'
1087+
else:
1088+
data[seq_id]['description'] = descr
10821089
except KeyError:
10831090
pass
10841091

@@ -1117,7 +1124,11 @@ def __convert_oc_acl_set_to_user_fmt(acl_set, data):
11171124
data[acl_type][acl_name]['rules'] = OrderedDict()
11181125

11191126
try:
1120-
data[acl_type][acl_name]['description'] = acl_set['state']['description']
1127+
descr = acl_set['state']['description']
1128+
if " " in descr and descr[0] != '"':
1129+
data[acl_type][acl_name]['description'] = f'"{descr}"'
1130+
else:
1131+
data[acl_type][acl_name]['description'] = descr
11211132
except KeyError:
11221133
pass
11231134

CLI/actioner/sonic_cli_network_tools.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def do_cmd(args, func, vrfName):
3232

3333
if len(vrfName) > 0:
3434
if vrfName.lower() == "mgmt":
35-
cmd = "sudo cgexec -g l3mdev:" + vrfName + " " + func + " " + args
35+
cmd = "sudo /usr/bin/ip vrf exec " + vrfName + " " + func + " " + args
3636
else:
3737
cmd = func + " " + intfSwitch + " " + vrfName + " " + args
3838
else:

CLI/actioner/sonic_cli_show_config.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1038,7 +1038,10 @@ def render_cli_config(view_name="", view_keys={}):
10381038
for module_cb in set(modules):
10391039
mod_name = inspect.getmodule(module_cb).__name__
10401040
DB_Cache[mod_name] = {}
1041-
module_cb(context, DB_Cache[mod_name])
1041+
try:
1042+
module_cb(context, DB_Cache[mod_name])
1043+
except Exception as e:
1044+
showrun_log(logging.ERROR, "Callback {} encountered exception {} ", module_cb, e)
10421045
except Exception as e:
10431046
showrun_log(logging.ERROR, "Exception {} ", e)
10441047

CLI/actioner/sonic_cli_show_ospfv2.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,24 @@ def generate_show_ip_ospf(vrf):
4848
else:
4949
print("% OSPF instance not found")
5050
return
51+
52+
keypath = cc.Path(
53+
"/restconf/data/openconfig-network-instance:network-instances/network-instance={name}/protocols/protocol=OSPF,ospfv2/ospfv2/global/graceful-restart/state",
54+
name=vrfName,
55+
)
56+
response = api.get(keypath)
57+
if response.ok():
58+
if response.content is not None:
59+
# Get Command Output
60+
api_response = response.content
61+
if ("openconfig-network-instance:state" in api_response
62+
and api_response["openconfig-network-instance:state"] is
63+
not None):
64+
api_response[
65+
"openconfig-network-instance:graceful_restart_state"] = api_response.pop(
66+
"openconfig-network-instance:state")
67+
dlist.append(api_response)
68+
5169
keypath = cc.Path(
5270
"/restconf/data/openconfig-network-instance:network-instances/network-instance={name}/protocols/protocol=OSPF,ospfv2/ospfv2/global/timers/spf/state",
5371
name=vrfName,

CLI/clitree/cli-xml/interface.xml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1946,18 +1946,14 @@ limitations under the License.
19461946
</COMMAND>
19471947
<COMMAND
19481948
name="min-links"
1949-
help="Configure min-links for the portchannel"
1950-
dbpath="sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST/min_links={min_links}">
1949+
help="Configure min-links for the portchannel">
19511950
<PARAM name="min_links" help="Enter portchannel min-links value" ptype="RANGE_1_32" />
1952-
<ACTION builtin="clish_restcl">oper=PATCH url=/restconf/data/sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST=${po_name}/min_links body={"sonic-portch\
1953-
annel:min_links": ${min_links}}</ACTION>
1951+
<ACTION builtin="clish_restcl">oper=PATCH url=/restconf/data/sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST=${po_name}/min_links body={"sonic-portchannel:min_links": ${min_links}}</ACTION>
19541952
</COMMAND>
19551953
<COMMAND
19561954
name="no min-links"
1957-
help="Configure default min-links for the portchannel"
1958-
dbpath="sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST/min_links={min_links}">
1959-
<ACTION builtin="clish_restcl">oper=PATCH url=/restconf/data/sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST=${po_name}/min_links body={"sonic-port\
1960-
channel:min_links": 1}
1955+
help="Configure default min-links for the portchannel">
1956+
<ACTION builtin="clish_restcl">oper=PATCH url=/restconf/data/sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST=${po_name}/min_links body={"sonic-portchannel:min_links": 1}
19611957
</ACTION>
19621958
</COMMAND>
19631959

@@ -1991,17 +1987,22 @@ limitations under the License.
19911987

19921988
<COMMAND
19931989
name="fallback"
1994-
help="Configure fallback mode for the portchannel"
1995-
dbpath="sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST/fallback=true">
1990+
help="Configure fallback mode for the portchannel">
19961991
<ACTION builtin="clish_restcl">oper=PATCH url=/restconf/data/sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST=${po_name}/fallback body={"sonic-portchannel:fallback": true} </ACTION>
19971992
</COMMAND>
19981993
<COMMAND
19991994
name="no fallback"
2000-
help="Reset fallback mode for the portchannel"
2001-
dbpath="sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST/fallback=false">
1995+
help="Reset fallback mode for the portchannel">
20021996
<ACTION builtin="clish_restcl">oper=PATCH url=/restconf/data/sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST=${po_name}/fallback body={"sonic-portchannel:fallback": false} </ACTION>
20031997
</COMMAND>
20041998

1999+
<COMMAND name="fast_rate" help="Configure LACP fast rate mode for the portchannel">
2000+
<ACTION builtin="clish_restcl">oper=PATCH url=/restconf/data/sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST=${po_name}/fast_rate body={"sonic-portchannel:fast_rate": true} </ACTION>
2001+
</COMMAND>
2002+
<COMMAND name="no fast_rate" help="Reset LACP fast rate mode for the portchannel">
2003+
<ACTION builtin="clish_restcl">oper=PATCH url=/restconf/data/sonic-portchannel:sonic-portchannel/PORTCHANNEL/PORTCHANNEL_LIST=${po_name}/fast_rate body={"sonic-portchannel:fast_rate": false} </ACTION>
2004+
</COMMAND>
2005+
20052006
</VIEW> <!-- End of Configure View for PortChannel-->
20062007

20072008
<VIEW

CLI/renderer/templates/show_ip_ospf.j2

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
'asbr_summary_lsa_checksum': "0", 'nssa_lsa_count': "0",'nssa_lsa_checksum': "0", 'opaque_link_lsa_count': "0", 'opaque_link_lsa_checksum': "0",
1010
'opaque_area_lsa_count': "0", 'opaque_lsa_checksum': "0", 'areas_info': "", 'area_exists':"False", 'abrtype': 'None', 'vlink_count' : '0', 'stub_str':'',
1111
'shortcut_str': 'Default', 'sbit_str': 'no', 'stubAdvertisement': False,
12-
'preShutdownEnabledSecs': 0, 'postShutdownEnabledSecs': 0 } %}
12+
'preShutdownEnabledSecs': 0, 'postShutdownEnabledSecs': 0, 'grSupport': False, 'grPrepareInProgress': False} %}
1313
{% set ospf_global_list = json_output %}
1414
{% for list_elem in ospf_global_list %}
1515
{% if 'vrfName' in list_elem %}
@@ -28,6 +28,12 @@ VRF Name: {{list_elem['vrfName']}}
2828
{% if vars.update({'opaque_capability':'OpaqueCapability flag is disabled'}) %}{% endif -%}
2929
{% endif -%}
3030
{% endif -%}
31+
{% if 'openconfig-network-instance:graceful_restart_state' in list_elem and 'enabled' in list_elem['openconfig-network-instance:graceful_restart_state'] and list_elem['openconfig-network-instance:graceful_restart_state']['enabled'] == True %}
32+
{% if vars.update({'grSupport':list_elem['openconfig-network-instance:graceful_restart_state']['enabled']}) %}{% endif -%}
33+
{% endif -%}
34+
{% if 'openconfig-network-instance:graceful_restart_state' in list_elem and 'openconfig-ospfv2-ext:gr-prepare-in-progress' in list_elem['openconfig-network-instance:graceful_restart_state'] and list_elem['openconfig-network-instance:graceful_restart_state']['openconfig-ospfv2-ext:gr-prepare-in-progress'] == True %}
35+
{% if vars.update({'grPrepareInProgress':list_elem['openconfig-network-instance:graceful_restart_state']['openconfig-ospfv2-ext:gr-prepare-in-progress']}) %}{% endif -%}
36+
{% endif -%}
3137
{% if 'openconfig-network-instance:spf_state' in list_elem and 'openconfig-ospfv2-ext:throttle-delay' in list_elem['openconfig-network-instance:spf_state'] %}
3238
{% if vars.update({'throttle_delay':list_elem['openconfig-network-instance:spf_state']['openconfig-ospfv2-ext:throttle-delay']}) %}{% endif -%}
3339
{% endif -%}
@@ -113,6 +119,14 @@ VRF Name: {{list_elem['vrfName']}}
113119
This implementation conforms to RFC2328
114120
{{vars.ospf_rfc1583_compatible}}
115121
{{vars.opaque_capability}}
122+
{% if vars.grSupport == True %}
123+
Graceful-Restart is enabled
124+
{% else -%}
125+
Graceful-Restart is disabled
126+
{% endif -%}
127+
{% if vars.grPrepareInProgress == True %}
128+
Graceful-Restart Prepare: in-progress
129+
{% endif -%}
116130
{% if vars.stubAdvertisement == True %}
117131
Stub router advertisement is configured
118132
{% endif -%}

CLI/renderer/templates/show_ip_ospf_database_opaque_link.j2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ VRF Name: {{list_elem['vrfName']}}
5656
{% if 'state' in lsa and 'length' in lsa['state'] %}
5757
Length: {{lsa['state']['length']}}
5858
{% endif %}
59+
{{' '}}
5960
{% endfor %}
6061
{% endif %}
6162
{% endif %}

ham/hamd/etc/sonic/hamd/group-mapping

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@
1212
# netoperator:operator
1313
# 0:operator​
1414

15-
admin:sudo,docker,redis,adm
16-
operator:docker
15+
admin:sudo,docker,redis,adm,admin
16+
operator:docker,operator

0 commit comments

Comments
 (0)