IP Library Granted Patent US 7,548,560
Granted Patent B1
US 7,548,560 · App. 11/363,365 · Granted Jun 16, 2009

Method and system for checking frame-length in fibre channel frames

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 7,548,560
App. No.
11/363,365
Granted
Jun 16, 2009
Kind
B1
Abstract

Method and system for checking frame-length in a Fiber Channel frames is provided. The method includes extracting a R_CTL value from a Fiber Channel frame; comparing the extracted R_CTL value of the Fiber Channel frame with R_CTL values stored in a Content Addressable Memory Table; determining a maximum frame-length and a minimum frame-length of the Fiber Channel frame for the extracted R_CTL value from the Content Addressable Memory Table; and marking the Fiber Channel frame so that it can be discarded if the frame-length is less than the minimum frame-length of the Fiber Channel frame or greater than the maximum frame-length of the Fiber Channel frame. The system includes a processor that accesses a CAM stored in memory; and a receive port that extracts and compares a R_CTL value of the Fiber Channel frame.

Claims (49)

1. A method for a port that receives Fibre Channel frames, comprising:

(a) storing a maximum frame length value and a minimum frame length value for each of a plurality of Fibre Channel frame type; wherein the maximum frame length value and the minimum frame length value for each of the plurality of Fibre Channel frame type are associated with a R_CTL value, a field of a Fibre Channel frame header used for routing Fibre Channel frames;

(b) extracting a R_CTL value from a frame header of a Fibre Channel frame received at the port;

(c) comparing the extracted R_CTL value of the Fibre Channel frame with stored R_CTL values in step (a);

(d) if the extracted R_CTL value matches with a stored R_CTL value in step (c), then comparing a frame length of the received Fibre Channel frame with a maximum frame-length and a minimum frame-length associated with the extracted and matched R_CTL value;

(e) if the extracted R_CTL does not match with any stored R_CTL value in step (c), then comparing the frame length of the received Fibre Channel frame with a default maximum frame length value and a default minimum frame length value;

(f) based on the comparison in step (d) and step (e), determining if the received Fibre Channel frame is a long frame or a short frame;

wherein the received Fibre Channel frame is a long frame if the frame length of the received Fibre Channel frame is greater than the maximum frame length from step (d), if there was a match in step (c), or greater than the default maximum frame length from step (e), if there was no match in step (c); and the received Fibre Channel frame is a short frame if the frame length of the received Fibre Channel frame is less than the minimum frame length from step (d), if there was a match in step (c), or less than the default minimum frame length from step (e), if there was no match in step (c); and

(g) discarding the received Fibre Channel frame if the frame is a long frame or a short frame.

2. The method of claim 1 , wherein, if the received Fibre Channel frame is a long frame, then the received Fibre Channel frame is truncated to the maximum frame length if there was a match in step (c), or truncated to the default maximum frame length from step (e), if there was no match in step (c).

3. The method of claim 1 , wherein if the received Fibre Channel frame is a short frame, then the received Fibre Channel frame is padded to the minimum frame length if there was a match in step (c) of claim 1 , or padded to the default minimum frame length from step (e), if there was no match in step (c).

4. The method of claim 1 , wherein if the received Fibre Channel frame is a long frame or a short frame, then a processor records the received Fibre Channel frame as an error for the port.

5. The method of claim 1 , wherein a Content Addressable Memory accessible by a processor stores the maximum frame length, the minimum frame length, the default maximum frame length and the default minimum frame length values.

6. The method of claim 1 , wherein the received Fibre Channel frame is routed if the frame is not a long frame or a short frame as determined in step (f).

7. The method of claim 1 , wherein the minimum frame-length, the maximum frame-length, the default maximum frame length and the default minimum frame length values are programmable.

8. A Fibre Channel device element for receiving Fibre Channel frames, comprising:

a memory for storing a maximum frame length value and a minimum frame length value for each of a plurality of Fibre Channel frame type; wherein the maximum frame length value and the minimum frame length value for each of the plurality of Fibre Channel frame type are associated with a R_CTL value, a field of a Fibre Channel frame header used for routing Fibre Channel frames; and

a receive port that:

(a) receives a Fibre Channel frame;

(b) extracts a R_CTL value from the Fibre Channel frame;

(c) compares the extracted R_CTL value of the Fibre Channel frame with R_CTL values stored in the memory;

(d) if the extracted R_CTL value matches with a stored R_CTL value in (c), then compares a frame length of the received Fibre Channel frame with a maximum frame-length and a minimum frame-length associated with the extracted and matched R_CTL value;

