IP Library Granted Patent US 7,646,770
Granted Patent B1
US 7,646,770 · App. 10/835,271 · Granted Jan 12, 2010

Systems for supporting packet processing operations

Assignee: Extreme Networks, Inc.
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,646,770
App. No.
10/835,271
Granted
Jan 12, 2010
Kind
B1
Abstract

Several systems for supporting packet processing are described. A first system supports virtual routing of a packet. A second system supports de-multiplexing of a packet. A third system supports advanced MPLS label processing of a packet.

Claims (39)

1. A system for supporting virtual routing of a packet comprising:

a register for holding a plurality of predetermined router addresses:

comparison logic for comparing an address derived from the packet with each of the plurality of predetermined router addresses held in the register, and deriving a plurality of data elements, the plurality of data elements having a data element corresponding to each of the plurality of predetermined router addresses and having a state indicating whether or not the corresponding router address matches the address derived from the packet; and

assertion logic for asserting a first flag if the state of one or more of the data elements indicates a match between the corresponding router address and the address derived from the packet;

wherein, if the first flag is asserted, a processor in the system executes a first program sequence to route and not bridge the packet;

wherein, if the first flag is not asserted, the processor in the system executes a second program sequence to bridge and not route the packet;

wherein the packet has a header and a second flag derived from the first flag is inserted into the packet header for use by downstream devices encountering the packet in performing a packet processing function.

2. The system of claim 1 further comprising masking logic for masking selected ones of the data elements in the plurality of data elements, and the assertion logic is configured to assert the first flag if the state of one or more unmasked ones of the data elements in the plurality of data elements indicates a match between the corresponding router address and the address derived from the packet.

3. The system of claim 2 wherein the masking logic is configured to mask selected ones of the data elements in the plurality of data elements responsive to one or more masks;

wherein the one or more masks comprise one or more selected entries in one or more tables.

4. The system of claim 3 wherein the packet has a primary quality of service determining field, and the system further comprises selection logic for selecting the mask responsive to the primary quality of service determining field of the packet.

5. The system of claim 4 wherein the selection logic is configured to allow selection of a mask depending on whether the primary quality of service selection field in the packet is derived from an ingress VLAN identifier or ingress port identifier.

6. The system of claim 3 wherein the comparison logic is configured to compare a layer two address derived from the packet with each of one or more of the predetermined addresses held in the register.

7. The system of claim 6 wherein the comparison logic is configured to compare a MAC destination address derived from the packet with each of the plurality of addresses held in the register.

8. The system of claim 7 wherein the comparison logic is configured to derive a bit string having a bit for each of the plurality of router addresses held in the register, the bit corresponding to a routing address having a state indicating whether the MAC destination address derived from the packet matches the corresponding router address held in the register, and the assertion logic is configured to assert the first flag if the state of any unmasked ones of the bits in the bit string indicate a match between the corresponding router address and the MAC destination address.

9. The system of claim 1 wherein the assertion logic is configured to assert the first flag if the state of any of the unmasked data elements in the plurality of data elements indicates a match between the corresponding router address and the address derived from the packet.

10. The system of claim 1 wherein the packet processing function is an echo kill suppress function.

11. The system of claim 1 wherein the second flag is derived by applying a program sequence, selected based on the first flag, to the packet.

12. The system of claim 1 wherein the second flag, if asserted, indicates the packet should be bridged not routed.

13. A method of supporting virtual routing of a packet comprising the steps of:

holding a plurality of predetermined router addresses:

comparing an address derived from the packet with each of the plurality of predetermined router addresses;

deriving a plurality of data elements, the plurality of data elements having a data element corresponding to each of the plurality of predetermined router addresses and having a state indicating whether or not the corresponding router address matches the address derived from the packet; and

asserting a first flag if the state of one or more of the data elements indicates a match between the corresponding router address and the address derived from the packet;

wherein, if the first flag is asserted, a processor in the system executes a first program sequence to route and not bridge the packet;

wherein, if the first flag is not asserted, the processor in the system executes a second program sequence to bridge and not route the packet;

wherein the packet has a header and a second flag derived from the first flag is inserted into the packet header for use by downstream devices encountering the packet in performing a packet processing function.

14. The method of claim 13 further comprising the step of masking selected ones of the data elements in the plurality of data elements, and the asserting step comprises asserting the first flag if the state of one or more unmasked ones of the data elements in the plurality of data elements indicates a match between the corresponding router address and the address derived from the packet.

15. The method of claim 14 wherein the masking step further comprises masking selected ones of the data elements in the plurality of data elements responsive to one or more masks;

wherein the one or more masks comprise one or more selected entries in one or more tables.

16. The method of claim 15 wherein the packet has a primary quality of service determining field, and the method further comprises the step of selecting the mask responsive to the primary quality of service determining field of the packet.

17. The method of claim 16 further comprising selecting the mask depending on whether the primary quality of service selection field in the packet is derived from an ingress VLAN identifier or ingress port identifier.

18. The method of claim 14 wherein the comparing step further comprises comparing a layer two address derived from the packet with each of one or more of the predetermined addresses.

19. The method of claim 18 wherein the comparing step further comprises comparing a MAC destination address derived from the packet with each of the plurality of addresses.

20. The method of claim 19 wherein the deriving step further comprises deriving a bit string having a bit for each of the plurality of router addresses, the bit corresponding to a routing address having a state indicating whether the MAC destination address derived from the packet matches the corresponding router address, and the asserting step further comprises asserting the first flag if the state of any unmasked ones of the bits in the bit string indicate a match between the corresponding router address and the MAC destination address.

21. The method of claim 13 wherein the asserting step further comprises asserting the first flag if the state of any of the unmasked data elements in the plurality of data elements indicates a match between the corresponding router address and the address derived from the packet.

22. The method of claim 13 wherein the packet processing function is an echo kill suppress function.

23. The method of claim 13 wherein the second flag is derived by applying a program sequence, selected based on the first flag, to the packet.

24. The method of claim 13 wherein the second flag, if asserted, indicates the packet should be bridged not routed.

Assignments (10)
RELEASE OF PATENT AND TRADEMARK SECURITY INTEREST AT REEL/FRAME NO. 46050/0546 Recorded Jul 30, 2026
From: BANK OF MONTREAL, AS AGENT
To: EXTREME NETWORKS, INC.
Reel/Frame 076081/0088 →
SECURITY INTEREST Recorded Jul 29, 2026
From: EXTREME NETWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 076078/0590 →
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2004
From: PARKER, DAVID K.
To: EXTREME NETWORKS, INC.
Reel/Frame 015097/0748 →
Continuity (1)
Provisional Application 6055803900 · Mar 30, 2004