# US 10,484,518 B2 · Dynamic port type detection

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,484,518 B2
- Document ID: US10484518B2
- Status: Granted
- Kind: B2
- Application number: 16/250,166
- Filed: 2019-01-17
- Published: 2019-05-16
- Granted: 2019-11-19
- Earliest claimed: 2013-03-15
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Casimer DeCusatis; Rajaram B. Krishnamurthy
- Web page: https://patentgrep.com/patent/US10484518B2

## CPC

- H04L 69/22: Parsing or analysis of headers
- H04L 41/0809: {Plug-and-play configuration}
- H04L 41/0823: characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability (for optimising operational conditions of wireless networks H04W24/02)
- H04L 41/0866: Checking the configuration
- H04L 45/24: Multipath
- H04L 69/18: Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A default mode of operation for a link is set at a server upon initialization. A wait pulse repetition time and number of supported modes of operation are set at the server. A protocol identifier is set to the default mode. A link initialization frame including the protocol identifier is transmitted to a port of a switch. Based on failing to receive a handshake response to acknowledge successful decoding of the protocol identifier from the switch prior to expiration of the wait pulse repetition time: the protocol identifier is changed to a next mode of operation, the wait pulse repetition time is reset, and the link initialization frame is transmitted to the port of the switch. Changing the protocol identifier, resetting the wait pulse repetition time, and transmitting the link initialization frame are repeated until the handshake response is received or all supported modes of operation are checked.

## Claims

### Claim 1

A method for dynamic port type detection, comprising:
setting a default mode of operation for a link at a server upon server initialization;
setting a wait pulse repetition time at the server;
setting a number of supported modes of operation at the server;
setting a protocol identifier to the default mode of operation;
transmitting a link initialization frame comprising the protocol identifier to a port of a switch of a network;
based on failing to receive at the server a handshake response to acknowledge successful decoding of the protocol identifier from the switch prior to expiration of the wait pulse repetition time:
changing the protocol identifier to a next mode of operation selected from the supported modes of operation;
resetting the wait pulse repetition time;
transmitting the link initialization frame to the port of the switch; and
repeating the changing of the protocol identifier, the resetting of the wait pulse repetition time, and the transmitting of the link initialization frame until the handshake response is received or all of the number of supported modes of operation are checked.

### Claim 2 (depends on 1)

The method of claim 1, wherein the link initialization frame is defined at one or more of a physical layer and a link layer.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
resetting one or more of the physical layer and the link layer to configure the port of the switch based on one or more of: receiving a link reset request at the port and sending a link disable signal from the port, wherein the link disable signal is configured to wraparound from an output of the port to a port reset circuit.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
based on updating a table in the switch, updating port and protocol information in a network controller configured to control the switch, wherein the table comprises a plurality of entries defining a plurality of packet routing paths for a plurality of flows within the network to forward a plurality of packets from at least one port of the switch to one or more other ports of the network based on a header format of the plurality of packets.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
periodically transmitting the link initialization frame from the server through the link to the switch upon link initialization; and
based on receiving the handshake response at the server, updating configuration information at the server indicating that the port of the switch is set to a mode of operation compatible with the protocol identifier, wherein the mode of operation establishes a highest permitted data rate for the link.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
based on receiving the handshake response at the server, updating the default mode of operation for the link to correspond with a most recent protocol identifier sent in a most recently acknowledged link initialization frame.

### Claim 7 (depends on 1)

The method of claim 1, wherein the protocol identifier identifies a protocol selected from: Ethernet, Fibre Channel, Fibre Channel over Ethernet (FCoE), internet Wide Area Remote direct memory access Protocol (iWARP), and Remote direct memory access over Converged Ethernet (RoCE).

### Claim 8

