netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] veth: Optionally pad packets to minimum Ethernet length
@ 2017-12-12 16:13 Ed Swierk
  2017-12-12 17:32 ` Dan Williams
  2017-12-12 21:11 ` Cong Wang
  0 siblings, 2 replies; 7+ messages in thread
From: Ed Swierk @ 2017-12-12 16:13 UTC (permalink / raw)
  To: netdev; +Cc: Ed Swierk, Benjamin Warren, Keith Holleman

Most physical Ethernet devices pad short packets to the minimum length
of 64 bytes (including FCS) on transmit. It can be useful to simulate
this behavior when debugging a problem that results from it (such as
incorrect L4 checksum calculation).

Padding is unnecessary for most applications so leave it off by
default. Enable padding only when the otherwise unused IFF_AUTOMEDIA
flag is set (e.g. by writing 0x5003 to flags in sysfs).

Signed-off-by: Ed Swierk <eswierk@skyportsystems.com>
---
 drivers/net/veth.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/veth.c b/drivers/net/veth.c
index f5438d0978ca..292029bf4bb2 100644
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -111,6 +111,12 @@ static netdev_tx_t veth_xmit(struct sk_buff *skb, struct net_device *dev)
 		goto drop;
 	}
 
+	if (unlikely(dev->flags & IFF_AUTOMEDIA)) {
+		/* if eth_skb_pad returns an error the skb was freed */
+		if (eth_skb_pad(skb))
+			goto drop;
+	}
+
 	if (likely(dev_forward_skb(rcv, skb) == NET_RX_SUCCESS)) {
 		struct pcpu_vstats *stats = this_cpu_ptr(dev->vstats);
 
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-12-12 22:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-12 16:13 [PATCH] veth: Optionally pad packets to minimum Ethernet length Ed Swierk
2017-12-12 17:32 ` Dan Williams
2017-12-12 18:18   ` Marcelo Ricardo Leitner
2017-12-12 18:34     ` Stephen Hemminger
2017-12-12 19:00       ` Ed Swierk
2017-12-12 22:01         ` Stephen Hemminger
2017-12-12 21:11 ` Cong Wang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).