Method and system for dynamic repurposing of payload storage as a trace buffer
First Claim
1. A method for debugging network activity, comprising:
- receiving, by a host channel adapter (HCA), a packet stream comprising a plurality of packets;
comparing a packet header of each of the plurality of packets to a trigger condition to determine whether the trigger condition has been met;
after the trigger condition has been met, comparing each packet header of the plurality of packets to one or more trace filters stored in the HCA to identify matching packets;
duplicating one or more portions of the matching packets and storing the duplicated one or more portions of the matching packets in a trace buffer, wherein the trace buffer is located in the HCA and is dynamically repurposed from a payload random access memory (RAM) to the trace buffer when a corresponding port of the HCA for transmitting or receiving the packet stream is set to trace mode; and
stopping a trace of the one or more portions of the packets and copying the one or more portions of packets from the trace buffer to host memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for debugging network activity involving receiving, by HCA, a packet stream comprising multiple packets, comparing a packet header of each of the packets to a trigger condition to determine whether the trigger condition has been met, after the trigger condition has been met, comparing each packet header of the packets to one or more trace filters stored in the HCA to identify matching packets, duplicating one or more portions of the matching packets and storing the duplicated portions of the matching packets in a trace buffer, where the trace buffer is located in the HCA and is dynamically repurposed from a payload RAM to the trace buffer when a corresponding port of the HCA for transmitting or receiving the packet stream is set to trace mode, and stopping the trace and copying the one or more portions of packets from the trace buffer to host memory.
44 Citations
19 Claims
-
1. A method for debugging network activity, comprising:
-
receiving, by a host channel adapter (HCA), a packet stream comprising a plurality of packets; comparing a packet header of each of the plurality of packets to a trigger condition to determine whether the trigger condition has been met; after the trigger condition has been met, comparing each packet header of the plurality of packets to one or more trace filters stored in the HCA to identify matching packets; duplicating one or more portions of the matching packets and storing the duplicated one or more portions of the matching packets in a trace buffer, wherein the trace buffer is located in the HCA and is dynamically repurposed from a payload random access memory (RAM) to the trace buffer when a corresponding port of the HCA for transmitting or receiving the packet stream is set to trace mode; and stopping a trace of the one or more portions of the packets and copying the one or more portions of packets from the trace buffer to host memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A host channel adapter (HCA), comprising:
-
at least two ports for transmitting and receiving a packet stream, wherein each of the at least two ports operate in one selected from a group consisting of normal mode and trace mode; a trace buffer configured to store trace data corresponding to each of the at least two ports of the HCA, wherein the trace buffer is dynamically repurposed from a payload random access memory (RAM) to the trace buffer when the corresponding port of the HCA is set to trace mode; a packet receive module (PRM) comprising a set of control and status registers (CSRs) for storing trace parameters, and at least one multiplexer for duplicating the packet stream from one of the at least two ports and storing the duplicated packet stream to a corresponding trace buffer when the one of the at least two ports is in trace mode; and a direct memory access (DMA) engine configured to continuously read trace data out of the trace buffer and write the trace data to host memory, wherein the HCA is configured to; receive the packet stream comprising a plurality of packets; compare a packet header of each of the plurality of packets to a trigger condition stored in one CSR of the set of CSRs to determine whether the trigger condition has been met; after the trigger condition has been met, compare each packet header of the plurality of packets to one or more trace filters stored in the set of CSRs to identify matching packets; duplicate and store, via the multiplexer, one or more portions of the matching packets to the corresponding trace buffer; and stop a trace of the one or more portions of the packets, wherein after the trace is stopped, the one or more portions of packets in host memory are analyzed for debugging errors. - View Dependent Claims (12, 13, 14)
-
-
15. A system, comprising:
-
a host comprising memory; a host channel adapter (HCA) operatively connected to the host and comprising; at least two ports for transmitting and receiving a packet stream, wherein each of the at least two ports operate in one selected from a group consisting of normal mode and trace mode; a trace buffer configured to store trace data corresponding to each of the at least two ports of the HCA, wherein the trace buffer is dynamically repurposed from a payload random access memory (RAM) to the trace buffer when the corresponding port of the HCA is set to trace mode; a set of control and status registers (CSRs) for storing trace parameters; and at least one multiplexer for duplicating the packet stream from one of the at least two ports and storing the duplicated packet stream to a corresponding trace buffer when the one of the at least two ports is in trace mode; and an embedded processing system (EPS) configured to; request a trace to be initiated on the HCA; and read trace data out of the trace buffer and write the trace data to host memory, wherein the HCA is configured to; receive the packet stream comprising a plurality of packets; compare a packet header of each of the plurality of packets to a trigger condition stored in one CSR of the set of CSRs to determine whether the trigger condition has been met; after the trigger condition has been met, compare each packet header of the plurality of packets to one or more trace filters stored in the set of CSRs to identify matching packets; duplicating and storing, via the multiplexer, one or more portions of the matching packets to the corresponding trace buffer; and stop a trace of the one or more portions of the packets. - View Dependent Claims (16, 17, 18, 19)
-
Specification