(e) if the extracted R_CTL does not match with any stored R_CTL value in (c), then compares the frame length of the received Fibre Channel frame with a default maximum frame length value and a default minimum frame length value;

(f) based on the comparison in (d) and (e), determines if the received Fibre Channel frame is a long frame or a short frame; wherein the received Fibre Channel frame is a long frame if the frame length of the received Fibre Channel frame is greater than the maximum frame length from (d), if there was a match in (c), or greater than the default maximum frame length from (e), if there was no match in (c); and the received Fibre Channel frame is a short frame if the frame length of the received Fibre Channel frame is less than the minimum frame length from (d), if there was a match in (c), or less than the default minimum frame length from (e), if there was no match in (c); and

(g) discards the received Fibre Channel frame if the frame is a long frame or a short frame.

9. The Fibre Channel device element of claim 8 , wherein if the received Fibre Channel frame is a long frame, then the received Fibre Channel frame is truncated to the maximum frame length if there was a match in (c), or truncated to the default maximum frame length from (e), if there was no match in (c).

10. The Fibre Channel device element of claim 8 , wherein if the received Fibre Channel frame is a short frame, then the received Fibre Channel frame is padded to the minimum frame length if there was a match in (c); or padded to the default minimum frame length from (e), if there was no match in (c).

11. The Fibre Channel device element of claim 8 , wherein if the received Fibre Channel frame is a long frame or a short frame, then a processor records the received Fibre Channel frame as an error for the port.

12. The Fibre Channel device element of claim 8 , wherein the maximum frame length, the minimum frame length, the default maximum frame length and the default minimum frame length values are stored in a Content Addressable Memory table stored in the memory accessible by a processor.

13. The Fibre Channel device element of claim 8 , wherein the received Fibre Channel frame is routed if the frame is not a long frame or a short frame as determined in step (f).

14. The Fibre Channel device element of claim 8 , wherein the minimum frame-length, the maximum frame-length, the default maximum frame length and the default minimum frame length values are programmable.

15. The Fibre Channel device element of claim 8 , wherein the Fibre Channel device is a host bus adapter.

16. The Fibre Channel device element of claim 8 , wherein the Fibre Channel device is a Fibre Channel Switch element.

17. A method for a network port for receiving and transmitting frames, comprising:

(a) storing a maximum frame length value and a minimum frame length value for each of a plurality of frame type; wherein the maximum frame length value and the minimum frame length value for each of the frame type are associated with a field value used for routing frames received by the port;

(b) extracting the field value from a frame header of a frame received at the port;

(c) comparing the field value of the frame with stored field values in step (a);

(d) if the extracted field value matches with a stored value in step (c), then comparing a frame length of the received frame with a maximum frame length and a minimum frame length associated with the extracted and matched field value;

(e) if the extracted field value does not match with any stored field value in step (c), then comparing the frame length of the received frame with a default maximum frame length value and a default minimum frame length value;

(f) based on the comparison in step (d) and step (e), determining if the received frame is a long frame or a short frame;

wherein the received frame is a long frame if the frame length of the received frame is greater than the maximum frame length from step (d), if there was a match in step (c), or greater than the default maximum frame length from step (e) if there was match in step (c); and the received frame is a short frame if the frame length of the received frame is less than the minimum frame length from step (d), if there was a match in step (c), or less than the default minimum frame length from step (e), if there was no match in step (c); and

(g) discarding the received frame if the received frame is a long frame or a short frame.

18. The method of claim 17 , wherein, if the received frame is a long frame, then the received frame is truncated to the maximum frame length if there was a match in step (c), or to the default maximum frame length from step (e), if there was no match in step (c).

19. The method of claim 17 , wherein if the received frame is a short frame, then the received frame is padded to the minimum frame length if there was a match in step (c); or padded to the default minimum frame length from step (e), if there was no match in step (c).

20. The method of claim 17 , wherein if the received frame is a long frame or a short frame, then a processor records the received frame as an error for the port.

21. The method of claim 17 , wherein a Content Addressable Memory accessible by a processor stores the maximum frame length, the minimum frame length, the default maximum frame length and the default minimum frame length values.

22. The method of claim 17 , wherein the maximum frame length, the minimum frame length, the default maximum frame length and the default minimum frame length values are programmable.

23. The method of claim 17 , wherein the network port is a part of a switch element.

24. The method of claim 17 , wherein the network port is a part of a network adapter.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →