diff --git a/VERSION b/VERSION
index a0d4970..ee1372d 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.2.2-dev
\ No newline at end of file
+0.2.2
diff --git a/cmd/bbsim/bbsim.go b/cmd/bbsim/bbsim.go
index 4dade03..1ca93e6 100644
--- a/cmd/bbsim/bbsim.go
+++ b/cmd/bbsim/bbsim.go
@@ -154,6 +154,7 @@
 		"TotalOnus":            options.Olt.PonPorts * options.Olt.OnusPonPort,
 		"EnableAuth":           options.BBSim.EnableAuth,
 		"Dhcp":                 options.BBSim.EnableDhcp,
+		"Igmp":                 options.BBSim.EnableIgmp,
 		"Delay":                options.BBSim.Delay,
 		"Events":               options.BBSim.Events,
 		"KafkaEventTopic":      options.BBSim.KafkaEventTopic,
diff --git a/configs/bbsim.yaml b/configs/bbsim.yaml
index 8cb5e91..c4ade64 100644
--- a/configs/bbsim.yaml
+++ b/configs/bbsim.yaml
@@ -4,6 +4,7 @@
 
 # BBSim specific settings
 bbsim:
+  enable_igmp: false
   enable_dhcp: false
   enable_auth: false
   openolt_address: ":50060"
@@ -35,7 +36,6 @@
   pon_ports: 1
   nni_ports: 1
   onus_per_port: 1
-  onus_per_port: 1
   technology: "XGS-PON"
   id: 0                 # OLT-ID of the device
   reboot_delay: 10      # reboot delay in seconds
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 4cd9d46..5c2ebf2 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -147,6 +147,8 @@
            Setting this flag will cause BBSim to not store data like traffic schedulers, flows of ONUs etc
      -kafkaEventTopic string
            Set the topic on which BBSim publishes events on kafka
+     -igmp
+           Set this flag to start IGMP automatically
 
 ``BBSim`` also looks for a configuration file in ``configs/bbsim.yaml`` from
 which it reads a number of default settings. The command line options listed
diff --git a/internal/bbsim/responders/sadis/sadis.go b/internal/bbsim/responders/sadis/sadis.go
index fc2b451..ac084a5 100644
--- a/internal/bbsim/responders/sadis/sadis.go
+++ b/internal/bbsim/responders/sadis/sadis.go
@@ -212,8 +212,8 @@
 			// if so use bandwidthProfiles[rand.Intn(len(bandwidthProfiles))].ID
 			UpstreamBandwidthProfile:   "Default",
 			DownstreamBandwidthProfile: "User_Bandwidth1",
-			IsDhcpRequired:             true,
-			IsIgmpRequired:             true,
+			IsDhcpRequired:             common.Options.BBSim.EnableDhcp,
+			IsIgmpRequired:             common.Options.BBSim.EnableIgmp,
 		}
 	case common.SadisFormatDt:
 		sonuUniTag = SadisUniTagDt{
diff --git a/internal/bbsim/responders/sadis/sadis_test.go b/internal/bbsim/responders/sadis/sadis_test.go
index 7c8bc1b..59c3874 100644
--- a/internal/bbsim/responders/sadis/sadis_test.go
+++ b/internal/bbsim/responders/sadis/sadis_test.go
@@ -18,11 +18,12 @@
 
 import (
 	"fmt"
+	"net"
+	"testing"
+
 	"github.com/opencord/bbsim/internal/bbsim/devices"
 	"github.com/opencord/bbsim/internal/common"
 	"gotest.tools/assert"
-	"net"
-	"testing"
 )
 
 func createMockDevices() (devices.OltDevice, devices.Onu) {
@@ -54,7 +55,7 @@
 		t.Fatal(err)
 	}
 
-	assert.Equal(t, res.ID, fmt.Sprintf("%s-%s",onu.Sn(), uni))
+	assert.Equal(t, res.ID, fmt.Sprintf("%s-%s", onu.Sn(), uni))
 	assert.Equal(t, res.CTag, 923)
 	assert.Equal(t, res.STag, 900)
 	assert.Equal(t, res.RemoteID, string(olt.SerialNumber))
@@ -74,8 +75,8 @@
 		t.Fatal(err)
 	}
 
