On 10/5/26 2:38 PM, Michal Arbet wrote:
> Scapy 2.8.0 moved the IGMPv3 layers to scapy.layers.igmp and kept
> scapy.contrib.igmpv3 only as a deprecated alias.  IGMPv3mr is now
> IGMPv3_MR, a complete Membership Report that carries its own type
> and checksum.  The "IGMPv3(type=0x22) / IGMPv3mr(...)" packet used by
> the "Traffic from external port not looped back to localnet" test is
> therefore built with two report headers, and the first one has zero
> group records.  pinctrl learns no group from it and the test fails
> waiting for the 239.1.2.3 IGMP_Group row.
> 
> No scapy construction produces the same packet with both 2.7 and 2.8,
> so build the report with the send_igmp_v3_report() helper that the
> other IGMP tests already use.
> 
> Assisted-by: Claude Opus 5.5, Claude Code
> Signed-off-by: Michal Arbet <[email protected]>
> ---

Hi Michal,

Thanks a lot for the fix!

I was looking at this issue in disbelief this morning trying to
understand why it "works on my machine" and not in GitHub CI. :)

Assuming ovsrobot reports green CI with this patch:

Acked-by: Dumitru Ceara <[email protected]>

Regards,
Dumitru

>  tests/ovn.at | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/tests/ovn.at b/tests/ovn.at
> index 136b825f9..e0796a76c 100644
> --- a/tests/ovn.at
> +++ b/tests/ovn.at
> @@ -47594,13 +47594,11 @@ mld_packet=$(fmt_pkt \
>  check as hv1 ovs-appctl netdev-dummy/receive br-phys_n1 $mld_packet
>  
>  # IGMPv3 report.  Same scenario but with IPv4 multicast.
> -igmp_packet=$(fmt_pkt \
> -    "Ether(dst='01:00:5e:00:00:16', src='50:54:00:00:00:01') / \
> -     IP(src='10.0.0.1', dst='224.0.0.22', ttl=1, \
> -        options=IPOption_Router_Alert()) / \
> -     IGMPv3(type=0x22) / \
> -     IGMPv3mr(records=IGMPv3gr(rtype=4, maddr='239.1.2.3'))")
> -check as hv1 ovs-appctl netdev-dummy/receive br-phys_n1 $igmp_packet
> +send_igmp_v3_report br-phys_n1 hv1 \
> +    505400000001 $(ip_to_hex 10 0 0 1) f9f8 \
> +    $(ip_to_hex 239 1 2 3) 04 e8f9 \
> +    igmp_packet.txt
> +igmp_packet=$(cat igmp_packet.txt)
>  
>  # Wait for pinctrl to fully process the IGMP/MLD reports and sync them
>  # to the SB database.  This guarantees that pinctrl has also re-injected

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to