Skip to content

Commit

Permalink
[yang] add Yang model for MUX_LINKMGR|LINK_PROBER (sonic-net#15384)
Browse files Browse the repository at this point in the history
Add yang model for MUX_LINKMGR|LINK_PROBER table.

sign-off: zhangjing@microsoft.com
  • Loading branch information
zjswhhh authored and sonic-otn committed Sep 20, 2023
1 parent 3d34b31 commit 6a6c6e2
Show file tree
Hide file tree
Showing 6 changed files with 156 additions and 0 deletions.
20 changes: 20 additions & 0 deletions src/sonic-yang-models/doc/Configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Table of Contents
* [Management VRF](#management-vrf)
* [MAP_PFC_PRIORITY_TO_QUEUE](#map_pfc_priority_to_queue)
* [MUX_CABLE](#mux_cable)
* [MUX_LINKMGR](#mux_linkmgr)
* [NEIGH](#neigh)
* [NTP Global Configuration](#ntp-global-configuration)
* [NTP and SYSLOG servers](#ntp-and-syslog-servers)
Expand Down Expand Up @@ -1403,6 +1404,25 @@ The **MUX_CABLE** table is used for dualtor interface configuration. The `cable_
}
```

### MUX_LINKMGR
The **MUX_LINKMGR** table is used for dualtor device configuration.
```
{
"MUX_LINKMGR": {
"LINK_PROBER": {
"interval_v4": "100",
"interval_v6": "1000",
"positive_signal_count": "1",
"negative_signal_count": "3",
"suspend_timer": "500",
"use_well_known_mac": "enabled",
"src_mac": "ToRMac",
"interval_pck_loss_count_update": "3"
}
}
}
```

### NEIGH

The **NEIGH** table is used to keep track of resolved and static neighbors.
Expand Down
1 change: 1 addition & 0 deletions src/sonic-yang-models/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ def run(self):
'./yang-models/sonic-mirror-session.yang',
'./yang-models/sonic-mpls-tc-map.yang',
'./yang-models/sonic-mux-cable.yang',
'./yang-models/sonic-mux-linkmgr.yang',
'./yang-models/sonic-neigh.yang',
'./yang-models/sonic-ntp.yang',
'./yang-models/sonic-nat.yang',
Expand Down
13 changes: 13 additions & 0 deletions src/sonic-yang-models/tests/files/sample_config_db.json
Original file line number Diff line number Diff line change
Expand Up @@ -2120,6 +2120,19 @@
}
},

"MUX_LINKMGR": {
"LINK_PROBER": {
"interval_v4": "100",
"interval_v6": "1000",
"positive_signal_count": "1",
"negative_signal_count": "3",
"suspend_timer": "500",
"use_well_known_mac": "enabled",
"src_mac": "ToRMac",
"interval_pck_loss_count_update": "3"
}
},

"NEIGH": {
"Vlan100|100.1.1.3": {
"family": "IPv4"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"MUX_LINKMGR_LINK_PROBER_INTERVAL_CHANGE": {
"desc": "Consume ICMP heartbeat interval and timeout config changes. "
},
"MUX_LINKMGR_LINK_PROBER_CHANGE_MAC_ADDR": {
"desc": "Use well-known mac and vlan mac as dst/src in linkmgrd link prober. "
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"MUX_LINKMGR_LINK_PROBER_INTERVAL_CHANGE": {
"sonic-mux-linkmgr:sonic-mux-linkmgr": {
"sonic-mux-linkmgr:MUX_LINKMGR": {
"sonic-mux-linkmgr:LINK_PROBER":
{
"interval_v4": "1000",
"interval_v6": "10000",
"positive_signal_count": 3,
"negative_signal_count": 9
}
}
}
},
"MUX_LINKMGR_LINK_PROBER_CHANGE_MAC_ADDR": {
"sonic-mux-linkmgr:sonic-mux-linkmgr": {
"sonic-mux-linkmgr:MUX_LINKMGR": {
"sonic-mux-linkmgr:LINK_PROBER":
{
"use_well_known_mac": "enabled",
"src_mac": "VlanMac"
}
}
}
}
}
88 changes: 88 additions & 0 deletions src/sonic-yang-models/yang-models/sonic-mux-linkmgr.yang
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
module sonic-mux-linkmgr {
namespace "http://github.com/sonic-net/sonic-mux-linkmgr";
prefix mux_linkmgr;
yang-version 1.1;

organization
"SONiC";

contact
"SONiC";

description
"SONiC DualToR Linkmgrd configuration data";

revision 2023-06-07 {
description
"Initial revision";
}

container sonic-mux-linkmgr {

container MUX_LINKMGR {

container LINK_PROBER {

leaf interval_v4 {
type uint32;
default 100;
units milliseconds;

description "IPv4 ICMP heartbeat interval. ";
}

leaf interval_v6 {
type uint32;
default 1000;
units milliseconds;

description "IPv6 ICMP heartbeat interval. ";
}

leaf positive_signal_count {
type uint32;
default 1;

description "Linkmgrd positive signal count. ";
}

leaf negative_signal_count {
type uint32;
default 3;

description "Linkmgrd negative signal count. ";
}

leaf suspend_timer {
type uint32;

description "ICMP heartbeat suspending timer, currently not in use. ";
}

leaf use_well_known_mac {
type enumeration {
enum enabled;
enum disabled;
}

description "ICMP heartbeat use well known mac as dst mac or not. ";
}

leaf src_mac {
type enumeration {
enum ToRMac;
enum VlanMac;
}

description "ICMP heartbeat use what mac as src mac. ";
}

leaf interval_pck_loss_count_update {
type uint32;

description "The frequency of streaming ICMP heartbeat loss data to telemetry. ";
}
}
}
}
}

0 comments on commit 6a6c6e2

Please sign in to comment.