Efficient troubleshooting in openflow switches
AssigneeTelefonaktiebolaget LM Ericsson (publ)
InventorsFaseela K, Ashutosh Bisht, Vyshakh Krishnan C H
Life of this patent
Estimating the term…
Abstract
A method implemented by a switch in a Software Defined Networking (SDN) network to trace packets in the SDN network, where the switch includes a packet processing pipeline. The method includes receiving a first packet, determining, at a first flow table of the packet processing pipeline, whether the first packet is to be traced, punting a copy of the first packet to an SDN controller and directing the first packet to a second flow table of the packet processing pipeline in response to a determination at the first flow table that the first packet is to be traced.
Claims18
A method implemented by a switch in a Software Defined Networking (SDN) network to trace packets in the SDN network, where the switch includes a packet processing pipeline that includes a plurality of flow tables, the method comprising:
- receiving a first packet;
- determining, at a first flow table of the packet processing pipeline, whether the first packet is to be traced;
- sending a copy of the first packet to an SDN controller and directing the first packet to a second flow table of the packet processing pipeline in response to a determination at the first flow table that the first packet is to be traced;
- receiving, from the SDN controller, the copy of the first packet and an indication that the copy of the first packet is to be directed to a third flow table of the packet processing pipeline;
- determining, at the first flow table, whether the copy of the first packet is to be traced;
- setting a first field associated with the copy of the first packet to indicate that tracing is disabled for the copy of the first packet in response to a determination at the first flow table that the copy of the first packet is to be traced;
- directing the copy of the first packet from the first flow table to the third flow table to resume processing of the copy of the first packet at the third flow table, wherein when the copy of the first packet arrives at the third flow table, the first field associated with the copy of the first packet is set to indicate that tracing is disabled for the copy of the first packet and a second field associated with the copy of the first packet is set to indicate that tracing is enabled for the copy of the first packet;
- and
- copying, at the third flow table, content of the second field associated with the copy of the first packet to the first field associated with the copy of the first packet before directing the copy of the first packet to a fourth flow table of the packet processing pipeline, wherein the copying causes the first field associated with the copy of the first packet to indicate that tracing is enabled for the copy of the first packet to allow the copy of the first packet to be traced at the fourth flow table.
A network device to function as a switch in a Software Defined Networking (SDN) network to trace packets in the SDN network, where the switch is to include a packet processing pipeline that includes a plurality of flow tables, the network device comprising:
- a set of one or more processors;
- and
- a non-transitory machine-readable storage medium having stored therein a packet tracing component, which when executed by the set of one or more processors, causes the network device to receive a first packet, determine, at a first flow table of the packet processing pipeline, whether the first packet is to be traced, send a copy of the first packet to an SDN controller and direct the first packet to a second flow table of the packet processing pipeline in response to a determination at the first flow table that the first packet is to be traced, receive, from the SDN controller, the copy of the first packet and an indication that the copy of the first packet is to be directed to a third flow table of the packet processing pipeline, determine, at the first flow table, whether the copy of the first packet is to be traced, set a first field associated with the copy of the first packet to indicate that tracing is disabled for the copy of the first packet in response to a determination at the first flow table that the copy of the first packet is to be traced, direct the copy of the first packet from the first flow table to the third flow table to resume processing of the copy of the first packet at the third flow table, wherein when the copy of the first packet arrives at the third flow table, the first field associated with the copy of the first packet is set to indicate that tracing is disabled for the copy of the first packet and a second field associated with the copy of the first packet is set to indicate that tracing is enabled for the copy of the first packet, and copy, at the third flow table, content of the second field associated with the copy of the first packet to the first field associated with the copy of the first packet before directing the copy of the first packet to a fourth flow table of the packet processing pipeline, wherein the copying causes the first field associated with the copy of the first packet to indicate that tracing is enabled for the copy of the first packet to allow the copy of the first packet to be traced at the fourth flow table.
A non-transitory machine-readable medium having computer code stored therein, which when executed by a set of one or more processors of a network device functioning as a switch in a Software Defined Networking (SDN) network, causes the network device to perform operations for tracing packets in the SDN network, where the switch includes a packet processing pipeline that includes a plurality of flow tables, the operations comprising:
- receiving a first packet;
- determining, at a first flow table of the packet processing pipeline, whether the first packet is to be traced;
- sending a copy of the first packet to an SDN controller and directing the first packet to a second flow table of the packet processing pipeline in response to a determination at the first flow table that the first packet is to be traced;
- receiving, from the SDN controller, the copy of the first packet and an indication that the copy of the first packet is to be directed to a third flow table of the packet processing pipeline;
- determining, at the first flow table, whether the copy of the first packet is to be traced;
- setting a first field associated with the copy of the first packet to indicate that tracing is disabled for the copy of the first packet in response to a determination at the first flow table that the copy of the first packet is to be traced;
- directing the copy of the first packet from the first flow table to the third flow table to resume processing of the copy of the first packet at the third flow table, wherein when the copy of the first packet arrives at the third flow table, the first field associated with the copy of the first packet is set to indicate that tracing is disabled for the copy of the first packet and a second field associated with the copy of the first packet is set to indicate that tracing is enabled for the copy of the first packet;
- and
- copying, at the third flow table, content of the second field associated with the copy of the first packet to the first field associated with the copy of the first packet before directing the copy of the first packet to a fourth flow table of the packet processing pipeline, wherein the copying causes the first field associated with the copy of the first packet to indicate that tracing is enabled for the copy of the first packet to allow the copy of the first packet to be traced at the fourth flow table.
Dependencies are inferred from the claim text.