Re: Regression on 10-RC5 with a multicast routing daemon

From: Olivier Cochard-Labbé <olivier_at_cochard.me>
Date: Sun, 19 Jan 2014 02:42:32 +0100
On Wed, Jan 15, 2014 at 12:34 PM, Gleb Smirnoff <glebius_at_freebsd.org> wrote:

>   Olivier,
>
>
> TL;DR version: you need not subtract iphdrlen in 10.0. Code in
> igmp.c:accept_igmp()
> should be smth like:
>
>     iphdrlen  = ip->ip_hl << 2;
> #ifdef RAW_INPUT_IS_RAW /* Linux */
>     ipdatalen = ntohs(ip->ip_len) - iphdrlen;
> #else
>  #if __FreeBSD_version >= 1000000
>     ipdatalen = ip->ip_len - iphdrlen;
>  #else
>     ipdatalen = ip->ip_len;
>  #endif
> #endif
>
>
With this patch I've no more the message "warning - Received packet from
x.x.x.x shorter (28 bytes) than hdr+data length (20+28)":Thanks!
But there is still a regression regarding the PIM socket behavior not
related to the packet format.
The pim.c include 2 functions (pim_read and pim_accept) that are called
when the socket received a packet: There functions are never triggered when
PIM packets are received on 10.0.
In the same time igmp_read() and igmp_accept() are correctly triggered on
9.2 and 10.0.
tcpdump in non-promiscious mode correctly see input of PIM packet: This
should confirm that once this daemon is started, it correctly open a PIM
socket and the multicast filter is updated.
Received on Sun Jan 19 2014 - 00:42:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:46 UTC