From fe2f0c490e886996c99c256ae9311c164e232137 Mon Sep 17 00:00:00 2001 From: Pramod Maurya Date: Mon, 6 Jan 2025 10:52:01 +0530 Subject: [PATCH] Update interface.go --- internal/cfgplugins/interface.go | 60 +++++++++++--------------------- 1 file changed, 20 insertions(+), 40 deletions(-) diff --git a/internal/cfgplugins/interface.go b/internal/cfgplugins/interface.go index c3de901fa4ca..9e9c2f4009a4 100644 --- a/internal/cfgplugins/interface.go +++ b/internal/cfgplugins/interface.go @@ -140,48 +140,28 @@ func ConfigETHChannel(t *testing.T, dut *ondatra.DUTDevice, interfaceName, trans Transceiver: ygot.String(transceiverName), } } - var assignment = map[uint32]*oc.TerminalDevice_Channel_Assignment{} + var assignment = map[uint32]*oc.TerminalDevice_Channel_Assignment{ + 0: { + Index: ygot.Uint32(0), + LogicalChannel: ygot.Uint32(otnIndex), + Description: ygot.String("ETH to OTN"), + Allocation: ygot.Float64(400), + AssignmentType: oc.Assignment_AssignmentType_LOGICAL_CHANNEL, + }, + } if deviations.EthChannelAssignmentCiscoNumbering(dut) { - assignment = map[uint32]*oc.TerminalDevice_Channel_Assignment{ - 0: { - Index: ygot.Uint32(1), - LogicalChannel: ygot.Uint32(otnIndex), - Description: ygot.String("ETH to OTN"), - Allocation: ygot.Float64(400), - AssignmentType: oc.Assignment_AssignmentType_LOGICAL_CHANNEL, - }, - } - } else { - assignment = map[uint32]*oc.TerminalDevice_Channel_Assignment{ - 0: { - Index: ygot.Uint32(0), - LogicalChannel: ygot.Uint32(otnIndex), - Description: ygot.String("ETH to OTN"), - Allocation: ygot.Float64(400), - AssignmentType: oc.Assignment_AssignmentType_LOGICAL_CHANNEL, - }, - } + assignment[0].Index = ygot.Uint32(1) } - var channel *oc.TerminalDevice_Channel - if deviations.ChannelRateClassParametersUnsupported(dut) { - channel = &oc.TerminalDevice_Channel{ - Description: ygot.String("ETH Logical Channel"), - Index: ygot.Uint32(ethIndex), - LogicalChannelType: oc.TransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_PROT_ETHERNET, - TribProtocol: oc.TransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_400GE, - Ingress: ingress, - Assignment: assignment, - } - } else { - channel = &oc.TerminalDevice_Channel{ - Description: ygot.String("ETH Logical Channel"), - Index: ygot.Uint32(ethIndex), - LogicalChannelType: oc.TransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_PROT_ETHERNET, - TribProtocol: oc.TransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_400GE, - RateClass: oc.TransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_400G, - Ingress: ingress, - Assignment: assignment, - } + var channel = &oc.TerminalDevice_Channel{ + Description: ygot.String("ETH Logical Channel"), + Index: ygot.Uint32(ethIndex), + LogicalChannelType: oc.TransportTypes_LOGICAL_ELEMENT_PROTOCOL_TYPE_PROT_ETHERNET, + TribProtocol: oc.TransportTypes_TRIBUTARY_PROTOCOL_TYPE_PROT_400GE, + Ingress: ingress, + Assignment: assignment, + } + if !deviations.ChannelRateClassParametersUnsupported(dut) { + channel.RateClass = oc.TransportTypes_TRIBUTARY_RATE_CLASS_TYPE_TRIB_RATE_400G } gnmi.Replace(t, dut, gnmi.OC().TerminalDevice().Channel(ethIndex).Config(), channel) }