IP Library Granted Patent US 12,028,276
Granted Patent B2
US 12,028,276 · App. 17/409,889 · Granted Jul 2, 2024

Transport control word architecture for virtual port mirroring

Inventors: Pasquale A. Catalano (Wallkill, NY); Michael James Becht (Poughkeepsie, NY); Christopher J. Colonna (Ossining, NY); Stephen Robert Guendert (Poughkeepsie, NY)
Assignee: International Business Machines Corporation
H04L49/208H04L49/3045H04L49/90
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,028,276
App. No.
17/409,889
Granted
Jul 2, 2024
Kind
B2
Abstract

Aspects include includes receiving, at an input/output (I/O) processor, a transport control word (TCW) that includes an instruction to perform virtual port mirroring. The I/O processor identifies a first port to be mirrored and a virtual port to perform the mirroring. The virtual port is a first memory location in a memory. In response to outbound data being sent to the first port for transmission to a first target device and to the instruction specifying outbound port mirroring, the I/O processor stores a copy of the outbound data in the first memory location. In response to inbound data being received at the first port and to the instruction specifying inbound port mirroring, a copy of the inbound data is stored at the first memory location.

Claims (51)

1. A method comprising:

receiving, at an input/output (I/O) subsystem, a transport control word (TCW) that includes an instruction to perform virtual port mirroring to generate link tracing data for input to link testing software;

identifying, by the I/O subsystem, a first port to be mirrored and a virtual port to perform the mirroring, the virtual port a first memory location in a memory;

in response to outbound data being sent to the first port for transmission to a first target device and to the instruction specifying outbound port mirroring, storing, by the I/O subsystem, a copy of the outbound data in the first memory location, wherein the outbound data is filtered based on data type of the outbound data prior to storing in the first memory location;

in response to inbound data being received at the first port and to the instruction specifying inbound port mirroring, storing, by the I/O subsystem, a copy of the inbound data at the first memory location; and

initiating execution of the link testing software based at least in part on contents of the first memory location.

2. The method of claim 1 , further comprising:

receiving, by the I/O subsystem, an instruction to send the outbound data to the first target device;

fetching, by the I/O subsystem, the outbound data from the memory; and

sending, by the I/O subsystem, the outbound data to the first port.

3. The method of claim 1 , further comprising:

receiving, by the I/O subsystem, the inbound data from the first port; and

storing, by the I/O subsystem, the inbound data into a second memory location.

4. The method of claim 1 , wherein the copy of the outbound data stored in the second memory location is a subset of the outbound data.

5. The method of claim 1 , wherein the copy of the inbound data stored in the second memory location is a subset of the inbound data.

6. The method of claim 1 , wherein the instruction causes port mirroring to be performed for a plurality of outbound data transmissions on the first port.

7. The method of claim 1 , wherein the instruction causes port mirroring to be performed for a single outbound data transmission on the first port.

8. An input/output (I/) subsystem comprising:

one or more processors for executing computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising:

receiving a transport control word (TCW) that includes an instruction to perform virtual port mirroring to generate link tracing data for input to link testing software;

identifying a first port to be mirrored and a virtual port to perform the mirroring, the virtual port a first memory location in a memory;

in response to outbound data being sent to the first port for transmission to a first target device and to the instruction specifying outbound port mirroring, storing, by the I/O processor, a copy of the outbound data in the first memory location, wherein the outbound data is filtered based on data type of the outbound data prior to storing in the first memory location;

in response to receiving inbound data at the first port and to the instruction specifying inbound port mirroring, storing a copy of the inbound data at the first memory location; and

initiating execution of the link testing software based at least in part on contents of the first memory location.

9. The system of claim 8 , wherein the operations further comprise:

receiving an instruction to send the outbound data to the first target device;

fetching the outbound data from the memory; and

sending the outbound data to the first port.

10. The system of claim 8 , wherein the operations further comprise:

receiving the inbound data from the first port; and

storing the inbound data into a second memory location.

11. The system of claim 8 , wherein the copy of the outbound data stored in the second memory location is a subset of the outbound data.

12. The system of claim 8 , wherein the copy of the inbound data stored in the second memory location is a subset of the inbound data.

13. The system of claim 8 , wherein the instruction causes port mirroring to be performed for a plurality of outbound data transmissions on the first port.

14. The system of claim 8 , wherein the instruction causes port mirroring to be performed for a single outbound data transmission on the first port.

15. A computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

receiving, by an input/output (I/O) subsystem, a transport control word (TCW) that includes an instruction to perform virtual port mirroring to generate link tracing data for input to link testing software;

identifying, by the I/O subsystem, a first port to be mirrored and a virtual port to perform the mirroring, the virtual port a first memory location in a memory;

in response to outbound data being to the first port for transmission to a first target device and to the instruction specifying outbound port mirroring, storing, by the I/O subsystem, a copy of the outbound data in the first memory location, wherein the outbound data is filtered based on data type of the outbound data prior to storing in the first memory location;

in response to inbound data being received at the first port and to the instruction specifying inbound port mirroring, storing, by the I/O subsystem, a copy of the inbound data at the first memory location; and

initiating execution of the link testing software based at least in part on contents of the first memory location.

16. The computer program product of claim 15 , wherein the operations further comprise:

receiving, by the I/O subsystem, an instruction to send the outbound data to the first target device;

fetching, by the I/O subsystem, the outbound data from the memory; and

sending, by the I/O subsystem, the outbound data to the first port.

17. The computer program product of claim 15 , wherein the operations further comprise:

receiving, by the I/O subsystem, the inbound data from the first port; and

storing, by the I/O subsystem, the inbound data into a second memory location.

18. The computer program product of claim 15 , wherein the copy of the outbound data stored in the second memory location is a subset of the outbound data.

19. The computer program product of claim 15 , wherein the copy of the inbound data stored in the second memory location is a subset of the inbound data.

20. The computer program product of claim 15 , wherein the instruction causes port mirroring to be performed for a plurality of outbound data transmissions on the first port.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2021
From: CATALANO, PASQUALE A.; BECHT, MICHAEL JAMES; COLONNA, CHRISTOPHER J.; GUENDERT, STEPHEN ROBERT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 057266/0769 →
Continuity (1)
Related Publication 20230065245A1 · Mar 2, 2023