for (i = 0; i < n; i++)
{
- if ((!ip4_address_compare (a, &group_ptr (igmp, l)->dst_address)) &&
+ if ((!ip4_address_compare (a, &(group_ptr (igmp, l)->dst_address))) &&
(type == group_ptr (igmp, l)->type))
{
rv = 1;
igmp_main_t *im = &igmp_main;
uword *event_data = 0, event_type;
f64 time_start;
- u8 enabled = 0;
igmp_timer_t *timer = NULL;
while (1)
{
- if (enabled)
+ if (NULL != timer)
vlib_process_wait_for_event_or_clock (vm,
timer->exp_time - time_start);
else
DBG ("time: %f", vlib_time_now (vm));
/* timer expired */
- timer->func (vm, rt, im, timer);
+ if (NULL != timer)
+ timer->func (vm, rt, im, timer);
next_timer:
timer = igmp_get_next_timer (im);
- if (timer == NULL)
- enabled = 0;
- else
- enabled = 1;
}
return 0;
}
from scapy.contrib.igmp import *
-def checkIGMPv3():
- try:
- tmp = IGMPv3()
- tmp = IGMPv3mr()
- tmp = IGMPv3gr()
- tmp = IGMPv3mq()
- except NameError:
- return False
- return True
-
-
class TestIgmp(VppTestCase):
""" IGMP Test Case """
self.pg_enable_capture(self.pg_interfaces)
self.pg_start()
- @unittest.skipUnless(checkIGMPv3(), "missing scapy igmpv3 implementation")
def test_igmp_parse_report(self):
""" IGMP parse Membership Report """
self.assertEqual(igmp.type, 0x11)
self.assertEqual(igmp.gaddr, "0.0.0.0")
- @unittest.skipUnless(checkIGMPv3(), "missing scapy igmpv3 implementation")
def test_igmp_send_query(self):
""" IGMP send General Query """
self.sleep(10)
self.assertFalse(self.vapi.igmp_dump())
- @unittest.skipUnless(checkIGMPv3(), "missing scapy igmpv3 implementation")
+ @unittest.skipUnless(running_extended_tests(), "part of extended tests")
def test_igmp_src_exp(self):
""" IGMP per source timer """
self.logger.error(self.vapi.cli("sh igmp config"))
self.assertFalse(self.vapi.igmp_dump())
- @unittest.skipUnless(checkIGMPv3(), "missing scapy igmpv3 implementation")
def test_igmp_query_resp(self):
""" IGMP General Query response """
self.assertEqual(len(capture[0][IGMPv3gr].srcaddrs), 1)
self.assertEqual(capture[0][IGMPv3gr].srcaddrs[0], "10.1.1.1")
- @unittest.skipUnless(checkIGMPv3(), "missing scapy igmpv3 implementation")
def test_igmp_listen(self):
""" IGMP listen (S,G)s """