Date: Sun, 19 Jan 2014 02:42:32 +0100 From: =?ISO-8859-1?Q?Olivier_Cochard=2DLabb=E9?= <olivier@cochard.me> To: Gleb Smirnoff <glebius@freebsd.org> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>, Andre Oppermann <andre@freebsd.org> Subject: Re: Regression on 10-RC5 with a multicast routing daemon Message-ID: <CA%2Bq%2BTcrCVmH9-9jNGbeTTjV9wUs=jrK2uFGvDRY0Du5oUVEGvQ@mail.gmail.com> In-Reply-To: <20140115113430.GK26504@FreeBSD.org> References: <CA%2Bq%2BTcpFs_vff-r5e-Hw=F7QvGLc-9HGM-vm5TB1C4zik%2B0d8A@mail.gmail.com> <20140115113430.GK26504@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 15, 2014 at 12:34 PM, Gleb Smirnoff <glebius@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2Bq%2BTcrCVmH9-9jNGbeTTjV9wUs=jrK2uFGvDRY0Du5oUVEGvQ>