Skip to content

sonic-buildimage: hostcfgd service enhancements to support Management interface config handling in SONiC #4240

Closed
rvasanthm wants to merge 72 commits intosonic-net:masterfrom
rvasanthm:master
Closed

sonic-buildimage: hostcfgd service enhancements to support Management interface config handling in SONiC #4240
rvasanthm wants to merge 72 commits intosonic-net:masterfrom
rvasanthm:master

Conversation

@rvasanthm
Copy link
Contributor

@rvasanthm rvasanthm commented Mar 9, 2020

- What I did
1.Added support for Dynamic handling of Management port config(MTU, Speed, auto negotiation, admin status and Description config attributes).
2. Added support for Dynamic handling of Management interface config (IPv4/IPv6 DHCP client, IPv4/IPv6 default gateway, IPv4/IPv6 addresses config and respective gateways config attributes).
3. Added support for Management VRF handling

- How I did it
hostcfgd service enhancement details:
Hostcfgd populates default config for a management interface (“eth0”) and register’s callback handlers to handle events/notifications from the following tables MGMT_PORT, MGMT_INTERFACE and MGMT_VRF_CONFIG in ConfigDB and starts listening for events at INIT phase. As soon as any change observed in above mentioned tables respective event handle will be called, and it determines the config change and programs the same in kernel and populates data in AppDb.

List of Event handlers added:
mgmt_port_handler is a callback method to handle port related config which is populated in MGMT_PORT table in ConfigDB.
mgmt_intf_handler is a callback method to handle interface IP config which is populated in MGMT_INTERFACE table in ConfigDB.
mgmt_vrf_handler is callback method to handle MGMT vrf config which is populated in MGMT_VRF_CONFIG table in ConfigDB.

- How to verify it
Update MGMT_PORT, MGMT_INTERFACE and MGMT_VRF_CONFIG config attributes mentioned below, config should be applied in kernel and it should get populated in AppDB.

- Description for the changelog
Management interface config handling in SONiC by hostcfgd service.

Signed-off-by: Ravi Vasanthm [email protected]

…f Management port config(MTU, Speed, auto negotiation, admin status and Description config attributes), 2. Added support for Dynamic handling of Management interface config (IPv4/IPv6 DHCP client, IPv4/IPv6 default gateway, IPv4/IPv6 addresses config and respective gateways config attributes) and Management VRF handling.
@msftclas
Copy link

msftclas commented Mar 9, 2020

CLA assistant check
All CLA requirements met.

Copy link
Contributor

@prsunny prsunny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also requires changing the existing logic from interface config. Also it would be good if we can split this PR to two:

  1. Handle MGMT PORT/INTF
  2. Handle VRF and DHCP.

cmd = "ip {} addr {} {} dev {}".format(ver, op.lower(), ip_prefix, ifname)
syslog.syslog(syslog.LOG_INFO, "Configure ip_prefix, op : {}, ip_prefix: {}, cmd : {}, mgmt_conf: {}".format(op, ip_prefix, cmd, mgmt_conf))
subprocess.check_call(cmd, shell=True)
cmd = "ip {} rule {} from {} table default pref 1003".format(ver, op.lower(), str(mgmt_conf.ip))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is 1003?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed

mgmt_intf = self.app_db.get_entry(APP_MGMT_PORT_TABLE, key)
is_all = False
if mgmt_intf == {}:
is_all = True
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you make it verbose? What is intended here with is_all

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Modified the variable name to cfgAllAtrr .

if (('autoneg' in data) and ((is_all == True) or (mgmt_intf == {}) or ('autoneg' not in mgmt_intf) or (data['autoneg'] != mgmt_intf['autoneg']))):
self.mgmt_intf_autoneg_set(key, data['autoneg'], mgmt_intf)

if (('speed' in data) and ((is_all == True) or (mgmt_intf == {}) or ('speed' not in mgmt_intf) or (data['speed'] != mgmt_intf['speed']))):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checks here seems to be cluttered. Please provide a comment for this section and also group it if possible?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed.

