IP Library Granted Patent US 8,929,379
Granted Patent B2
US 8,929,379 · App. 13/529,535 · Granted Jan 6, 2015

High-speed CLD-based internal packet routing

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 8,929,379
App. No.
13/529,535
Granted
Jan 6, 2015
Kind
B2
Abstract

A method of routing internal network traffic within a computing system comprises receiving a network packet at a configurable logic device (CLD), parsing the network packet to obtain a destination address, searching a predetermined range of a routing table wherein each row of the routing table specifies a range of possible destination addresses and routing information, identifying a matching row of the routing table wherein the destination address falls within the range of possible destination addresses of the matching row, and routing the packet according to the routing information.

Claims (37)

1. A method of routing internal network traffic within a computing system, comprising:

receiving a network packet at a configurable logic device (CLD);

parsing the network packet to obtain a destination address and a virtual local area network (VLAN) identifier;

locating in a VLAN-indexed table, a record specifying a predetermined range of rows within a routing table to search, the VLAN-indexed table including a record for each of a plurality of VLAN identifiers;

searching the predetermined range of rows within the routing table wherein each row of the routing table specifies one or more ranges of possible destination addresses and routing information associated with each of the one or more ranges, the routing information specifying a destination processor within a group of processors;

identifying a matching row of the routing table wherein the destination address falls within at least one range of possible destination addresses of the matching row; and

routing the packet to the destination processor specified by the routing information associated with the at least one range within which the destination address fell within the matching row.

2. The method of claim 1 , wherein the routing information further specifies a specific port over which the packet should be sent.

3. The method of claim 1 , wherein each row of the routing table specifies either one range of possible IPv6 destination addresses or four independent ranges of possible IPv4 destination addresses.

4. The method of claim 1 , wherein the routing table includes at least one row specifying a range of possible IPv6 destination addresses and at least one row specifying a range of possible IPv4 destination addresses.

5. A tangible, non-transitory computer-readable media comprising a configuration file that when loaded by a configurable logic device CLD configures the CLD to:

receive a network packet;

parse the network packet to obtain a destination address and a virtual local area network (VLAN) identifier;

locate in a VLAN-indexed table, a record specifying a predetermined range of rows within a routing table to search, the VLAN-indexed table including a record for each of a plurality of VLAN identifiers;

search the predetermined range of rows within the routing table wherein each row of the routing table specifies one or more ranges of possible destination addresses and routing information associated with each of the one or more ranges, the routing information specifying a destination processor within a group of processors;

identify a matching row of the routing table wherein the destination address falls within at least one range of possible destination addresses of the matching row; and

route the packet to the destination processor specified by the routing information associated with the at least one range within which the destination address fell within the matching row.

6. The media of claim 5 , wherein the routing information further specifies a specific port over which the packet should be sent.

7. The media of claim 5 , wherein each row of the routing table specifies either one range of possible IPv6 destination addresses or four independent ranges of possible IPv4 destination addresses.

8. The media of claim 5 , wherein the routing table includes at least one row specifying a range of possible IPv6 destination addresses and at least one row specifying a range of possible IPv4 destination addresses.

9. A computing system, comprising:

a configurable logic device (CLD) configured to:

receive a network packet;

parse the network packet to obtain a destination address and a virtual local area network (VLAN) identifier;

locate in a VLAN-indexed table, a record specifying a predetermined range of rows within a routing table to search, the VLAN-indexed table including a record for each of a plurality of VLAN identifiers;

search the predetermined range of rows within the routing table wherein each row of the routing table specifies one or more ranges of possible destination addresses and routing information associated with each of the one or more ranges, the routing information specifying a destination processor within a group of processors;

identify a matching row of the routing table wherein the destination address falls within at least one range of possible destination addresses of the matching row; and

route the packet to the destination processor specified by the routing information associated with the at least one range within which the destination address fell within the matching row.

10. The system of claim 9 , wherein the routing information further specifies a specific port over which the packet should be sent.

11. The system of claim 9 , wherein each row of the routing table specifies either one range of possible IPv6 destination addresses or four independent ranges of possible IPv4 destination addresses.

12. The system of claim 9 , wherein the routing table includes at least one row specifying a range of possible IPv6 destination addresses and at least one row specifying a range of possible IPv4 destination addresses.

13. The method of claim 1 , wherein each record within the VLAN-indexed table comprises a start address and a number configured to determine the predetermined range of rows to be searched within the routing table.

14. The method of claim 13 , wherein each record within the VLAN-indexed table further comprises a default destination configured to be used if no matching row is found.

15. The media of claim 5 , wherein each record within the VLAN-indexed table comprises a start address and a number configured to determine the predetermined range of rows to be searched within the routing table.

16. The media of claim 15 , wherein each record within the VLAN-indexed table further comprises a default destination configured to be used if no matching row is found.

17. The computing system of claim 9 , wherein each record within the VLAN-indexed table comprises a start address and a number configured to determine the predetermined range of rows to be searched within the routing table.

18. The computing system of claim 17 , wherein each record within the VLAN-indexed table further comprises a default destination configured to be used if no matching row is found.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: BREAKINGPOINT SYSTEMS, INC.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 043898/0980 →
RELEASE OF SECURITY INTEREST Recorded Apr 24, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: BREAKINGPOINT SYSTEMS, INC.
Reel/Frame 042126/0181 →
NOTICE OF SUBSTITUTION OF ADMINISTRATIVE AGENT Recorded Feb 2, 2015
From: BANK OF AMERICA, N.A., RESIGNING ADMINISTRATIVE AGENT
To: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
Reel/Frame 034870/0598 →
SECURITY AGREEMENT Recorded Jan 25, 2013
From: BREAKINGPOINT SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 029698/0136 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2012
From: STROUD, JONATHAN; MORIARTY, MICHAEL; COOK, BRENT AARON
To: BREAKINGPOINT SYSTEMS, INC.
Reel/Frame 029424/0236 →