Re: [PATCH V14 4/4] ptp: Added a clock driver for the National Semiconductor PHYTER.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2011-04-18 at 08:30 +0200, Richard Cochran wrote:
> This patch adds support for the PTP clock found on the DP83640.
> The basic clock operations and one external time stamp have
> been implemented.
[...]
> --- /dev/null
> +++ b/drivers/net/phy/dp83640.c
[...]
> +static int match(struct sk_buff *skb, unsigned int type, struct rxts *rxts)
> +{
> +	u16 *seqid;

Should be __be16 *, and similarly for the casts.

> +	u8 *msgtype, *data = skb_mac_header(skb);
> +
> +	/* check sequenceID, messageType, 12 bit hash of offset 20-29 */
> +	/* We assume that the IPv4 header has no options. */

Does the hardware definitely not timestamp received packets with IP
options?

> +	switch (type) {
> +	case PTP_CLASS_V1_IPV4:
> +		msgtype = data + 42 + 32;
> +		seqid = (u16 *)(data + 42 + 30);
> +		break;
> +	case PTP_CLASS_V1_IPV6:
> +		msgtype = data + 62 + 32;
> +		seqid = (u16 *)(data + 62 + 30);
> +		break;
> +	case PTP_CLASS_V2_IPV4:
> +		msgtype = data + 42 + 0;
> +		seqid = (u16 *)(data + 42 + 30);
> +		break;
> +	case PTP_CLASS_V2_IPV6:
> +		msgtype = data + 62 + 0;
> +		seqid = (u16 *)(data + 62 + 30);
> +		break;
> +	case PTP_CLASS_V2_L2:
> +		msgtype = data + 14 + 0;
> +		seqid = (u16 *)(data + 14 + 30);
> +		break;
> +	case PTP_CLASS_V2_VLAN:
> +		msgtype = data + 18 + 0;
> +		seqid = (u16 *)(data + 18 + 30);
> +		break;
[...]

Would be better without the magic numbers.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.

--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux