net: dsa: don't call ptp_classify_raw() if switch doesn't provide RX timestamping
authorVladimir Oltean <vladimir.oltean@nxp.com>
Fri, 9 Dec 2022 17:58:40 +0000 (19:58 +0200)
committerJakub Kicinski <kuba@kernel.org>
Mon, 12 Dec 2022 23:03:21 +0000 (15:03 -0800)
commit8f18655c49eb6abfe7fc3711d32d23b311fbc6a6
treeb6d197aa3735d037b53e19618956672d6f6adc47
parentcd2aafa25b94b4d7f46fbae0bf58701689db296b
net: dsa: don't call ptp_classify_raw() if switch doesn't provide RX timestamping

ptp_classify_raw() is not exactly cheap, since it invokes a BPF program
for every skb in the receive path. For switches which do not provide
ds->ops->port_rxtstamp(), running ptp_classify_raw() provides precisely
nothing, so check for the presence of the function pointer first, since
that is much cheaper.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>
Link: https://lore.kernel.org/r/20221209175840.390707-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/dsa/tag.c