(VOL-4968) add uni and optional vlan args to the bbsim igmp keywords

Change-Id: I6f8d62855e6ef27acb6469b2628d5258216a566f
diff --git a/VERSION b/VERSION
index 56beced..dcb27a7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.12.4
+2.12.5
diff --git a/libraries/bbsim.robot b/libraries/bbsim.robot
index cdd125b..ae71f8b 100755
--- a/libraries/bbsim.robot
+++ b/libraries/bbsim.robot
@@ -55,16 +55,16 @@
 
 JoinOrLeave Igmp Rest Based
     [Documentation]  Joins or Leaves Igmp on a BBSim ONU (based on Rest Endpoint)
-    [Arguments]    ${bbsim_rel_session}    ${onu}    ${task}    ${group_address}
+    [Arguments]    ${bbsim_rel_session}    ${onu}    ${uni}    ${task}    ${group_address}    ${vlan}=55
     ${resp}=    Post Request    ${bbsim_rel_session}
-    ...    /v1/olt/onus/${onu}/igmp/${IGMP_TASK_DICT}[${task}]/${group_address}
+    ...    /v1/olt/onus/${onu}/${uni}/igmp/${IGMP_TASK_DICT}[${task}]/${group_address}/${vlan}
     Log    ${resp}
 
 JoinOrLeave Igmp
     [Documentation]  Joins or Leaves Igmp on a BBSim ONU
-    [Arguments]    ${namespace}    ${bbsim_pod_name}    ${onu}    ${task}    ${group_address}=224.0.0.22
+    [Arguments]    ${namespace}    ${bbsim_pod_name}    ${onu}    ${uni}    ${task}    ${group_address}    ${vlan}=55
     ${res}    ${rc}=    Exec Pod And Return Output And RC    ${namespace}    ${bbsim_pod_name}
-    ...    bbsimctl onu igmp ${onu} ${task} ${group_address}
+    ...    bbsimctl onu igmp ${onu} ${uni} ${task} ${group_address} -v ${vlan}
     Log     ${res}
     Should Be Equal as Integers    ${rc}    0
 
diff --git a/tests/bbsim/Voltha_BBSimTests.robot b/tests/bbsim/Voltha_BBSimTests.robot
index 44dbdcd..fa62cbd 100755
--- a/tests/bbsim/Voltha_BBSimTests.robot
+++ b/tests/bbsim/Voltha_BBSimTests.robot
@@ -64,6 +64,9 @@
 # if set to False, comand used is "volt-add-subscriber-access"
 ${unitag_sub}    False
 
+# Igmp group address to perform join and leave for ONUs
+${igmp_group_address}    224.0.0.22
+
 *** Test Cases ***
 
 Test Perform BBSim Sanity
@@ -84,13 +87,13 @@
     [Arguments]    ${bbsim_pod}    ${of_id}    ${onu}    ${onu_port}
     FOR    ${Z}    IN RANGE    0    ${igmp_join_leave_count}
         List Service    ${NAMESPACE}    ${bbsim_pod}
-        JoinOrLeave Igmp    ${NAMESPACE}    ${bbsim_pod}    ${onu}    join
+        JoinOrLeave Igmp    ${NAMESPACE}    ${bbsim_pod}    ${onu}    0    join    ${igmp_group_address}
         Sleep    2s
         List Service    ${NAMESPACE}    ${bbsim_pod}
         List ONUs    ${NAMESPACE}    ${bbsim_pod}
         Run Keyword And Continue On Failure    Wait Until Keyword Succeeds    ${timeout}    2s
         ...    Verify ONU in Groups    ${ONOS_SSH_IP}    ${ONOS_SSH_PORT}    ${of_id}    ${onu_port}
-        JoinOrLeave Igmp    ${NAMESPACE}    ${bbsim_pod}    ${onu}    leave
+        JoinOrLeave Igmp    ${NAMESPACE}    ${bbsim_pod}    ${onu}    0    leave    ${igmp_group_address}
         Sleep    2s
         List Service    ${NAMESPACE}    ${bbsim_pod}
         List ONUs    ${NAMESPACE}    ${bbsim_pod}
diff --git a/tests/scale/Voltha_Scale_Tests.robot b/tests/scale/Voltha_Scale_Tests.robot
index e2ef26e..b794b20 100755
--- a/tests/scale/Voltha_Scale_Tests.robot
+++ b/tests/scale/Voltha_Scale_Tests.robot
@@ -382,5 +382,5 @@
     [Documentation]    Performs Igmp Join for all the ONUs of an OLT (based on Rest Endpoint)
     [Arguments]    ${bbsim_rel_session}    ${onu_list}    ${task}
     FOR    ${onu}    IN    @{onu_list}
-        JoinOrLeave Igmp Rest Based    ${bbsim_rel_session}    ${onu}    ${task}    224.0.0.22
+        JoinOrLeave Igmp Rest Based    ${bbsim_rel_session}    ${onu}    0    ${task}    224.0.0.22
     END