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.
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to