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