Netdev Archive on lore.kernel.org help / color / mirror / Atom feed
From: Kurt Kanzenbach <kurt@linutronix.de> To: Richard Cochran <richardcochran@gmail.com> Cc: Andrew Lunn <andrew@lunn.ch>, Vivien Didelot <vivien.didelot@gmail.com>, Florian Fainelli <f.fainelli@gmail.com>, "David S. Miller" <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Jiri Pirko <jiri@mellanox.com>, Ido Schimmel <idosch@mellanox.com>, Heiner Kallweit <hkallweit1@gmail.com>, Russell King <linux@armlinux.org.uk>, Grygorii Strashko <grygorii.strashko@ti.com>, Samuel Zou <zou_wei@huawei.com>, netdev@vger.kernel.org, Petr Machata <petrm@mellanox.com>, Sebastian Andrzej Siewior <bigeasy@linutronix.de>, Kurt Kanzenbach <kurt@linutronix.de> Subject: [PATCH v4 2/9] ptp: Add generic ptp message type function Date: Tue, 18 Aug 2020 12:32:44 +0200 [thread overview] Message-ID: <20200818103251.20421-3-kurt@linutronix.de> (raw) In-Reply-To: <20200818103251.20421-1-kurt@linutronix.de> The message type is located at different offsets within the ptp header depending on the ptp version (v1 or v2). Therefore, drivers which also deal with ptp v1 have some code for it. Extract this into a helper function for drivers to be used. Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de> Reviewed-by: Richard Cochran <richardcochran@gmail.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> --- include/linux/ptp_classify.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/include/linux/ptp_classify.h b/include/linux/ptp_classify.h index 996f31e8f35d..39bad015d1d6 100644 --- a/include/linux/ptp_classify.h +++ b/include/linux/ptp_classify.h @@ -96,6 +96,31 @@ unsigned int ptp_classify_raw(const struct sk_buff *skb); */ struct ptp_header *ptp_parse_header(struct sk_buff *skb, unsigned int type); +/** + * ptp_get_msgtype - Extract ptp message type from given header + * @hdr: ptp header + * @type: type of the packet (see ptp_classify_raw()) + * + * This function returns the message type for a given ptp header. It takes care + * of the different ptp header versions (v1 or v2). + * + * Return: The message type + */ +static inline u8 ptp_get_msgtype(const struct ptp_header *hdr, + unsigned int type) +{ + u8 msgtype; + + if (unlikely(type & PTP_CLASS_V1)) { + /* msg type is located at the control field for ptp v1 */ + msgtype = hdr->control; + } else { + msgtype = hdr->tsmt & 0x0f; + } + + return msgtype; +} + void __init ptp_classifier_init(void); #else static inline void ptp_classifier_init(void) -- 2.20.1
next prev parent reply other threads:[~2020-08-18 10:33 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-18 10:32 [PATCH v4 0/9] ptp: Add generic helper functions Kurt Kanzenbach 2020-08-18 10:32 ` [PATCH v4 1/9] ptp: Add generic ptp v2 header parsing function Kurt Kanzenbach 2020-08-18 10:37 ` Russell King - ARM Linux admin 2020-08-18 10:32 ` Kurt Kanzenbach [this message] 2020-08-18 10:40 ` [PATCH v4 2/9] ptp: Add generic ptp message type function Russell King - ARM Linux admin 2020-08-19 5:50 ` Kurt Kanzenbach 2020-08-18 10:32 ` [PATCH v4 3/9] net: dsa: mv88e6xxx: Use generic helper function Kurt Kanzenbach 2020-08-18 10:43 ` Russell King - ARM Linux admin 2020-08-19 6:00 ` Kurt Kanzenbach 2020-08-18 10:32 ` [PATCH v4 4/9] mlxsw: spectrum_ptp: " Kurt Kanzenbach 2020-08-18 10:32 ` [PATCH v4 5/9] ethernet: ti: am65-cpts: " Kurt Kanzenbach 2020-08-18 10:32 ` [PATCH v4 6/9] ethernet: ti: cpts: " Kurt Kanzenbach 2020-08-18 10:32 ` [PATCH v4 7/9] net: phy: dp83640: " Kurt Kanzenbach 2020-08-18 10:32 ` [PATCH v4 8/9] ptp: ptp_ines: " Kurt Kanzenbach 2020-08-18 10:32 ` [PATCH v4 9/9] ptp: Remove unused macro Kurt Kanzenbach 2020-08-19 23:11 ` [PATCH v4 0/9] ptp: Add generic helper functions David Miller
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200818103251.20421-3-kurt@linutronix.de \ --to=kurt@linutronix.de \ --cc=andrew@lunn.ch \ --cc=bigeasy@linutronix.de \ --cc=davem@davemloft.net \ --cc=f.fainelli@gmail.com \ --cc=grygorii.strashko@ti.com \ --cc=hkallweit1@gmail.com \ --cc=idosch@mellanox.com \ --cc=jiri@mellanox.com \ --cc=kuba@kernel.org \ --cc=linux@armlinux.org.uk \ --cc=netdev@vger.kernel.org \ --cc=petrm@mellanox.com \ --cc=richardcochran@gmail.com \ --cc=vivien.didelot@gmail.com \ --cc=zou_wei@huawei.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).