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{}