-	assert.Equal(t, res.ID, fmt.Sprintf("%s-%s",onu.Sn(), uni))
-	assert.Equal(t, res.RemoteID, fmt.Sprintf("%s-%s",onu.Sn(), uni))
+	assert.Equal(t, res.ID, fmt.Sprintf("%s-%s", onu.Sn(), uni))
+	assert.Equal(t, res.RemoteID, fmt.Sprintf("%s-%s", onu.Sn(), uni))
 
 	// assert the correct type
 	uniTagList, ok := res.UniTagList[0].(SadisUniTagAtt)
@@ -88,8 +89,8 @@
 	assert.Equal(t, uniTagList.DownstreamBandwidthProfile, "User_Bandwidth1")
 	assert.Equal(t, uniTagList.UpstreamBandwidthProfile, "Default")
 	assert.Equal(t, uniTagList.TechnologyProfileID, 64)
-	assert.Equal(t, uniTagList.IsDhcpRequired, true)
-	assert.Equal(t, uniTagList.IsIgmpRequired, true)
+	assert.Equal(t, uniTagList.IsDhcpRequired, false)
+	assert.Equal(t, uniTagList.IsIgmpRequired, false)
 }
 
 func TestSadisServer_GetOnuEntryV2_Dt(t *testing.T) {
@@ -103,8 +104,8 @@
 		t.Fatal(err)
 	}
 
-	assert.Equal(t, res.ID, fmt.Sprintf("%s-%s",onu.Sn(), uni))
-	assert.Equal(t, res.RemoteID, fmt.Sprintf("%s-%s",onu.Sn(), uni))
+	assert.Equal(t, res.ID, fmt.Sprintf("%s-%s", onu.Sn(), uni))
+	assert.Equal(t, res.RemoteID, fmt.Sprintf("%s-%s", onu.Sn(), uni))
 
 	// assert the correct type
 	uniTagList, ok := res.UniTagList[0].(SadisUniTagDt)
@@ -118,4 +119,4 @@
 	assert.Equal(t, uniTagList.UpstreamBandwidthProfile, "Default")
 	assert.Equal(t, uniTagList.TechnologyProfileID, 64)
 	assert.Equal(t, uniTagList.UniTagMatch, 4096)
-}
\ No newline at end of file
+}
diff --git a/internal/common/options.go b/internal/common/options.go
index 0ecb0c8..b7f8bf6 100644
--- a/internal/common/options.go
+++ b/internal/common/options.go
@@ -121,6 +121,7 @@
 }
 
 type BBSimConfig struct {
+	EnableIgmp           bool          `yaml:"enable_igmp"`
 	EnableDhcp           bool          `yaml:"enable_dhcp"`
 	EnableAuth           bool          `yaml:"enable_auth"`
 	LogLevel             string        `yaml:"log_level"`
@@ -167,6 +168,7 @@
 			STag:                 900,
 			CTagAllocation:       TagAllocationUnique,
 			CTag:                 900,
+			EnableIgmp:           false,
 			EnableDhcp:           false,
 			EnableAuth:           false,
 			LogLevel:             "debug",
@@ -251,7 +253,7 @@
 
 	auth := flag.Bool("auth", conf.BBSim.EnableAuth, "Set this flag if you want authentication to start automatically")
 	dhcp := flag.Bool("dhcp", conf.BBSim.EnableDhcp, "Set this flag if you want DHCP to start automatically")
-
+	igmp := flag.Bool("igmp", conf.BBSim.EnableIgmp, "Set this flag if you want IGMP to start automatically")
 	profileCpu := flag.String("cpuprofile", "", "write cpu profile to file")
 
 	logLevel := flag.String("logLevel", conf.BBSim.LogLevel, "Set the log level (trace, debug, info, warn, error)")
@@ -298,6 +300,7 @@
 	conf.BBSim.LogCaller = *logCaller
 	conf.BBSim.EnableAuth = *auth
 	conf.BBSim.EnableDhcp = *dhcp
+	conf.BBSim.EnableIgmp = *igmp
 	conf.BBSim.Delay = *delay
 	conf.BBSim.ControlledActivation = *controlledActivation
 	conf.BBSim.EnablePerf = *enablePerf