A system for dynamic port type detection, comprising:
a network controller;
a switch coupled to the network controller by a secure channel, the switch comprising a port coupled to a server by a link in a network; and
the server configured to perform a method comprising:
setting a default mode of operation for the link upon server initialization;
setting a wait pulse repetition time;
setting a number of supported modes of operation;
setting a protocol identifier to the default mode of operation;
transmitting a link initialization frame comprising the protocol identifier to the port of the switch of the network;
based on fading to receive a handshake response to acknowledge successful decoding of the protocol identifier from the switch prior to expiration of the wait pulse repetition time:
changing the protocol identifier to a next mode of operation selected from the supported modes of operation;
resetting the wait pulse repetition time;
transmitting the link initialization frame to the port of the switch; and
repeating the changing of the protocol identifier, the resetting of the wait pulse repetition time, and the transmitting of the link initialization frame until the handshake response is received or all of the number of supported modes of operation are checked.

### Claim 9 (depends on 8)

The system of claim 8, wherein the link initialization frame is defined at one or more of a physical layer and a link layer.

### Claim 10 (depends on 9)

The system of claim 9, wherein the switch is configured to reset one or more of the physical layer and the link layer to configure the port of the switch based on one or more of receiving a link reset request at the port and sending a link disable signal from the port, wherein the link disable signal is configured to wraparound from an output of the port to a port reset circuit.

### Claim 11 (depends on 8)

The system of claim 8, further comprising:
based on updating a table in the switch, a plurality of port and protocol information in the network controller is configured to control the switch, wherein the table comprises a plurality of entries defining a plurality of packet routing paths for a plurality of flows within the network to forward a plurality of packets from at least one port of the switch to one or more other ports of the network based on a header format of the plurality of packets.

### Claim 12 (depends on 8)

The system of claim 8, wherein the server is configured to perform the method comprising:
periodically transmitting the link initialization frame from the server through the link to the switch upon link initialization; and
based on receiving the handshake response at the server, updating configuration information at the server indicating that the port of the switch is set to a mode of operation compatible with the protocol identifier, wherein the mode of operation establishes a highest permitted data rate for the link.

### Claim 13 (depends on 8)

The system of claim 8, wherein the server is further configured to perform:
based on receiving the handshake response at the server, updating the default mode of operation for the link to correspond with a most recent protocol identifier sent in a most recently acknowledged link initialization frame.

### Claim 14 (depends on 8)

The system of claim 8, wherein the protocol identifier identifies a protocol selected from: Ethernet, Fibre Channel, Fibre Channel over Ethernet (FCoE), Internet Wide Area Remote direct memory access Protocol (iWARP), and Remote direct memory access over Converged Ethernet (RoCE).

### Claim 15

A computer program product for dynamic port type detection, the computer program product comprising:
a non-transitory storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
setting a default mode of operation for a link at a server upon server initialization;
setting a wait pulse repetition time at the server;
setting a number of supported modes of operation at the server;
setting a protocol identifier to the default mode of operation;
transmitting a link initialization frame comprising the protocol identifier to a port of a switch of a network;
based on failing to receive at the server a handshake response to acknowledge successful decoding of the protocol identifier from the switch prior to expiration of the wait pulse repetition time:
changing the protocol identifier to a next mode of operation selected from the supported modes of operation;
resetting the wait pulse repetition time;
transmitting the link initialization frame to the port of the switch; and
repeating the changing of the protocol identifier, the resetting of the wait pulse repetition time, and the transmitting of the link initialization frame until the handshake response is received or all of the number of supported modes of operation are checked.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the link initialization frame is defined at one or more of a physical layer and a link layer.

### Claim 17 (depends on 15)

The computer program product of claim 15, further comprising:
periodically transmitting the link initialization frame from the server through the link to the switch upon link initialization; and
based on receiving the handshake response at the server, updating configuration information at the server indicating that the port of the switch is set to a mode of operation compatible with the protocol identifier, wherein the mode of operation establishes a highest permitted data rate for the link.

### Claim 18 (depends on 15)

The computer program product of claim 15, further comprising:
based on receiving the handshake response at the server, updating the default mode of operation for the link to correspond with a most recent protocol identifier sent in a most recently acknowledged link initialization frame.

### Claim 19 (depends on 15)

The computer program product of claim 15, wherein the protocol identifier identifies a protocol selected from: Ethernet, Fibre Channel, Fibre Channel over Ethernet (FCoE), Internet Wide Area Remote direct memory access Protocol (iWARP), and Remote direct memory access over Converged Ethernet (RoCE).
