Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
b7c0d8d
sonic-port xfmr support
Satoru-Shinohara Jan 30, 2024
e1f8d71
Merge pull request #3 from nagarwal03/satoru-port-jan30
Satoru-Shinohara Feb 2, 2024
04b7076
Adding support for OC yang intf.
Feb 6, 2024
26ca597
Resolving merge conflicts. Merge branch 'oc-intf-common-code-Jan30' o…
Feb 7, 2024
c399ed1
Merge pull request #5 from nagarwal03/Nikita_subintf_oc_yang
nagarwal03 Feb 7, 2024
0bc8f73
remove unneeded code for unsupported interface types
Satoru-Shinohara Feb 8, 2024
8ff5872
remove functions that are no longet necessary
Satoru-Shinohara Feb 8, 2024
d98bb8d
Merge pull request #6 from nagarwal03/satoru-port-jan30
Satoru-Shinohara Feb 8, 2024
754c0d3
Code Clean-up - Remove unsupported interface related code
Satoru-Shinohara Feb 11, 2024
e52935c
Add back needed code
Satoru-Shinohara Feb 13, 2024
1cdada6
Merge pull request #7 from nagarwal03/satoru-port-jan30
Satoru-Shinohara Feb 13, 2024
5d36584
Removing unnecessary code.
Feb 13, 2024
adfd683
Resolve clean up conflicts.
Feb 13, 2024
f895d66
Merge pull request #8 from nagarwal03/Nikita_subintf_oc_yang
nagarwal03 Feb 13, 2024
3888202
UT Tests for openconfig-interfaces (Top-Level Interfaces + Ethernet)
Satoru-Shinohara Feb 19, 2024
f4b07de
Merge branch 'oc-intf-common-code-Jan30' of github.com:nagarwal03/oc-…
Satoru-Shinohara Feb 19, 2024
ca4bd9e
Adding automation file for subinterfaces.
Feb 20, 2024
c8c5abb
Merge pull request #10 from nagarwal03/Nikita_subintf_oc_yang
nagarwal03 Feb 20, 2024
699daad
Resolve merge conflict of all interface-related tests + Fixed descrip…
Satoru-Shinohara Feb 20, 2024
7ae1b7c
Merge pull request #11 from nagarwal03/satoru-port-jan30
Satoru-Shinohara Feb 20, 2024
0ba1402
Addressing review comments. Removed family attribute from OC Yang.
Feb 20, 2024
b4328f2
Merge pull request #12 from nagarwal03/Nikita_subintf_oc_yang
nagarwal03 Feb 21, 2024
07c6f21
Updating automation files. Removed family attribute.
Feb 21, 2024
95734a1
Resolve automation file conflicts. Merge branch 'oc-intf-common-code-…
Feb 21, 2024
c250eb9
Merge pull request #13 from nagarwal03/Nikita_subintf_oc_yang
nagarwal03 Feb 22, 2024
4cbde32
Adding fixes based on review. Adding go.mod and go.sum files for tran…
Satoru-Shinohara Feb 22, 2024
dded84e
Merge pull request #14 from nagarwal03/satoru-port-jan30
Satoru-Shinohara Feb 26, 2024
e264cf6
Address additional review comments regarding port-speed and switch ca…
Satoru-Shinohara Feb 28, 2024
b4c7204
Merge pull request #15 from nagarwal03/satoru-port-jan30
Satoru-Shinohara Feb 28, 2024
0a95d5d
Merge pull request #9 from nagarwal03/oc-intf-common-code-Jan30
nagarwal03 Mar 6, 2024
0e667ee
Merge branch 'sonic-net:master' into internal-review-ocintf
nagarwal03 Mar 7, 2024
051a92e
Changing Copyright and reverting utils.go change
Satoru-Shinohara Mar 7, 2024
aabeb4f
Reverting some formatting changes
Satoru-Shinohara Mar 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions config/transformer/models_list
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,7 @@ openconfig-acl.yang
openconfig-acl-annot.yang
openconfig-sampling-sflow.yang
openconfig-sampling-sflow-annot.yang
openconfig-if-ethernet.yang
openconfig-interfaces.yang
openconfig-interfaces-annot.yang
openconfig-if-ip.yang
3 changes: 2 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ require (
github.com/pborman/getopt v0.0.0-20190409184431-ee0cd42419d3 // indirect
github.com/philopon/go-toposort v0.0.0-20170620085441-9be86dbd762f
github.com/pkg/profile v1.7.0
golang.org/x/text v0.3.0
golang.org/x/text v0.3.3
google.golang.org/grpc v1.28.0
inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a
)

