Is it platform specific
generic
Importance or Severity
High
Description of the enhancement
SONiC currently uses 3 versions of libyang: 1.0.73, 1.0.184, and 2.1.148. All are end of life and potentially have security issues. The current release is 3.12.2 and that is what we are targeting here.
There are also numerous libyang related bugs that have been "worked around" in SONiC due to the shortcomings of libyang1. Hopefully upgrading to a modern version will resolve such issues.
Current Behavior
3 libyang versions
Proposed Behavior
single libyang version
PR Tracking Table
Legend: strikethrough = merged/done.
Foundation (merged)
Code port (open)
Buildimage — consolidated final change (open)
| PR |
description |
#27629 |
Migrate the remaining buildimage consumers to libyang3, remove the libyang3-dev-done coexistence shim and the post-FRR libyang3-dev UNINSTALLS, and delete libyang1 (rules/libyang.{mk,dep}, src/libyang). Supersedes and replaces former steps 4–7 (#21718, #21752, #21789, #21790, now closed). This is the last buildimage PR to complete the migration. |
Per-repo CI/build: install libyang3 debs instead of libyang1 (open)
Per-repo CI already migrated upstream (done)
Order: merge the code ports (sonic-mgmt-common#157) and the per-repo CI PRs first, then #27629 last (it removes libyang1, so it must land only after every consumer is on libyang3).
Is it platform specific
generic
Importance or Severity
High
Description of the enhancement
SONiC currently uses 3 versions of libyang: 1.0.73, 1.0.184, and 2.1.148. All are end of life and potentially have security issues. The current release is 3.12.2 and that is what we are targeting here.
There are also numerous libyang related bugs that have been "worked around" in SONiC due to the shortcomings of libyang1. Hopefully upgrading to a modern version will resolve such issues.
Current Behavior
3 libyang versions
Proposed Behavior
single libyang version
PR Tracking Table
Legend:
strikethrough= merged/done.Foundation (merged)
#21679#21719#24414#26584sonic-net/sonic-utilities#4118sonic-net/sonic-platform-daemons#589, sonic-net/sonic-platform-common#544sonic-net/sonic-swss-common#973Code port (open)
sonic-net/sonic-mgmt-common#157sonic-net/sonic-mgmt#24821import yangconsumer in the test repo)Buildimage — consolidated final change (open)
#27629libyang3-dev-donecoexistence shim and the post-FRRlibyang3-devUNINSTALLS, and delete libyang1 (rules/libyang.{mk,dep},src/libyang). Supersedes and replaces former steps 4–7 (#21718, #21752, #21789, #21790, now closed). This is the last buildimage PR to complete the migration.Per-repo CI/build: install libyang3 debs instead of libyang1 (open)
sonic-net/sonic-swss#4624libyang3_*.deblibyang3_*.debsonic-net/sonic-dhcpmon#78libyang3_*.debsonic-net/sonic-gnmi#693libyang3_*.debsonic-net/sonic-mgmt-framework#161sonic-net/sonic-stp#90libyang3_*.debsonic-net/sonic-utilities#4578sonic-net/sonic-wpa-supplicant#115sonic-net/sonic-platform-vpp#243Per-repo CI already migrated upstream (done)
sonic-net/sonic-sairedis#1916sonic-net/sonic-dash-ha#173Order: merge the code ports (sonic-mgmt-common#157) and the per-repo CI PRs first, then #27629 last (it removes libyang1, so it must land only after every consumer is on libyang3).