Skip to content

Enhancement: Upgrade to libyang3 #22385

@bradh352

Description

@bradh352

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

PR description dependencies
#21679 Remove libyang 1.0.184. build libyang 3.12.2, libyang-python 3.1.0. Migrate FRR to libyang 3. Update sonic-yang-models test cases specifically to make it easier to see libyang3-specific changes once those land. THIS CAN BE MERGED WITHOUT ANY POSSIBLE IMPACT None
#21719 Port sonic-yang-models test cases THIS CAN BE MERGED WITHOUT ANY POSSIBLE IMPACT #21679
#21716 Port sonic-yang-mgmt. #21679, #21719
#21718 Update all subprojects that use libyang1 to depend on libyang3 #21679, #21719, #21716
sonic-net/sonic-utilities#3766 sonic-utilities #21679, #21719, #21716, #21718
#21752, sonic-net/sonic-swss-common#973 swss-common #21679, #21719, #21716, #21718
#21789, sonic-net/sonic-mgmt-common#157 sonic-mgmt-common (GOlang) #21679, #21718
sonic-net/sonic-platform-daemons#589 , sonic-net/sonic-swss#3518 , sonic-net/sonic-dbsyncd#74 , sonic-net/sonic-restapi#157 , sonic-net/sonic-snmpagent#348 , sonic-net/sonic-platform-common#544 azure pipelines: update various external repos to pull in the libyang3 debs that are otherwise not in need of modification all of the above
#21790 cleanup / remove libyang1 all of the above

Metadata

Metadata

Labels

Enhancement ➕Triagedthis issue has been triagedYANGYANG model related changes

Type

No type

Projects

Status

To be reviewed

Status

🏗 In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions