PATCH - Pktgen srcmac fix - Kernel 2.6.22.6
From: Adit Ranadive <hidden>
Date: 2007-09-02 01:18:46
Also in:
lkml
diff -urNp linux-orig/net/core/pktgen.c linux-mod/net/core/pktgen.c
--- linux-orig/net/core/pktgen.c 2007-08-31 02:21:01.000000000 -0400
+++ linux-mod/net/core/pktgen.c 2007-09-01 20:51:22.000000000 -0400@@ -111,6 +111,9 @@ * * 802.1Q/Q-in-Q support by Francesco Fondelli (FF)
[off-list ref] * + * Fixed src_mac command to set source mac of packet to value specified in + * command by Adit Ranadive [off-list ref] + * */ #include <linux/sys.h> #include <linux/types.h>
@@ -1415,7 +1418,9 @@ static ssize_t pktgen_if_write(struct fi } if (!strcmp(name, "src_mac")) { char *v = valstr; + unsigned char old_smac[ETH_ALEN]; unsigned char *m = pkt_dev->src_mac; + memcpy(old_smac, pkt_dev->src_mac, ETH_ALEN); len = strn_len(&user_buffer[i], sizeof(valstr) - 1); if (len < 0) {
@@ -1445,6 +1450,10 @@ static ssize_t pktgen_if_write(struct fi } } + /* Set up Src MAC */ + if (compare_ether_addr(old_smac, pkt_dev->src_mac)) + memcpy(&(pkt_dev->hh[6]), pkt_dev->src_mac, ETH_ALEN); + sprintf(pg_result, "OK: srcmac"); return count; }
--
Adit Ranadive
MS CS Candidate
Georgia Institute of Technology,
Atlanta, GA