go 1.13
26 changes: 26 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dvyukov/go-fuzz v0.0.0-20210103155950-6a8e9d1f2415/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
Expand Down Expand Up @@ -93,28 +94,40 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
go4.org/intern v0.0.0-20211027215823-ae77deb06f29 h1:UXLjNohABv4S58tHmeuIZDO6e3mHpW2Dx33gaNt03LE=
go4.org/intern v0.0.0-20211027215823-ae77deb06f29/go.mod h1:cS2ma+47FKrLPdXFpr7CuxiTW3eyJbWew4qx0qtQWDA=
go4.org/unsafe/assume-no-moving-gc v0.0.0-20211027215541-db492cf91b37/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E=
go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2 h1:WJhcL4p+YeDxmZWg141nRm7XC8IDmhz7lk5GpadO1Sg=
go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc h1:zK/HqS5bZxDptfPJNq8v7vJfXtkU7r9TLIoSr1bXaP4=
golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974 h1:IX6qOQeG5uLjB/hjjwjedwfjND0hgjPMMyO1RoIXQNI=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
Expand All @@ -123,15 +136,25 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac h1:oN6lz7iLW/YC7un8pq+9bOLyXrprv2+DKfkJY+2LJJw=
golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
Expand Down Expand Up @@ -163,3 +186,6 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
inet.af v0.0.0-20181218191229-53da77bc832c h1:U3RoiyEF5b3Y1SVL6NNvpkgqUz2qS3a0OJh9kpSCN04=
inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a h1:1XCVEdxrvL6c0TGOhecLuB7U9zYNdxZEjvOqJreKZiM=
inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a/go.mod h1:e83i32mAQOW1LAqEIweALsuK2Uw4mhQadA5r7b0Wobo=
161 changes: 161 additions & 0 deletions models/yang/annotations/openconfig-interfaces-annot.yang
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
module openconfig-interfaces-annot {

yang-version "1";

namespace "http://openconfig.net/yang/annotation/openconfig-interfaces-annot";
prefix "oc-interfaces-annot";

import sonic-extensions { prefix sonic-ext; }
import openconfig-interfaces { prefix oc-intf; }
import openconfig-if-ip {prefix oc-ip; }

deviation /oc-intf:interfaces/oc-intf:interface {
deviate add {
sonic-ext:key-transformer "intf_tbl_key_xfmr";
sonic-ext:table-transformer "intf_table_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-eth:ethernet/oc-eth:config {
deviate add {
sonic-ext:subtree-transformer "intf_eth_port_config_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-eth:ethernet/oc-eth:state {
deviate add {
sonic-ext:db-name "APPL_DB";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-eth:ethernet/oc-eth:state/oc-eth:auto-negotiate {
deviate add {
sonic-ext:field-transformer "intf_eth_auto_neg_xfmr";
sonic-ext:field-name "autoneg";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-eth:ethernet/oc-eth:state/oc-eth:port-speed {
deviate add {
sonic-ext:field-transformer "intf_eth_port_speed_xfmr";
sonic-ext:field-name "speed";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:state {
deviate add {
sonic-ext:db-name "APPL_DB";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:config/oc-intf:mtu {
deviate add {
sonic-ext:field-transformer "intf_mtu_xfmr";
}
}


deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:state/oc-intf:admin-status {
deviate add {
sonic-ext:field-transformer "intf_admin_status_xfmr";
sonic-ext:field-name "admin_status";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:config/oc-intf:enabled {
deviate add {
sonic-ext:field-transformer "intf_enabled_xfmr";
sonic-ext:field-name "admin_status";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:state/oc-intf:enabled {
deviate add {
sonic-ext:field-transformer "intf_enabled_xfmr";
sonic-ext:field-name "admin_status";
}
}

deviation /oc-intf:interfaces {
deviate add {
sonic-ext:pre-transformer "intf_pre_xfmr";
sonic-ext:post-transformer "intf_post_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces {
deviate add {
sonic-ext:table-name "NONE";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface {
deviate add {
sonic-ext:table-transformer "intf_subintfs_table_xfmr";
sonic-ext:virtual-table "true";
sonic-ext:key-transformer "intf_subintfs_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-intf:config/oc-intf:index {
deviate add {
sonic-ext:field-transformer "subif_index_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-intf:state/oc-intf:index {
deviate add {
sonic-ext:field-transformer "subif_index_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-ip:ipv4/oc-ip:addresses {
deviate add {
sonic-ext:table-name "NONE";
sonic-ext:subtree-transformer "intf_ip_addr_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-ip:ipv6/oc-ip:addresses {
deviate add {
sonic-ext:table-name "NONE";
sonic-ext:subtree-transformer "intf_ip_addr_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-ip:ipv4/oc-ip:addresses/oc-ip:address {
deviate add {
sonic-ext:key-transformer "subintf_ip_addr_key_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-ip:ipv6/oc-ip:addresses/oc-ip:address {
deviate add {
sonic-ext:key-transformer "subintf_ip_addr_key_xfmr";
}
}
deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-ip:ipv4 {
deviate add {
sonic-ext:table-transformer "intf_table_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-ip:ipv6 {
deviate add {
sonic-ext:key-transformer "subintf_ipv6_tbl_key_xfmr";
sonic-ext:table-transformer "intf_table_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-ip:ipv6/oc-ip:config/oc-ip:enabled {
deviate add {
sonic-ext:field-transformer "ipv6_enabled_xfmr";
}
}

deviation /oc-intf:interfaces/oc-intf:interface/oc-intf:subinterfaces/oc-intf:subinterface/oc-ip:ipv6/oc-ip:state/oc-ip:enabled {
deviate add {
sonic-ext:field-transformer "ipv6_enabled_xfmr";
}
}
}
Loading