op = "DELETE"
keys = self.config_db.get_keys(CFG_MGMT_INTF_TABLE)

for it in keys:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please provide a comment as to what is intended in this for section

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

conect db apis' get_keys return list of keys can be tuple format or list of string format. to identify its create or update operation looping through all the keys, convert into a string format and compare.
Any way simplified the logic. Addressed the comments.

self.app_db.set_entry(APP_MGMT_INTF_TABLE, cur_appdb_key, appdb_entry)

elif op == "UPDATE":
if (('ipv4_dhcp_client' in cfgdb_entry) and ('ipv4_dhcp_client' not in appdb_entry)):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section is with repetition and hard to understand. Request to revisit to make it easier to review

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

else:
if op == "CREATE" or op == "UPDATE" :
self.mgmt_intf_ip_prefix_set(intf_keys[0], intf_keys[1], "ADD")
if (('gwaddr' in data) and ((appdb_entry == {}) or ('gwaddr' not in appdb_entry))):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why repeat 'gwaddr' in data, May be we can have a parent if case and put the rest within that

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

self.mgmt_intf_ip_prefix_set(intf_keys[0], intf_keys[1], "DEL")
if ('gwaddr' in data):
self.mgmt_intf_gwaddr_set(intf_keys[0], intf_keys[1], data['gwaddr'], "DEL")
self.app_db.delete_entry(APP_MGMT_INTF_TABLE, cur_appdb_key)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont see the handling of forced_mgmt_routes@. Can you add that as well?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

127.0.0.1:6379[4]> hgetall "MGMT_INTERFACE|eth0|FC00:2::32/64"

  1. "forced_mgmt_routes@"
  2. "10.3.145.98/31,10.3.145.8,100.127.20.16/28,10.3.149.170/31,40.122.216.24,13.91.48.226,10.3.145.14"
  3. "gwaddr"
  4. "fc00:2::1"

Copy link
Collaborator

@venkatmahalingam venkatmahalingam Apr 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prince - having this forced_mgmt_routes under MGMT_INTERFACE table is confusing (e.g IPv6 addr in keys but holding IPv4 routes in forced_mgmt_route) ...it would better be present in separate table like MGMT_ROUTE.

Correct me if I'm wrong, I believe, we have added this forced_mgmt_route when mgmt VRF was not present in the past, after the introduction of mgmt VRF, I believe we should define the path for migration for the existing deployments to mgmt VRF instead of using 'default' table in default VRF for forced mgmt routes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added support for handling forced_mgmt_routes.

self.mgmt_intf_ip_prefix_set(intf_keys[0], intf_keys[1], "DEL")
if ('gwaddr' in data):
self.mgmt_intf_gwaddr_set(intf_keys[0], intf_keys[1], data['gwaddr'], "DEL")
self.app_db.delete_entry(APP_MGMT_INTF_TABLE, cur_appdb_key)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

127.0.0.1:6379[4]> hgetall "MGMT_INTERFACE|eth0|FC00:2::32/64"

  1. "forced_mgmt_routes@"
  2. "10.3.145.98/31,10.3.145.8,100.127.20.16/28,10.3.149.170/31,40.122.216.24,13.91.48.226,10.3.145.14"
  3. "gwaddr"
  4. "fc00:2::1"

except subprocess.CalledProcessError as err:
syslog.syslog(syslog.LOG_ERR, "{} - failed: return code - {}, output:\n{}".format(err.cmd, err.returncode, err.output))

def mgmt_intf_gwaddr_set(self, ifname, ip_prefix, gwaddr, op):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't get the full use-case of this function to create ip prefix subnet to a gwaddr. May be this can be handled later separately.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed

Ravi Vasanthm and others added 2 commits April 21, 2020 16:13
@lgtm-com
Copy link

lgtm-com bot commented Apr 21, 2020

