Changes to IGMP,subscriber to make sure joins/leaves work with latest ONOS. Transpose(Include->EXCLUDE, EXCLUDE->Include)
diff --git a/src/test/igmp/igmpTest.py b/src/test/igmp/igmpTest.py
index 5b197f7..be28331 100644
--- a/src/test/igmp/igmpTest.py
+++ b/src/test/igmp/igmpTest.py
@@ -178,7 +178,7 @@
igmp = IGMPv3(type = IGMP_TYPE_V3_MEMBERSHIP_REPORT, max_resp_code=30,
gaddr=self.IP_DST)
for g in groups:
- gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_EXCLUDE, mcaddr=g)
+ gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_INCLUDE, mcaddr=g)
gr.sources = src_list
igmp.grps.append(gr)
if ip_pkt is None:
@@ -194,7 +194,7 @@
igmp = IGMPv3(type = IGMP_TYPE_V3_MEMBERSHIP_REPORT, max_resp_code=30,
gaddr=self.IP_DST)
for g in groups:
- gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_EXCLUDE, mcaddr=g)
+ gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_INCLUDE, mcaddr=g)
gr.sources = src_list
gr.sources = src_list
igmp.grps.append(gr)
@@ -218,7 +218,7 @@
igmp = IGMPv3(type = IGMP_TYPE_V3_MEMBERSHIP_REPORT, max_resp_code=30,
gaddr=self.IP_DST)
for g in groups:
- gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_INCLUDE, mcaddr=g)
+ gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_EXCLUDE, mcaddr=g)
gr.sources = src_list
igmp.grps.append(gr)
if ip_pkt is None:
@@ -233,7 +233,7 @@
igmp = IGMPv3(type = IGMP_TYPE_V3_MEMBERSHIP_REPORT, max_resp_code=30,
gaddr=self.IP_DST)
for g in groups:
- gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_INCLUDE, mcaddr=g)
+ gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_EXCLUDE, mcaddr=g)
gr.sources = src_list
igmp.grps.append(gr)
if ip_pkt is None:
@@ -345,7 +345,7 @@
igmp = IGMPv3(type = IGMP_TYPE_V3_MEMBERSHIP_REPORT, max_resp_code=30,
gaddr=self.IP_DST)
for g in groups:
- gr = IGMPv3gr(rtype = IGMP_V3_GR_TYPE_EXCLUDE, mcaddr = g)
+ gr = IGMPv3gr(rtype = IGMP_V3_GR_TYPE_INCLUDE, mcaddr = g)
gr.sources = src_list
igmp.grps.append(gr)
@@ -397,7 +397,7 @@
log.info('Multicast packet %s received for left groups %s' %(pkt[IP].dst, groups))
global NEGATIVE_TRAFFIC_STATUS
NEGATIVE_TRAFFIC_STATUS = 2
- sniff(prn = igmp_recv_cb, count = 1, lfilter = lambda p: p[IP].dst in groups,
+ sniff(prn = igmp_recv_cb, count = 1, lfilter = lambda p: IP in p and p[IP].dst in groups,
timeout = 3, opened_socket = recv_socket)
recv_socket.close()
return NEGATIVE_TRAFFIC_STATUS
diff --git a/src/test/utils/Channels.py b/src/test/utils/Channels.py
index 5e8cd88..ccfebb5 100644
--- a/src/test/utils/Channels.py
+++ b/src/test/utils/Channels.py
@@ -55,7 +55,7 @@
igmp = IGMPv3(type = IGMP_TYPE_V3_MEMBERSHIP_REPORT, max_resp_code=30,
gaddr='224.0.1.1')
for g in groups:
- gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_EXCLUDE, mcaddr=g)
+ gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_INCLUDE, mcaddr=g)
gr.sources = self.src_list
igmp.grps.append(gr)
@@ -69,7 +69,7 @@
igmp = IGMPv3(type = IGMP_TYPE_V3_MEMBERSHIP_REPORT, max_resp_code=30,
gaddr='224.0.1.1')
for g in groups:
- gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_INCLUDE, mcaddr=g)
+ gr = IGMPv3gr(rtype=IGMP_V3_GR_TYPE_EXCLUDE, mcaddr=g)
gr.sources = self.src_list
igmp.grps.append(gr)
@@ -132,7 +132,7 @@
IgmpChannel.__init__(self, ssm_list = self.channels, iface=iface)
def generate(self, num, channel_start = 0):
- start = (224 << 24) | ( ( (channel_start >> 16) & 0xff) << 16 ) | \
+ start = (225 << 24) | ( ( (channel_start >> 16) & 0xff) << 16 ) | \
( ( (channel_start >> 8) & 0xff ) << 8 ) | (channel_start) & 0xff
start += channel_start/256 + 1
end = start + num
@@ -248,7 +248,7 @@
groups = (self.gaddr(chan),)
if cb is None:
cb = self.recv_cb
- sniff(prn = cb, count=count, lfilter = lambda p: p[IP].dst in groups, opened_socket = self.recv_sock)
+ sniff(prn = cb, count=count, lfilter = lambda p: IP in p and p[IP].dst in groups, opened_socket = self.recv_sock)
def stop(self):
if self.streams: