[BUG] 2.6.* pktgen doesn't set ethnet header properly

From: Robert Olsson
Date: Fri Jan 21 2005 - 07:54:40 EST



Hello!

Look at

pginfos[i].hh[12] = 0x08; /* fill in protocol. Rest is filled in later. */
pginfos[i].hh[13] = 0x00;

--ro


Junfeng Yang writes:
> Hi,
>
> I tried to use pktgen module from 2.6.* kernels and found out that I
> couldn't receive any packets generated by pktgen. I did not even see a
> "packet dropped by kernel" message. It turned out that function
> setup_inject in net/core/pktgen.c doesn't setup the ethernet header field
> correctly. Below is a patch that fixes the problem.
>
> --- kernel-source-2.6.8-orig/net/core/pktgen.c 2004-08-13 22:37:26.000000000 -0700
> +++ kernel-source-2.6.8/net/core/pktgen.c 2005-01-19 17:54:46.000000000 -0800
> @@ -259,6 +259,9 @@
>
> /* Set up Dest MAC */
> memcpy(&(info->hh[0]), info->dst_mac, 6);
> +
> + /* Set up protocol */
> + ((struct ethhdr *)(info->hh))->h_proto = htons(ETH_P_IP);
>
> info->saddr_min = 0;
> info->saddr_max = 0;
>
> -Junfeng
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/