[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1279391885.git.richard.cochran@omicron.at>
Date: Sat, 17 Jul 2010 20:48:02 +0200
From: Richard Cochran <richardcochran@...il.com>
To: netdev@...r.kernel.org
Subject: [PATCH v3 0/4] Extend Time Stamping
This patch set extends the packet time stamping capabilites of the
network stack in two ways.
1. The first patch presents a work-around for the TX software time
stamping fallback problem cited in cd4d8fdad1f1. The idea is to add
one inline function into each MAC driver. This function will act
as hooks for current (and possible future) time stamping needs,
once they are placed correctly within each MAC driver.
2. The other patches prepare the way for PHY drivers to offer time
stamping.
I am preparing a new round of patches for PTP support, but it will
require the changes in this patch set in order to function. Thus I
would like to have this patch set reviewed (and hopefully merged) in
order to go forward.
Thanks,
Richard
* Patch ChangeLog
** v3
After having received plenty of criticism on the idea of reading
from the MDIO bus during the critical paths, this version presents
a new approach. Now, when the CONFIG option for PHY time stamping
is enabled, likely packets for time stamping are identified by the
stack and presented to the PHY driver. The driver may accept the
packet and defer its deliverly until the time stamp becomes
available at a later time. This approach brings four main
advantages.
1. Now only one MAC driver hook is necessary.
2. It leaves the option of how to get the time stamps open,
allowing, for example, a driver to get them either via MDIO or
PHY status frames.
3. If reading the MDIO bus is required to get the time stamp, this
can be done during as a work queue task.
4. It moves the identification of PTP packets into the stack, so
that each new PHY driver that comes only will not have to
duplicate this logic again.
** v2
Removed the CONFIG option for the driver hooks.
Richard Cochran (4):
net: add driver hook for tx time stamping.
net: preserve ifreq parameter when calling generic phy_mii_ioctl().
net: added a BPF to help drivers detect PTP packets.
net: support time stamping in phy devices.
drivers/net/arm/ixp4xx_eth.c | 3 +-
drivers/net/au1000_eth.c | 2 +-
drivers/net/bcm63xx_enet.c | 2 +-
drivers/net/cpmac.c | 5 +-
drivers/net/dnet.c | 2 +-
drivers/net/ethoc.c | 2 +-
drivers/net/fec.c | 2 +-
drivers/net/fec_mpc52xx.c | 2 +-
drivers/net/fs_enet/fs_enet-main.c | 3 +-
drivers/net/gianfar.c | 2 +-
drivers/net/macb.c | 2 +-
drivers/net/mv643xx_eth.c | 2 +-
drivers/net/octeon/octeon_mgmt.c | 2 +-
drivers/net/phy/phy.c | 8 ++-
drivers/net/phy/phy_device.c | 2 +
drivers/net/sb1250-mac.c | 2 +-
drivers/net/sh_eth.c | 2 +-
drivers/net/smsc911x.c | 2 +-
drivers/net/smsc9420.c | 2 +-
drivers/net/stmmac/stmmac_main.c | 22 ++----
drivers/net/tc35815.c | 2 +-
drivers/net/tg3.c | 2 +-
drivers/net/ucc_geth.c | 2 +-
drivers/staging/octeon/ethernet-mdio.c | 2 +-
include/linux/netdevice.h | 4 +
include/linux/phy.h | 24 ++++++-
include/linux/ptp_classify.h | 126 ++++++++++++++++++++++++++++++++
include/linux/skbuff.h | 52 +++++++++++++
net/Kconfig | 10 +++
net/core/Makefile | 2 +-
net/core/dev.c | 3 +
net/core/timestamping.c | 126 ++++++++++++++++++++++++++++++++
net/dsa/slave.c | 3 +-
net/socket.c | 4 +
34 files changed, 389 insertions(+), 44 deletions(-)
create mode 100644 include/linux/ptp_classify.h
create mode 100644 net/core/timestamping.c
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists