VOL-4270 fetching extended pm counters per uni VOL-4200 Support reset of counters
Change-Id: I36d3ad67dc91038a1357eaa1ce1b7f1b2da1c2c9
diff --git a/internal/pkg/commands/devices.go b/internal/pkg/commands/devices.go
index b8fdc71..7ef8a5e 100644
--- a/internal/pkg/commands/devices.go
+++ b/internal/pkg/commands/devices.go
@@ -399,8 +399,10 @@
type GetOnuEthernetFrameExtendedPmCounters struct {
ListOutputOptions
- Args struct {
- Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
+ Reset bool `long:"reset" description:"Reset the counters"`
+ Args struct {
+ Id DeviceId `positional-arg-name:"DEVICE_ID" required:"yes"`
+ UniIndex *uint32 `positional-arg-name:"UNI_INDEX"`
} `positional-args:"yes"`
}
@@ -2067,17 +2069,37 @@
}
defer conn.Close()
client := extension.NewExtensionClient(conn)
+ var singleGetValReq extension.SingleGetValueRequest
- singleGetValReq := extension.SingleGetValueRequest{
- TargetId: string(options.Args.Id),
- Request: &extension.GetValueRequest{
- Request: &extension.GetValueRequest_OnuInfo{
- OnuInfo: &extension.GetOmciEthernetFrameExtendedPmRequest{
- OnuDeviceId: string(options.Args.Id),
+ if options.Args.UniIndex != nil {
+ singleGetValReq = extension.SingleGetValueRequest{
+ TargetId: string(options.Args.Id),
+ Request: &extension.GetValueRequest{
+ Request: &extension.GetValueRequest_OnuInfo{
+ OnuInfo: &extension.GetOmciEthernetFrameExtendedPmRequest{
+ OnuDeviceId: string(options.Args.Id),
+ Reset_: options.Reset,
+ IsUniIndex: &extension.GetOmciEthernetFrameExtendedPmRequest_UniIndex{
+ UniIndex: *options.Args.UniIndex,
+ },
+ },
},
},
- },
+ }
+ } else {
+ singleGetValReq = extension.SingleGetValueRequest{
+ TargetId: string(options.Args.Id),
+ Request: &extension.GetValueRequest{
+ Request: &extension.GetValueRequest_OnuInfo{
+ OnuInfo: &extension.GetOmciEthernetFrameExtendedPmRequest{
+ OnuDeviceId: string(options.Args.Id),
+ Reset_: options.Reset,
+ },
+ },
+ },
+ }
}
+
ctx, cancel := context.WithTimeout(context.Background(), GlobalConfig.Current().Grpc.Timeout)
defer cancel()
rv, err := client.GetExtValue(ctx, &singleGetValReq)