IP Library › Granted Patent US 10,148,796
Granted Patent B2
US 10,148,796 · App. 14/918,296 · Granted Dec 4, 2018

Checksum friendly timestamp update

Inventors: Patrick Wang (Palo Alto, CA); Daniel Christian Biederman (Saratoga, CA); Ravi Tangirala (San Jose, CA); Edward Ho (Fremont, CA); Afshin Ganjooi (Fremont, CA)
Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
H04L69/164H03M13/096H04J3/067H04J3/0673H04L1/0061H04L43/106H04L47/12H04L69/324
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,148,796
App. No.
14/918,296
Granted
Dec 4, 2018
Kind
B2
Abstract

A network device in a network is provided that is configured to implement a process for modifying a timestamp in a packet that is a timing protocol packet. The timing protocol packet is encapsulated by a user data protocol (UDP) datagram, where the modified timestamp is written into the packet, but does not require a checksum of the UDP datagram to be changed. The process includes receiving a packet including a first timestamp over the network, receiving the first timestamp from the packet and a second timestamp to be written to the packet, and determining a third timestamp that is a modification of the second timestamp to be written to the packet, the third timestamp having least significant bits modified from the second timestamp such that the checksum of the UDP datagram is unchanged. The process writes the third timestamp into the packet and transmits the UDP datagram to the network.

Claims (37)

1. A method implemented by a network device in a network including a plurality of network devices, the method for modifying a timestamp in a packet that is a timing protocol packet that is encapsulated by a user data protocol (UDP) datagram without a checksum trailer, where the modified timestamp is written into the packet, but does not require a checksum of the UDP datagram to be changed, the method comprising:

receiving a packet including a first timestamp over the network;

receiving the first timestamp from the packet and a second timestamp to be written to the packet;

determining a third timestamp that is a modification of the second timestamp to be written to the packet, the third timestamp having least significant bits modified from the second timestamp such that the checksum of the UDP datagram is unchanged, wherein determining the third timestamp includes generating a set of possible modifications to the second timestamp, and selecting for the third timestamp a modification from the set of possible modifications having the least deviation from the second timestamp;

writing the third timestamp into the packet in place of the second timestamp; and

transmitting the UDP datagram to the network.

2. The method of claim 1 , wherein the timing protocol packet is a precision time protocol (PTP), a network timing protocol (NTP), a one way active measurement protocol (OWAMP), or a two way active measurement protocol (TWAMP) packet.

3. The method of claim 1 , wherein determining the third timestamp further comprises:

modifying a set of least significant bits in the second timestamp to offset a value of the most significant bits in the second timestamp.

4. The method of claim 1 , further comprising:

comparing the first timestamp to the second timestamp to determine a difference; and

modifying the second timestamp to offset the difference to maintain the checksum of the UDP datagram.

5. The method of claim 1 , wherein the third timestamp is written into the packet in the location of the first timestamp in the packet.

6. The method of claim 5 , wherein the location of the first timestamp is in the timing protocol packet in a payload of the UDP datagram.

7. A network device in a network including a plurality of network devices, the network device implementing a method for modifying a timestamp in a packet that is a timing protocol packet that is encapsulated by a user data protocol (UDP) datagram without a checksum trailer, where the modified timestamp is written into the packet, but does not require a checksum of the UDP datagram to be changed, the network device comprising:

a machine-readable storage medium;

a processor coupled to the machine-readable storage medium, the processor configured to receive the UDP datagram from the network, to receive the first timestamp from the packet in the UDP datagram and a second timestamp to be written to the packet, to write a third timestamp into the packet in the UDP datagram in place of the second timestamp, and to transmit the UDP datagram to the network; and

a checksum neutral modification module coupled to the processor and the machine-readable storage medium, the checksum neutral modification module configured to determine the third timestamp that is a modification of the second timestamp to be written to the packet, the third timestamp having least significant bits modified from the second timestamp such that the checksum of the UDP datagram is unchanged, wherein the checksum neutral modification module is further to determine the third timestamp by generating a set of possible modifications to the second timestamp, and selecting for the third timestamp a modification from the set of possible modifications having the least deviation from the second timestamp.

8. The network device of claim 7 , wherein the timing protocol packet is a precision time protocol (PTP), a network timing protocol (NTP), a one way active measurement protocol (OWAMP), or a two way active measurement protocol (TWAMP) packet.

9. The network device of claim 7 , wherein the checksum neutral modification module is further configured to determine the third timestamp by modifying a set of least significant bits in the second timestamp to offset a value of the most significant bits in the second timestamp.

10. The network device of claim 7 , wherein the checksum neutral modification module is further configured to compare the first timestamp to the second timestamp to determine a difference, and to modify the second timestamp to offset the difference to maintain the checksum of the UDP datagram.

11. The network device of claim 7 , wherein the third timestamp is written into the packet in the location of the first timestamp in the packet.

12. The network device of claim 11 , wherein the checksum neutral modification module is implemented in a line card, a physical layer, a media access control (MAC) layer, an optical module or the processor.

13. A non-transitory machine-readable medium having stored therein a set of instructions, which when executed by a network device, in a network of a plurality of network devices, implement a method for modifying a timestamp in a packet that is a timing protocol packet that is encapsulated by a user data protocol (UDP) datagram without a checksum trailer, where the modified timestamp is written into the packet, but does not require a checksum of the UDP datagram to be changed, the set of instructions comprising:

receiving a packet including a first timestamp over the network;

receiving the first timestamp from the packet and a second timestamp to be written to the packet;

determining a third timestamp that is a modification of the second timestamp to be written to the packet, the third timestamp having least significant bits modified from the second timestamp such that the checksum of the UDP datagram is unchanged, wherein determining the third timestamp includes generating a set of possible modifications to the second timestamp, and selecting for the third timestamp a modification from the set of possible modifications having the least deviation from the second timestamp;

writing the third timestamp into the packet instead of the second timestamp; and

transmitting the UDP datagram to the network.

14. The non-transitory machine readable medium of claim 13 , wherein the timing protocol packet is a precision time protocol (PTP), a network timing protocol (NTP), a one way active measurement protocol (OWAMP), or a two way active measurement protocol (TWAMP) packet.

15. The non-transitory machine readable medium of claim 13 , wherein determining the third timestamp further comprises:

modifying a set of least significant bits in the second timestamp to offset a value of the most significant bits in the second timestamp.

16. The non-transitory machine readable medium of claim 13 , further comprising:

comparing the first timestamp to the second timestamp to determine a difference; and

modifying the second timestamp to offset the difference to maintain the checksum of the UDP datagram.

17. The non-transitory machine readable medium of claim 13 , wherein the third timestamp is written into the packet in the location of the first timestamp in the packet.

18. The non-transitory machine readable medium of claim 17 , wherein the location of the first timestamp is in the timing protocol packet in a payload of the UDP datagram.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2015
From: WANG, PATRICK; BIEDERMAN, DANIEL CHRISTIAN; TANGIRALA, RAVI; HO, EDWARD; GANJOOI, AFSHIN
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 036837/0631 →
Continuity (1)
Related Publication 20170111483A1 · Apr 20, 2017