IP Library Granted Patent US 9,426,063
Granted Patent B1
US 9,426,063 · App. 13/678,378 · Granted Aug 23, 2016

Systems and methods for routing by network devices

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 9,426,063
App. No.
13/678,378
Granted
Aug 23, 2016
Kind
B1
Abstract

A network device and associated methods are provided. The network device includes a routing module having a ternary content addressable memory (TCAM) module maintained for storing a plurality of entries for routing frames that are received for a plurality of sub-ports complying with a plurality of protocols; a steering action memory that stores a plurality of steering action codes associated with the plurality of TCAM entries for tossing frames, rejecting frames and providing them to a processor for the network device, indicating that a destination is valid, and indicating to use another routing mechanism; and a steering mechanism that is used when a received frame information does not match with the TCAM entries and the received frame is of a certain protocol type.

Claims (34)

1. A network device, comprising:

a plurality of base-ports, each base-port having a plurality of sub-ports configured to operate independently as a port for sending and receiving information using one of a plurality of network links at a plurality of rates complying with a plurality of protocols; and

a routing module having:

a ternary content addressable memory (TCAM) maintained for storing a plurality of entries for routing frames that are received for the plurality of sub-ports complying with the plurality of protocols; wherein for a sub-port that operates as a Fibre Channel port, the TCAM stores a control field, a destination identifier field, a source identifier field and a start of frame field; and for a sub-port that operates as an Ethernet port, the TCAM stores an Ether type field indicating a frame type, a destination media access control field, source media access control field and a virtual local area network field; and wherein the TCAM provides a frame parameter matching function that is used to determine a steering action from a steering action memory that stores a plurality of steering action codes associated with the plurality of TCAM entries, where depending on a frame protocol type, the steering action codes are for dropping a frame, rejecting a frame and forwarding it to a processor, indicating that a destination port is valid for a frame, indicating that a frame is for a multicast group, indicating to use domain number offset routing for a frame and indicating to use domain and area based routing for a frame; and

a steering register that is used for routing a received frame whose information does not match with the TCAM entries and the received frame is a Fibre Channel frame.

2. The network device of claim 1 , wherein the network device is a switch coupled to one or more devices.

3. The network device of claim 1 , wherein one of the plurality of sub-ports is configured to operate as a Fibre Channel port and the steering register is used to route Fibre Channel frames.

4. The network device of claim 1 , wherein one of the plurality of sub-ports is configured to operate as an Ethernet port or a Fibre Channel over Ethernet port (FCoE) and the steering register is used to route the FCoE frames.

5. The network device of claim 1 , further comprising a scheduler that is configured to receive requests on behalf of the plurality of sub-ports for moving frames from a receive segment and for transmitting frames from a transmit segment of one of the base-ports.

6. The network device of claim 5 , wherein the requests from the plurality of sub-ports are generated by a request module after a destination for received frames is determined by the routing module that maintains the TCAM.

7. The network device of claim 1 , wherein the routing module is shared by the plurality of sub-ports.

8. The network device of claim 1 , wherein the routing module is dedicated to one of the plurality of sub-ports.

9. A network device, comprising:

a plurality of base-ports, each base-port having a plurality of sub-ports configured to operate independently as a port for sending and receiving information using one of a plurality of network links at a plurality of rates complying with a plurality of protocols;

a scheduler that is configured to receive requests on behalf of the plurality of sub-ports for moving frames from a receive segment and for transmitting frames from a transmit segment of one of the base-ports; and

a routing module having a ternary content addressable memory (TCAM) maintained for storing a plurality of entries for routing frames that are received for the plurality of sub-ports complying with the plurality of protocols; wherein for a sub-port that operates as a Fibre Channel port, the TCAM stores a control field, a destination identifier field, a source identifier field and a start of frame field; and for a sub-port that operates as an Ethernet port, the TCAM stores an Ether type field indicating a frame type, a destination media access control field, source media access control field and a virtual local area network field; and wherein the TCAM provides a frame parameter matching function that is used to determine a steering action from a steering action memory that stores a plurality of steering action codes associated with the plurality of TCAM entries, where depending on a frame protocol type, the steering action codes are for dropping a frame, rejecting a frame and forwarding it to a processor, indicating that a destination port is valid for a frame, indicating that a frame is for a multicast group, indicating to use domain number offset routing for a frame and indicating to use domain and area based routing for a frame; and

a steering register that is used for routing a received frame whose information does not match with the TCAM entries and the received frame is a Fibre Channel frame;

wherein the requests from the plurality of sub-ports are generated by a request module after a destination for received frames is determined by the routing module that maintains the TCAM.

10. The network device of claim 9 , wherein the network device is a switch coupled to one or more devices.

11. The network device of claim 9 , wherein one of the plurality of sub-ports is configured to operate as a Fibre Channel port and the steering register is used to route Fibre Channel frames.

12. The network device of claim 9 , wherein one of the plurality of sub-ports is configured to operate as an Ethernet port or a Fibre Channel over Ethernet port and the steering register is used to route Fibre Channel over Ethernet frames.

13. The network device of claim 9 , wherein the routing module is shared by the plurality of sub-ports.

14. The network device of claim 9 , wherein the routing module is dedicated to one of the plurality of sub-ports.

15. A machine-implemented method for routing a frame received by a network device, the method comprising:

maintaining a plurality of entries at a ternary content addressable memory (TCAM) of a routing module for routing the frame for a base-port of the network device having a plurality of sub-ports configured to operate independently as a port for sending and receiving information using one of a plurality of network links at a plurality of rates complying with a plurality of protocols; wherein a sub-port that operates as a Fibre Channel port, the TCAM stores a control field, a destination identifier field, a source identifier field and a start of frame field; and a sub-port that operates as an Ethernet port, the TCAM stores an Ether type field indicating a frame type, a destination media access control field, source media access control field and a virtual local area network field; and wherein the TCAM provides a frame parameter matching function that is used to determine a steering action from a steering action memory that stores a plurality of steering action codes associated with the plurality of TCAM entries, where depending on a frame protocol type, the steering action codes are for dropping a frame, rejecting a frame and forwarding it to a processor, indicating that a destination port is valid for a frame, indicating that a frame is for a multicast group, indicating to use domain number offset routing for a frame and indicating to use domain and area based routing for a frame;

searching the TCAM to determine if information regarding the frame matches any of the TCAM entries;

determining a steering code from the steering action memory at the routing module associated with a matching TCAM entry;

providing a destination information to a request module for routing the frame; and

using a steering register of the routing module when there is no matching entry at the TCAM and the frame is a Fibre Channel frame.

16. The method of claim 15 , wherein the network device is a switch coupled to one or more devices.

17. The method of claim 15 , wherein one of the plurality of sub-ports is configured to operate as a Fibre Channel port and the steering register is used to route Fibre Channel frames.

18. The method of claim 15 , wherein one of the plurality of sub-ports is configured to operate as an Ethernet port or a Fibre Channel over Ethernet port and the steering register is used to route Fibre Channel over Ethernet frames.

19. The method of claim 15 , wherein the routing module is shared by the plurality of sub-ports or dedicated to one of the plurality of sub-ports.

20. The method of claim 15 , wherein a scheduler of the network device is configured to receive requests on behalf of the plurality of sub-ports for moving frames from a receive segment and for transmitting frames from a transmit segment of one of the base-ports.

Assignments (7)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2012
From: DROPPS, FRANK R.; VERBA, CRAIG M.; ANDERSEN, WILLIAM J.
To: QLOGIC, CORPORATION
Reel/Frame 029307/0211 →