IP Library › Granted Patent US 12,081,336
Granted Patent B2
US 12,081,336 · App. 17/644,966 · Granted Sep 3, 2024

Packet drop monitoring in a virtual router

Inventors: Kiran K N (Bangalore, IN); Yashika Badaya (Mumbai, IN); Rakesh Kumar Reddy Varimalla (Bengaluru, IN)
Assignee: JUNIPER NETWORKS, INC.
H04L1/1809H04L12/4633H04L43/0829H04L45/22H04L45/28H04L45/586
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 12,081,336
App. No.
17/644,966
Granted
Sep 3, 2024
Kind
B2
Abstract

Techniques are described for capturing dropped packets and creating modified dropped packets with drop information associated with the dropped packets to provide greater details of the dropped packets for further analysis and/or serviceability. For example, a computing device comprises an internal communication channel, a process executing in user space, and a virtual router. The virtual router comprises, for example, processing circuitry and a drop interface to the internal communication channel, wherein the virtual router is configured to: receive a packet; in response to determining the packet is to be dropped, creating a modified dropped packet to include drop information associated with the packet; and provide the modified dropped packet to the drop interface to communicate the modified dropped packet via the internal communication channel to the process.

Claims (52)

1. A computing device comprising:

an internal communication channel; and

processing circuitry configured to execute a virtual router, wherein the virtual router is configured to:

receive a packet;

in response to determining the packet is to be dropped, create a modified dropped packet that includes drop information associated with the packet by:

encapsulating the drop information as a header of the modified dropped packet, wherein the drop information includes at least context specific information associated with a cause of the determination of the packet to be dropped; and

specifying the packet or a copy of the packet as a payload of the modified dropped packet; and

provide the modified dropped packet to a drop interface to the internal communication channel to communicate the modified dropped packet via the internal communication channel to a process executed in user space of the computing device.

2. The computing device of claim 1 , wherein the drop information further comprises:

one or more attributes associated with the packet to be dropped.

3. The computing device of claim 2 , wherein the one or more attributes comprises one or more of a drop type, a filename of a software application implementing the virtual router, a line number indicating an instruction executing when the determination to drop the packet occurred, a version of the software application, a timestamp, or a virtual network interface of the virtual router.

4. The computing device of claim 3 , wherein the one or more attributes comprising the virtual network interface of the virtual router comprises:

a virtual network identifier in the modified dropped packet that indicates a virtual network on which the packet was received.

5. The computing device of claim 1 , wherein the context specific information comprises information describing a cause of a packet processing error occurring within a packet processing pipeline of the virtual router.

6. The computing device of claim 1 , wherein to provide the modified dropped packet to the drop interface, the virtual router is configured to:

send, by a forwarding core of a plurality of logical cores of the virtual router, the modified dropped packet to a queue associated with the drop interface;

obtain, by a service core of the plurality of logical cores, the modified dropped packet from the queue; and

send, by the service core, the modified drop packet to the drop interface.

7. The computing device of claim 6 ,

wherein the queue associated with the drop interface includes modified dropped packets from other forwarding cores of the plurality of logical cores, and

wherein the virtual router is further configured to:

obtain, by the service core, modified dropped packets from other forwarding cores of the plurality of logical cores from the queue; and

sending, by the service core, the modified dropped packets from other forwarding cores of the plurality of logical cores to the drop interface.

8. The computing device of claim 1 , wherein the processing circuitry is configured to execute the virtual router as a kernel module of the computing device.

9. The computing device of claim 1 , wherein the processing circuitry is configured to execute the virtual router as a user space Data Plane Development Kit (DPDK) process.

10. The computing device of claim 1 , wherein to create the modified dropped packet that includes the drop information associated with the packet, the virtual router is configured to:

generate a copy of the packet; and

modify the copy of the packet that includes the drop information associated with the packet.

11. The computing device of claim 1 , wherein to create the modified dropped packet, the virtual router is configured to:

modify the packet that includes the drop information associated with the packet.

12. The computing device of claim 1 , wherein the virtual router is configured to create the modified dropped packet based on a particular drop type.

13. The computing device of claim 8 , wherein the virtual router is configured to create the modified dropped packet based on the packet originating from a particular host.

14. The computing device of claim 1 , wherein the virtual router is configured to create the modified dropped packet based on a particular drop type and the packet originating from a particular host.

15. A method comprising:

receiving, by a virtual router of a computing device, a packet;

in response to determining the packet is to be dropped, creating a modified dropped packet that includes drop information associated with the packet by:

encapsulating the drop information as a header of the modified dropped packet, wherein the drop information includes at least context specific information associated with a cause of the determination of the packet to be dropped, and

specifying the packet or a copy of the packet as a payload of the modified dropped packet; and

providing, by the virtual router, the modified dropped packet to a drop interface of the virtual router to an internal communication channel of the computing device to communicate the modified dropped packet via the internal communication channel to a process executed in user space of the computing device.

16. The method of claim 15 , wherein encapsulating the drop information as the header of the modified dropped packet comprises:

encapsulating a first portion of the header to include one or more attributes associated with the packet to be dropped; and

encapsulating a second portion of the header to include the context specific information associated with the packet to be dropped.

17. The method of claim 15 , wherein providing the modified dropped packet to the drop interface of the virtual router comprises:

sending, by a forwarding core of a plurality of logical cores of the virtual router, the modified dropped packet to a queue associated with the drop interface;

obtaining, by a service core of the plurality of logical cores, the modified dropped packet from the queue; and

sending, by the service core, the modified drop packet to the drop interface.

18. Non-transitory computer-readable storage media encoded with instructions that, when executed, cause one or more processors of a computing device to:

receive a packet;

in response to determining the packet is to be dropped, create a modified dropped packet that includes drop information associated with the packet by:

encapsulating the drop information as a header of the modified dropped packet, wherein the drop information includes at least context specific information associated with a cause of the determination of the packet to be dropped, and

specifying the packet or a copy of the packet as a payload of the modified dropped packet; and

provide the modified dropped packet to a drop interface of a virtual router to an internal communication channel of the computing device to communicate the modified dropped packet to a process executed in a user space of the computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2021
From: K N, KIRAN; BADAYA, YASHIKA; VARIMALLA, RAKESH KUMAR REDDY
To: JUNIPER NETWORKS, INC.
Reel/Frame 058421/0104 →
Continuity (1)
Related Publication 20230198676A1 · Jun 22, 2023