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

From: Junfeng Yang
Date: Wed Jan 19 2005 - 21:14:43 EST


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/