This pull request introduces 6 alerts when merging 02d9006 into bddd0d1 - view on LGTM.com

new alerts:

  • 4 for Unused import
  • 1 for Unused local variable
  • 1 for Except block handles 'BaseException'

@lgtm-com
Copy link

lgtm-com bot commented Apr 22, 2020

This pull request introduces 2 alerts when merging 49fd662 into 3a82ade - view on LGTM.com

new alerts:

  • 1 for Unused local variable
  • 1 for Except block handles 'BaseException'

lguohan and others added 17 commits April 22, 2020 11:02
it is important to understand the motivation of the PR.

what I did is usually the PR title, so remove.

Signed-off-by: Guohan Lu <[email protected]>
hardware daemons are not supported in kvm vs platform now

admin@vlab-01:/usr/share/sonic/device/x86_64-kvm_x86_64-r0$ docker exec -it pmon bash   
root@vlab-01:/# supervisorctl status
fancontrol                       STOPPED   Not started
lm-sensors                       STOPPED   Not started
rsyslogd                         RUNNING   pid 23, uptime 0:03:09
start.sh                         EXITED    Apr 22 09:07 AM
supervisor-proc-exit-listener    RUNNING   pid 17, uptime 0:03:10

Signed-off-by: Guohan Lu <[email protected]>
- add led_proc_init.soc
- update config.bcm
The one big bgp configuration template was splitted into chunks.

Currently we have three types of bgp neighbor peers:

general bgp peers. They are represented by CONFIG_DB::BGP_NEIGHBOR table entries
dynamic bgp peers. They are represented by CONFIG_DB::BGP_PEER_RANGE table entries
monitors bgp peers. They are represented by CONFIG_DB::BGP_MONITORS table entries
This PR introduces three templates for each peer type:

bgp policies: represent policieas that will be applied to the bgp peer-group (ip prefix-lists, route-maps, etc)
bgp peer-group: represent bgp peer group which has common configuration for the bgp peer type and uses bgp routing policy from the previous item
bgp peer-group instance: represent bgp configuration, which will be used to instatiate a bgp peer-group for the bgp peer-type. Usually this one is simple, consist of the referral to the bgp peer-group, bgp peer description and bgp peer ip address.
This PR redefined constant.yml file. Now this file has a setting for to use or don't use bgp_neighbor metadata. This file has more parameters for now, which are not used. They will be used in the next iteration of bgpcfgd.

Currently all tests have been disabled. I'm going to create next PR with the tests right after this PR is merged.

I'm going to introduce better bgpcfgd in a short time. It will include support of dynamic changes for the templates.

