[VOL-2778] Handling IGMP
Change-Id: I54c26bc438a144c7d4c64a9b3d543461fc743ab2
diff --git a/internal/bbsimctl/commands/onu.go b/internal/bbsimctl/commands/onu.go
index 20837b5..5f6874b 100644
--- a/internal/bbsimctl/commands/onu.go
+++ b/internal/bbsimctl/commands/onu.go
@@ -45,6 +45,8 @@
const IgmpLeaveKey string = "leave"
const IgmpJoinKeyV3 string = "joinv3"
+var IgmpAllowedActions = []string{IgmpJoinKey, IgmpLeaveKey, IgmpJoinKeyV3}
+
type ONUList struct {
Verbose bool `short:"v" long:"verbose" description:"Print all the informations we have about ONUs"`
}
@@ -445,6 +447,16 @@
return list
}
+func (onuSn *IgmpSubAction) Complete(match string) []flags.Completion {
+ list := make([]flags.Completion, 0)
+ for _, k := range IgmpAllowedActions {
+ if strings.HasPrefix(k, match) {
+ list = append(list, flags.Completion{Item: k})
+ }
+ }
+ return list
+}
+
func (options *ONUTrafficSchedulers) Execute(args []string) error {
client, conn := connect()
defer conn.Close()
diff --git a/internal/bbsimctl/commands/services.go b/internal/bbsimctl/commands/services.go
index cd1ccb4..3333a49 100644
--- a/internal/bbsimctl/commands/services.go
+++ b/internal/bbsimctl/commands/services.go
@@ -28,7 +28,7 @@
)
const (
- DEFAULT_SERVICE_HEADER_FORMAT = "table{{ .OnuSn }}\t{{ .InternalState }}\t{{ .Name }}\t{{ .HwAddress }}\t{{ .STag }}\t{{ .CTag }}\t{{ .NeedsEapol }}\t{{ .NeedsDhcp }}\t{{ .NeedsIgmp }}\t{{ .GemPort }}\t{{ .EapolState }}\t{{ .DhcpState }}"
+ DEFAULT_SERVICE_HEADER_FORMAT = "table{{ .OnuSn }}\t{{ .InternalState }}\t{{ .Name }}\t{{ .HwAddress }}\t{{ .STag }}\t{{ .CTag }}\t{{ .NeedsEapol }}\t{{ .NeedsDhcp }}\t{{ .NeedsIgmp }}\t{{ .GemPort }}\t{{ .EapolState }}\t{{ .DhcpState }}\t{{ .IGMPState }}"
)
type ServiceList struct{}