After a closer look at this, it turns out udp-ping-local registers itself as a 
handler for hop-by-hop options and in doing so it “steals” MLDv2 listener 
reports. I suspect the latter should be handled by icmpv6 but, because the 
reports are generated with ip proto IP_PROTOCOL_IP6_HOP_BY_HOP_OPTIONS instead 
of IP_PROTOCOL_ICMP6, they end up in udp-ping-local. 

So, since I expect more people to depend on MLDv2, I guess that the short term 
solution is this [1], i.e., disable udp-ping. Long term, I guess we want to add 
a demux node for hop-by-hop options. 

Opinions?

Florin

[1] https://gerrit.fd.io/r/#/c/19816/ <https://gerrit.fd.io/r/#/c/19816/>

> On May 22, 2019, at 9:35 AM, Florin Coras via Lists.Fd.Io 
> <[email protected]> wrote:
> 
> Hi Nathan, 
> 
> Just a quick reply. I regularly run make test-debug TEST=vcl so please 
> continue to do that and please report any issues you may encounter. 
> 
> Something is weird because packets make it to udp-ping-local which shouldn’t 
> be hit at all. Will take a look as soon as I can. 
> 
> Thanks,
> Florin
> 
> 
>> On May 21, 2019, at 3:41 PM, Nathan Skrzypczak <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Hi vpp-devs,
>> 
>> I ran into an issue while running VCL hoststack tests on master
>> make test-debug 
>> TEST=test_vcl.VCLIpv6ThruHostStackEcho.test_vcl_ipv6_thru_host_stack_echo 
>> fails on an assert (trace below), but running make test TEST=... passes as 
>> asserts are disabled in release mode.
>> 
>> (1) Concerning the test infra, as far as I understand, jenkins only runs 
>> test in release mode (the reason why this issue got through). So shouldn’t 
>> enable debug while running tests ?
>> 
>> (2) Concerning this specific issue :
>> 
>> Reverting f8d50682cd <https://gerrit.fd.io/r/#/c/19623/> seems to resolve 
>> it, but I don’t think it caused it in the first place.
>> What happens is that on udp_ping_node.c:612 we set the local next node index 
>> for udp-ping-local to lm->local_next_by_ip_protocol[hbh0->protocol] which is 
>> a local next node index for the ip6-local-node. So it breaks the assert
>> We can add a udp-ping-local node registration in the ip6_register_protocol 
>> function (but that’s quite ugly)
>> We could also register all ip6-local-node nodes into udp-ping-local but that 
>> would require knowing when they’re all registered
>> My setup is ubuntu18.04.1 on x86_64
>> 
>> #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
>> #1  0x00007f88365db801 in __GI_abort () at abort.c:79
>> #2  0x0000556bc57c87cd in os_panic () at 
>> /usr/share/vpp/src/vpp/vnet/main.c:355
>> #3  0x00007f88369c2020 in debugger () at 
>> /usr/share/vpp/src/vppinfra/error.c:84
>> #4  0x00007f88369c245b in _clib_error (how_to_die=2, function_name=0x0, 
>> line_number=0, fmt=0x7f8836fcf538 "%s:%d (%s) assertion `%s' fails")
>>     at /usr/share/vpp/src/vppinfra/error.c:143
>> #5  0x00007f8836f46154 in vlib_node_runtime_get_next_frame 
>> (vm=0x7f88371f2c80 <vlib_global_main>, n=0x7f87f66cd580, next_index=7) at 
>> /usr/share/vpp/src/vlib/node_funcs.h:300
>> #6  0x00007f8836f48081 in vlib_get_next_frame_internal (vm=0x7f88371f2c80 
>> <vlib_global_main>, node=0x7f87f66cd580, next_index=7, 
>> allocate_new_next_frame=0)
>>     at /usr/share/vpp/src/vlib/main.c:371
>> #7  0x00007f87f2c5ecec in udp_ping_local_node_fn (vm=0x7f88371f2c80 
>> <vlib_global_main>, node=0x7f87f66cd580, frame=0x7f87f70cc2c0)
>>     at /usr/share/vpp/src/plugins/ioam/udp-ping/udp_ping_node.c:782
>> #8  0x00007f8836f4b9b5 in dispatch_node (vm=0x7f88371f2c80 
>> <vlib_global_main>, node=0x7f87f66cd580, type=VLIB_NODE_TYPE_INTERNAL, 
>> dispatch_state=VLIB_NODE_STATE_POLLING,
>>     frame=0x7f87f70cc2c0, last_time_stamp=734672943877552) at 
>> /usr/share/vpp/src/vlib/main.c:1213
>> #9  0x00007f8836f4c190 in dispatch_pending_node (vm=0x7f88371f2c80 
>> <vlib_global_main>, pending_frame_index=23, last_time_stamp=734672943877552)
>>     at /usr/share/vpp/src/vlib/main.c:1381
>> #10 0x00007f8836f4debc in vlib_main_or_worker_loop (vm=0x7f88371f2c80 
>> <vlib_global_main>, is_main=1) at /usr/share/vpp/src/vlib/main.c:1825
>> #11 0x00007f8836f4e737 in vlib_main_loop (vm=0x7f88371f2c80 
>> <vlib_global_main>) at /usr/share/vpp/src/vlib/main.c:1927
>> #12 0x00007f8836f4f4ab in vlib_main (vm=0x7f88371f2c80 <vlib_global_main>, 
>> input=0x7f87f616dfb0) at /usr/share/vpp/src/vlib/main.c:2116
>> #13 0x00007f8836fbbf57 in thread0 (arg=140223017069696) at 
>> /usr/share/vpp/src/vlib/unix/main.c:640
>> #14 0x00007f88369e5304 in clib_calljmp () from 
>> /usr/share/vpp/build-root/install-vpp_debug-native/vpp/lib/libvppinfra.so.19.04
>> #15 0x00007ffd530aa390 in ?? ()
>> #16 0x00007f8836fbc513 in vlib_unix_main (argc=56, argv=0x7ffd530ab6a8) at 
>> /usr/share/vpp/src/vlib/unix/main.c:710
>> #17 0x0000556bc57c7fd0 in main (argc=56, argv=0x7ffd530ab6a8) at 
>> /usr/share/vpp/src/vpp/vnet/main.c:280
>> Thanks a lot in advance
>> 
>> Cheers
>> 
>> -Nathan
>> 
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> 
>> View/Reply Online (#13104): https://lists.fd.io/g/vpp-dev/message/13104 
>> <https://lists.fd.io/g/vpp-dev/message/13104>
>> Mute This Topic: https://lists.fd.io/mt/31696737/675152 
>> <https://lists.fd.io/mt/31696737/675152>
>> Group Owner: [email protected] <mailto:[email protected]>
>> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub 
>> <https://lists.fd.io/g/vpp-dev/unsub>  [[email protected] 
>> <mailto:[email protected]>]
>> -=-=-=-=-=-=-=-=-=-=-=-
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> 
> View/Reply Online (#13112): https://lists.fd.io/g/vpp-dev/message/13112
> Mute This Topic: https://lists.fd.io/mt/31696737/675152
> Group Owner: [email protected]
> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [[email protected]]
> -=-=-=-=-=-=-=-=-=-=-=-

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#13139): https://lists.fd.io/g/vpp-dev/message/13139
Mute This Topic: https://lists.fd.io/mt/31696737/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to