FIX:: sonic-net#4231
…e-docekr (sonic-net#4481)

example:

```
SONIC_RUN_CMDS="gzip -d -c target/sonic-vs.img.gz > target/sonic-vs.img;\
qemu-img convert target/sonic-vs.img -O vhdx -o subformat=dynamic target/sonic-vs.vhdx"\
 BLDENV=buster make -f Makefile.work sonic-slave-run
```

Signed-off-by: Guohan Lu <[email protected]>
…U ACS-MSN3420 (sonic-net#4436)

* New SKU support for MSN3420

Signed-off-by: Shlomi Bitton <[email protected]>

Conflicts:
	device/mellanox/x86_64-mlnx_msn2700-r0/plugins/sfputil.py

* Add CPLD's

* Symlink fixes and semantics

* Adding new platform at end of lines
* remove air flow direction from dynamic minimum algorithm
* adjust minimum table according to thermal data
* [dhcpmon] Filter DHCP O/A Messages of Neighboring Vlans

This code fixes a bug where two or more vlans exist. Cross contamination
happens for DHCP packets Offer/Ack when received on shared northbound links.
The code filters out those packet based on dst IP equal Vlan loopback IP.

signed-off-by: Tamer Ahmed <[email protected]>
* [DellEMC] S6100-Fix i2C ISMT issue

* Modified the retry condition for bit bang
…net#4480)

This change adds support to build dockers using buster as base.
- Define docker-base-buster using docker-base-stretch as starting point
- Define docker-config-engine-buster using docker-config-engine-stretch as starting point.
- sonic-mgmt-framework docker is updated to build using buster as base

Signed-off-by: Joyas Joseph <[email protected]>
@lgtm-com
Copy link

lgtm-com bot commented May 5, 2020

This pull request introduces 1 alert when merging d238662 into 8ac1c60 - view on LGTM.com

new alerts:

  • 1 for Except block handles 'BaseException'

Ravi Vasanthm and others added 2 commits May 4, 2020 23:55
* [device] DellEmc S5232 support for new hwsku C8D48
8 100G ports and 48 50G ports

* 10G ports update for S5232 hwsku-C8D48

Signed-off-by: Srideep Devireddy <[email protected]>
@kannankvs
Copy link
Collaborator

@kannankvs , can you please review and sign-off?

I am not clear about need for handling management vrf in hostcfgd. It is better to schedule a call to discuss in detail.

@kannankvs
Copy link
Collaborator

As suggested by @prsunny earlier, I also suggest to split the PR into three PRs as per the requirements numbered in the description.

@rvasanthm
Copy link
Contributor Author

retest vsimage please

@kannankvs
Copy link
Collaborator

Couple of quick comments.

  1. Request to test the feature along with Buster and provide the results.
  2. When hostcfgd handles the management interface changes, restarting the "interfaces-config" service from CLI can be removed.

@rvasanthm
Copy link
Contributor Author

retest vsimage please

@rvasanthm
Copy link
Contributor Author

retest vs please

@rvasanthm
Copy link
Contributor Author

retest vsimage please

Ravi Vasanthm added 11 commits May 5, 2020 17:44
…f Management port config(MTU, Speed, auto negotiation, admin status and Description config attributes), 2. Added support for Dynamic handling of Management interface config (IPv4/IPv6 DHCP client, IPv4/IPv6 default gateway, IPv4/IPv6 addresses config and respective gateways config attributes) and Management VRF handling.
…tes and interfaces.j2 cleaup related to mgmt interface.
@rvasanthm rvasanthm closed this May 6, 2020
@rvasanthm
Copy link
Contributor Author

This PR is messed up after sync from azure/master.
Please review #4546

@prsunny
Copy link
Contributor

prsunny commented May 7, 2020

can you please rebase and force-push to this branch? It is better to keep this PR open for the review comment reference.

@rvasanthm
Copy link
Contributor Author

can you please rebase and force-push to this branch? It is better to keep this PR open for the review comment reference.

Force push is already done. If you know the way to recover this please help me out.

mssonicbld added a commit that referenced this pull request Mar 13, 2026
…atically (#25254)

#### Why I did it
src/sonic-utilities
```
* 20a7131b - (HEAD -> master, origin/master, origin/HEAD) clear: make --namespace optional for arp and ndp commands (#4355) (5 minutes ago) [Oleksandr Ivantsiv]
* f56e4a78 - show version: replace --verbose with --brief flag (#4350) (20 hours ago) [Ashwin Srinivasan]
* 5e50cf3d - Wait for monit monitor <service> operation to complete during config (#4295) (23 hours ago) [Hemanth Kumar Tirupati]
* 0306ea20 - Change sensorshow conn to use TCP socket (#4343) (2 days ago) [Chenyang Wang]
* cb5b3e82 - Fix route_check.py redis client memory usage (#4217) (2 days ago) [Roee Bar]
* e93a5c3c - config: allow golden config to override mac, platform, asic_id (#4348) (2 days ago) [securely1g]
* 0024c8d4 - Add non -B- hwsku names as well (#4331) (2 days ago) [dakotac-arista]
* eb7301cc - Fix unit tests (#4345) (3 days ago) [william8545]
* 052199c0 - [Arista] Add Arista-7050CX3-32C-C28S4 to generic_config_updater (#4257) (4 days ago) [byu343]
* ed68290a - Add multi-ASIC namespace support for show/config subinterface(s) command (#4298) (4 days ago) [william8545]
* 9c9f099d - New CLI proposal for PHY diagnostics (#4214) (4 days ago) [Prince George]
* 9e3373df - Fix generate_dump to preserve per-ASIC subdirectory structure for sdk_dbg collection (#4334) (4 days ago) [william8545]
* 3fe8972f - Add multi-ASIC namespace support for ARP/NDP show and clear commands (#4231) (4 days ago) [Oleksandr Ivantsiv]
* be5fe2aa - Add multi-ASIC namespace support for VLAN and FDB operations (#4230) (4 days ago) [Oleksandr Ivantsiv]
* e74fca78 - Add multi-ASIC namespace support for static route commands (#4269) (4 days ago) [Oleksandr Ivantsiv]
* 599e7c71 - Add multi-ASIC namespace support for ACL table add/remove commands (#4270) (4 days ago) [Oleksandr Ivantsiv]
* d09d6cd6 - Add CLI support for "show interfaces <intf> <phy-signal/phy-serdes>" commands (#4312) (4 days ago) [prajjwal-arista]
* 345f5686 - Add multi-asic namespace support for IPv6 link-local commands (#4289) (4 days ago) [william8545]
* edd4b190 - Add multi-asic namespace support for crm show resources command (#4290) (4 days ago) [william8545]
* 2b52a051 - [multi-asic] Add namespace support for vxlan and vnet show/config commands (#4299) (4 days ago) [william8545]
* 03160905 - [fast-reboot][cosmetic] Fixed debug/error prints with the correct reboot type (#4285) (4 days ago) [Yair Raviv]
* 6eedf8a7 - [warm-reboot][multi-asic] Added error-handling for faulty ASIC/s after orchagent freeze (#4297) (4 days ago) [Yair Raviv]
* 2330bab5 - [BMC] Add new BMC CLIs for manual session management and reset root password (#4238) (4 days ago) [Ben Levi]
* 4d0cc933 - Fix issue: pmon services's restart count is not cleared during config reload (#4314) (4 days ago) [Stephen Sun]
* 0a1bbc55 - Fix the generate_dump for BCM Asic Q3D (#4326) (6 days ago) [saksarav-nokia]
* 1580ccce - GCU generates suboptimal plan for CreateOnly paths (#4335) (6 days ago) [Brad House - Nexthop]
* 369e703e - GCU: Add path tracing support (#4317) (7 days ago) [Brad House - Nexthop]
* bc05e1a4 - [GCU]: Restart telemetry container on port speed change via GCU to handle OID update (#4248) (7 days ago) [Xincun Li]
* 73f1ea51 - Fix warning messages due to nose test deprecation (#4322) (8 days ago) [Brad House - Nexthop]
* ebfefbd8 - [Arista] Add TH5 HWSKU to list for pfcwd support (#4329) (8 days ago) [dakotac-arista]
* 0d969b85 - [DPU] Add support for HA Set Counters (#4283) (8 days ago) [Connor Roos]
* 44f8c37b - [DPU] Add CLI to trigger and dump flows (#4278) (8 days ago) [Vivek]
* 76bf567e - [show interfaces] "show interfaces flap" command does not support multi-ASIC platforms (#4316) (9 days ago) [pnakka28]
* 2ec21e19 - Limit PFC WD Detection time to maximum value of 1000ms (#4306) (9 days ago) [Hemanth Kumar Tirupati]
* 99b1b76a - Modified dualtor_neighbor_check to use mux neighbor_mode (#4227) (10 days ago) [manamand2020]
* 5dfd11ed - Fix 'show version' KeyError when sonic_version.yml has missing fields (#4324) (10 days ago) [securely1g]
* 4c77f9d4 - fix: skip PORT_INGRESS/EGRESS_MIRROR_CAPABLE check for ERSPAN mirror sessions (#4323) (11 days ago) [bingwang-ms]
* d8d2a39e - fix scapy delayed import when we have large routes (#4315) (11 days ago) [Hemanth Kumar Tirupati]
* c6601cda - [LACP retry-count] Syntax Fix for Trixie (#4274) (11 days ago) [Yair Raviv]
* f54d0a7c - Add fsync to config save to persist config across power cycle (#4313) (11 days ago) [Jianyue Wu]
* e5f77f61 - Fix unit test assertions broken by spelling typo PRs (#4321) (13 days ago) [rustiqly]
* 7660b19f - Fix spelling typos in muxcable modules (#4259) (2 weeks ago) [rustiqly]
* f7d820f3 - Fix spelling typos in config/main.py (#4261) (2 weeks ago) [rustiqly]
* 244942bd - Fix spelling typos in scripts/ (#4262) (2 weeks ago) [rustiqly]
* 89001b10 - Fix spelling typos in show/ and clear/ modules (#4263) (2 weeks ago) [rustiqly]
* d6e646c2 - Fix spelling typos in config/config_mgmt.py (#4260) (2 weeks ago) [rustiqly]
* e244129c - Fix spelling typos in config/nat.py (#4258) (2 weeks ago) [rustiqly]
* 5a0c48f0 - In route_check.py, Convey the IJSON Backend using an env variable (#4294) (2 weeks ago) [venkit-nexthop]
* e2712fc1 - Fix spelling typos across utilities_common, config plugins, and misc modules (#4264) (2 weeks ago) [rustiqly]
* 4211edee - Fixed show vxlan remotemac ambiguity (#4121) (2 weeks ago) [Gnanapriya [Marvell]]
* cfd23f97 - Add FEC histograms to generate_dump output (#4244) (2 weeks ago) [Fraser Gordon]
* 8882a633 - [storm-control] Fixed show storm-control interface command display (#4122) (2 weeks ago) [Gnanapriya [Marvell]]
* 7a1e656e - [fibshow]: Fix exception when blackhole routes are present (#4189) (2 weeks ago) [Ravi Minnikanti(Marvell)]
* 2b3f14de - [marvell-teralynx] Enhance techsupport to include HWSKU configs (#4161) (3 weeks ago) [Naveen-Rampuram]
* 9cb7b3e6 - Merge pull request #4275 from tirupatihemanth/fix_scapy_lagkeepalive (3 weeks ago) [Ying Xie]
|\ 
| failure_prs.log skip_prs.log 7e54ddff - Fix delayed scapy import when we have a lot of routes (3 weeks ago) [Hemanth Kumar Tirupati]
* | cbb31f0d - [multi-asic] fix utilities_common Db helper (#4273) (3 weeks ago) [Yakiv Huryk]
* | f65ddfa2 - Prevent early exit of reboot status (#4282) (3 weeks ago) [Gagan Punathil Ellath]
* | 14840074 - [fast-reboot] Remove teamsyncd timer override by fast-boot (#4233) (3 weeks ago) [Yair Raviv]
* | a3085380 - [lag_keepalive] add `--namespace` option (#4194) (4 weeks ago) [Yair Raviv]
* | abc8bba1 - [teamd_retry_count] Add support for --namespace parameter (#4195) (4 weeks ago) [Yair Raviv]
* | c05d995c - [warm/fast-reboot] check per-ASIC FW upgrade status (#4196) (4 weeks ago) [Yair Raviv]
* | 433d01c1 - [check_db_integrity] Add NETNS environment (#4197) (4 weeks ago) [Yair Raviv]
* | 441595c7 - [centralize_database] Add --namespace option (#4198) (4 weeks ago) [Yair Raviv]
* | 0f3b5291 - [multi-asic][warm-reboot] Support warm-reboot on Multi-ASIC systems (#4199) (4 weeks ago) [Yair Raviv]
* | 28623ca9 - [multi-asic][warm_restart] add Multi-ASIC support for warm_restart commands (#4200) (4 weeks ago) [Yair Raviv]
* | 3cd228af - Add filesystem sync after plugin installation (#4251) (4 weeks ago) [Jianyue Wu]
* | 1d78c210 - Add .github/copilot-instructions.md for AI-assisted development (#4271) (4 weeks ago) [rustiqly]
* | 7895da57 - Fix dump port state CLI command crash on multi-asic platforms (#4229) (4 weeks ago) [Setu Patel]
|/ 
* bcb1d4bb - Clearing /tmp/tmp* is unsafe with parallel builds (#4268) (4 weeks ago) [Brad House - NextHop]
* 8103627e - Fix sonic-utilities submodule update failure due to ijson library (#4256) (4 weeks ago) [venkit-nexthop]
* 85becedc - [Mellanox] Add restricted sysfs to fw control list (#4240) (4 weeks ago) [Noa Or]
* 275bdc6c - Add multi-asic support for sonic-clear queue wredcounters and counter poll , --nonzero support for show queue wredcounters (#4152) (5 weeks ago) [saksarav-nokia]
* fbc85ee4 - Fix j2 files not getting packaged (#4250) (5 weeks ago) [Saikrishna Arcot]
* a9543cba - Fix route_check.py to not hog a lot of memory (#4205) (5 weeks ago) [venkit-nexthop]
* 40260d5b - Fix JsonMove._get_value to Support Both String and Integer List Indices (#4237) (5 weeks ago) [Xincun Li]
* 0a3ef184 - refactor: enhance show bfd summary command (#4242) (5 weeks ago) [Chenyang Wang]
* 7c6dfdc2 - Update the error message for sfputil debug loopback command (#4224) (5 weeks ago) [Ariz Zubair]
* f246da25 - [Fast-linkup] Added CLIs for config/show (#4182) (6 weeks ago) [Yair Raviv]
* 87703c1 - Use Singleton PlatformDataProvider to reduce module import time (#4183) (6 weeks ago) [Hemanth Kumar Tirupati]
* 0dae5f2 - [sfputil] Fix issue: should not do low power mode or reset for non-present ports (#4206) (6 weeks ago) [Junchao-Mellanox]
* 5f56518 - generate_dump: add interface FEC stats (#4093) (6 weeks ago) [Fraser Gordon]
* 2e9e81c - [GCU] Update WRED_PROFILE and BUFFER_POOL validators for GCU (#4219) (6 weeks ago) [Dev Ojha]
* 2350203 - Update bash completions for sonic-utilities commands (#4163) (6 weeks ago) [Saikrishna Arcot]
* 5052e02 - Fix the PSU show command error message on platform without psu at all (#4151) (6 weeks ago) [Yuanzhe]
* 7d9ec5d - Fix issue that namespace is not correctly fetched in Multi ASIC environment for mirror capability checking (#4159) (6 weeks ago) [Stephen Sun]
* f473b4f - Fix multi asic initialization for dump command (#4108) (6 weeks ago) [Gagan Punathil Ellath]
* 0f45e43 - Add current and configured frequency to DOM CLI (#4209) (7 weeks ago) [Ariz Zubair]
* 6f0b181 - Added counterpoll CLI support (#4106) (7 weeks ago) [Dhanasekar Rathinavel]
* 3d5bef9 - [multi-asic][Mellanox] Add multi-ASIC support for generate_dump and update FW upgrade script (#4192) (7 weeks ago) [Oleksandr Ivantsiv]
* 8451f01 - sonic-utilities: Support for clearing aggregate VOQ counters(#2001) (#4044) (8 weeks ago) [manish1-arista]
* 21f013f - Add q3d SKUs to gcu_field_operation_validators.conf.json (#4201) (8 weeks ago) [HP]
* 1a15091 - Fix multi asic connection creation (#4109) (8 weeks ago) [Gagan Punathil Ellath]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.