Method and system for tracing packets in software defined networks

US11522797B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11522797-B2
Application numberUS-201716635985-A
CountryUS
Kind codeB2
Filing dateAug 30, 2017
Priority dateAug 30, 2017
Publication dateDec 6, 2022
Grant dateDec 6, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method is implemented by a network device where the method performs a trace flow process in a packet processing pipeline of the network device. The packet processing pipeline includes a trace table and a forward table. The method encompasses forwarding a trace packet to the trace table, forwarding a copy of the trace packet to a trace analyzer in response to determining that a trace bit is set in the trace packet, forwarding the trace packet to the forward table, and determining a next stage of the packet processing pipeline based on trace packet meta data and a value stored in a trace register.

First claim

Opening claim text (preview).

What is claimed is: 1. A method implemented by a network device, the method to perform a trace flow process in a packet processing pipeline of the network device, the packet processing pipeline including a set of flow tables defining actions and matching criteria, the set of flow tables including a trace table and a forward table, the method comprising: storing by a first flow table in the set of flow tables a next destination for a trace packet into a trace register; forwarding the trace packet, by the first flow table, to the trace table; forwarding a copy of the trace packet and information on a plurality of flow tables in the set of flow tables traversed by the trace packet, by the trace table, to a trace analyzer to generate a trace, in response to the trace table determining that a trace bit is set in the trace packet; forwarding, by the trace table, the trace packet to the forward table; and determining, by the forward table, a next stage of the packet processing pipeline to forward the trace packet to, based on trace packet meta data and the next destination stored in the trace register indicating a next hop in the processing pipeline for the trace packet; and replacing, in a flow table of the set of flow tables, a goto command having a first destination as an operand with a goto command with the trace table as the operand and a load command to place the first destination in the trace register. 2. The method of claim 1 , further comprising: receiving the trace packet from a controller or a marking module; and initiating processing of the trace packet at the first flow table of the packet processing pipeline. 3. The method of claim 1 , wherein the packet processing pipeline further includes a drop table, the method further comprising: forwarding the trace packet to a drop table. 4. The method of claim 1 , wherein the meta data in the trace packet indicates a type of the next destination for the trace packet after the forward table. 5. A network device configured to implement a method to perform a trace flow process in a packet processing pipeline of the network device, the network device comprising: a non-transitory machine-readable storage medium having stored therein a set of flow tables including a trace table and a forward table, the set of flow tables including flow entries having values to identify a trace packet and send the trace packet to the trace table; and a processor to execute a packet processing pipeline including the trace table and the forward table, the processor to store a next destination for the trace packet into a trace register, to forward the trace packet to the trace table, to forward a copy of the trace packet and information on a plurality of flow tables in the set of flow tables traversed by the trace packet to a trace analyzer in response to determining that a trace bit is set in the trace packet, to forward the trace packet to the forward table, to determine a next stage of the packet processing pipeline to forward the trace packet to, based on trace packet meta data and the next destination stored in the trace register indicating a next hop in the processing pipeline for the trace packet, and to replace in a flow table of the set of flow tables a goto command having a first destination as an operand with a goto command with the trace table as the operand and a load command to place the first destination in the trace register. 6. The network device of claim 5 , wherein the processor is further configured to receive the trace packet from a controller or a marking module, and initiating processing of the trace packet at a first flow table of the packet processing pipeline. 7. The network device of claim 5 , wherein the packet processing pipeline further includes a drop table, the processor further configured to execute the trace flow by forwarding the trace packet to a drop table. 8. The network device of claim 5 , wherein the meta data in the trace packet indicates a type of the next destination for the trace packet after the forward table. 9. A computing device configured to execute a plurality of virtual machines, the plurality of virtual machines configured to provide network function virtualization (NFV), the plurality of virtual machines to implement a method to perform a trace flow process in a packet processing pipeline of the computing device, the computing device comprising: a non-transitory machine-readable storage medium having stored therein a set of flow tables including a trace table and a forward table, the set of flow tables including flow entries having values to identify a trace packet and sent the trace packet to the trace table; and a processor to execute the plurality of virtual machines, at least one virtual machine in the plurality of virtual machines to execute a packet processing pipeline including the trace table and the forward table, the at least one virtual machine to store a next destination for the trace packet into a trace register, to forward the trace packet to the trace table, forward a copy of the trace packet and information on a plurality of flow tables in the set of flow tables traversed by the trace packet to a trace analyzer in response to determining that a trace bit is set in the trace packet, forward the trace packet to the forward table, determine a next stage of the packet processing pipeline based on trace packet meta data and the next destination stored in the trace register indicating a next hop in the processing pipeline for the trace packet, and replace in a flow table of the set of flow tables a goto command having a first destination as an operand with a goto command with the trace table as the operand and a load command to place the first destination in the trace register. 10. The computing device of claim 9 , wherein the at least one virtual machine is further configured to receive the trace packet from a controller or a marking module, and initiating processing of the trace packet at a first flow table of the packet processing pipeline. 11. The computing device of claim 9 , wherein the at least one virtual machine further includes a drop table, the processor further configured to execute the trace flow by forwarding the trace packet to a drop table. 12. The computing device of claim 9 , wherein the meta data in the trace packet indicates a type of the next destination for the trace packet after the forward table. 13. A control plane device configured to implement a method to perform a trace flow process in a packet processing pipeline of a network device, the control plane device comprising: a non-transitory machine-readable storage medium having stored therein a trace analyzer and a flow entry modifier; and a processor coupled to the non-transitory machine-readable storage medium, the processor to execute the trace analyzer, the trace analyzer to receive at least one trace packet copy from a trace table of a node in a set of nodes in a data plane of a software defined network, the trace analyzer to determine a trace across a plurality of flow tables identifying each traversed flow table in the plurality of flow tables within a packet processing pipeline based on information provided by the node with the trace packet copy, the processor to execute the flow entry modifier, the flow entry modifier to replace in a flow table of the plurality of flow tables a goto command having a first destination as an operand with a goto command with the trace table as the operand and a load command to place the first destination in a trace register. 14. The control plane device of claim 13 , wherein the trace analyzer is further to determine a trace across mult

Assignees

Inventors

Classifications

  • H04L45/742Primary

    Route cache; Operation thereof · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV] · CPC title

  • the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11522797B2 cover?
A method is implemented by a network device where the method performs a trace flow process in a packet processing pipeline of the network device. The packet processing pipeline includes a trace table and a forward table. The method encompasses forwarding a trace packet to the trace table, forwarding a copy of the trace packet to a trace analyzer in response to determining that a trace bit is se…
Who is the assignee on this patent?
Ericsson Telefon Ab L M
What technology area does this patent fall under?
Primary CPC classification H04L45/742. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 06 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).