On Wed, Jan 15, 2014 at 12:34 PM, Gleb Smirnoff <gleb...@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. _______________________________________________ email@example.com mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"