IP Library Granted Patent US 9,742,588
Granted Patent B2
US 9,742,588 · App. 14/226,805 · Granted Aug 22, 2017

Methods and systems for selectively processing virtual local area network (VLAN) traffic from different networks while allowing flexible VLAN identifier assignment

Inventor: Susan E. Carrie (Mountain View, CA)
Assignee: Extreme Networks, Inc.
H04L12/467H04L12/4641H04L61/10
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,742,588
App. No.
14/226,805
Granted
Aug 22, 2017
Kind
B2
Abstract

Methods and systems for selectively processing VLAN traffic from different networks while allowing flexible VLAN identifier assignment are disclosed. According to one aspect, a layer 2 switch includes a virtual switch identifier data structure that associates a VLAN identifier extracted from a layer 2 frame and a port identifier corresponding to a port on which a frame is received with a virtual switch identifier. The virtual switch identifier is used to select a per-virtual-switch data structure, such as a forwarding table. The per-virtual-switch data structure is used to control processing of the layer 2 frame on a per-virtual-switch basis. The per-virtual-switch data structure may also be updated separately from the data structures assigned to other virtual switches.

Claims (35)

1. A method for implementing a plurality of virtual layer 2 switches in a physical layer 2 switch, the method comprising:

(a) assigning a port identifier to each port in a physical layer 2 switch;

(b) maintaining a virtual switch identifier data structure, the virtual switch identifier data structure associating a combination of port identifier identifying a port on which a layer 2 frame is received and virtual local area network (VLAN) identifier extracted from received layer 2 frame with a virtual switch identifier;

(c) maintaining a plurality of per-virtual-switch data structures corresponding to the virtual switch identifiers, each per-virtual-switch data structure containing per-virtual-switch message processing data;

(d) assigning the received layer 2 frame to one of the virtual switch identifiers using the virtual switch identifier data structure, the port identifier, and the VLAN identifier;

(e) processing the layer 2 frame using the per-virtual-switch data structure corresponding to the virtual switch identifier; and

(f) updating the per-virtual-switch data structure based on the received layer 2 frame.

2. The method of claim 1 wherein maintaining a plurality of per-virtual-switch data structures includes maintaining separate layer 2 forwarding data for each virtual switch identifier.

3. The method of claim 1 wherein maintaining a plurality of per-virtual-switch data structures includes maintaining separate address resolution protocol (ARP) caches for each virtual switch identifier.

4. The method of claim 1 wherein maintaining a plurality of per-virtual switch data structures includes maintaining separate proxy address resolution protocol (ARP) data for each virtual switch identifier.

5. The method of claim 1 wherein maintaining a plurality of per-virtual-switch data structures includes maintaining separate spanning tree protocol domain data for each virtual switch identifier.

6. The method of claim 1 wherein assigning the received layer 2 frame to one of the virtual switch identifiers includes looking up a virtual switch identifier in a data structure in which each entry is indexed by a port identifier and a VLAN identifier.

7. The method of claim 1 wherein assigning the received layer 2 frame to one of the virtual switch identifiers includes accessing a data structure to determine whether all VLANs associated with a particular port have been assigned to the same virtual switch, and in response, retrieving the corresponding virtual switch identifier.

8. The method of claim 1 wherein assigning the received layer 2 frame to one of the virtual switch identifiers includes identifying a port set based on the port on which the frame is received and looking up the virtual switch identifier in a data structure indexed by port set and VLAN ID.

9. The method of claim 1 wherein assigning the received layer 2 frame to one of the virtual switch identifiers includes:

(a) determining whether all VLANS on the port in which the frame is received correspond to the same virtual switch; and

(b) in response to determining that all VLANs do not correspond to the same virtual switch, determining a port set ID for the received layer 2 frame and looking up the virtual switch identifier in a table indexed by port set ID identifier and VLAN ID.

10. The method of claim 1 wherein processing the layer 2 frame using the per-virtual-switch data structure includes controlling output ports on which the layer 2 frame is forwarded using per-virtual-switch layer 2 forwarding data.

11. The method of claim 1 wherein processing the layer 2 frame using the per-virtual-switch data structure includes sending an ARP request only to machines defined in a flood list corresponding to the virtual switch identifier.

12. The method of claim 1 wherein updating the per-virtual-switch data structure based on the received layer 2 frame includes extracting a media access control (MAC) source address from the received layer 2 frame and updating a forwarding database corresponding to the virtual switch identifier.

13. The method of claim 1 wherein updating the per-virtual-switch data structure based on the received layer 2 frame includes updating an ARP cache corresponding to the virtual switch identifier based on an ARP transaction for the layer 2 frame.

14. A physical layer 2 switch configured to implement a plurality of virtual layer 2 switches, the physical layer 2 switch including a classification engine configured to:

(a) assign a port identifier to each port in a physical layer 2 switch;

(b) maintain a virtual switch identifier data structure, the virtual switch identifier data structure associating a combination of port identifier identifying a port on which a layer 2 frame is received and virtual local area network (VLAN) identifier extracted from received layer 2 frame with a virtual switch identifier;

(c) maintain a plurality of per-virtual-switch data structures corresponding to the virtual switch identifiers, each per-virtual-switch data structure containing per-virtual-switch message processing data;

(d) assign the received layer 2 frame to one of the virtual switch identifiers using the virtual switch identifier data structure, the port identifier, and the VLAN identifier;

(e) process the layer 2 frame using the per-virtual-switch data structure corresponding to the virtual switch identifier; and

(f) update the per-virtual-switch data structure based on the received layer 2 frame.

15. The switch of claim 14 , wherein the classification engine is configured to maintain a plurality of per-virtual-switch data structures by being configured to maintain one of: separate layer 2 forwarding data for each virtual switch identifier, separate address resolution protocol (ARP) caches for each virtual switch identifier, separate proxy address resolution protocol (ARP) data for each virtual switch identifier, or separate spanning tree protocol domain data for each virtual switch identifier.

16. The switch of claim 14 , wherein the classification engine is configured to assign the received layer 2 frame to one of the virtual switch identifiers by being configured to look up a virtual switch identifier in a data structure in which each entry is indexed by a port identifier and a VLAN identifier.

17. The switch of claim 14 wherein the classification engine is configured to assign the received layer 2 frame to one of the virtual switch identifiers by being configured to access a data structure to determine whether all VLANs associated with a particular port have been assigned to the same virtual switch, and in response, retrieving the corresponding virtual switch identifier.

18. The switch of claim 14 wherein the classification engine is configured to assign the received layer 2 frame to one of the virtual switch identifiers by being configured to identify a port set based on the port on which the frame is received and looking up the virtual switch identifier in a data structure indexed by port set and VLAN ID.

19. The switch of claim 14 wherein the classification engine is configured to assign the received layer 2 frame to one of the virtual switch identifiers by being configured to:

(a) determine whether all VLANS on the port in which the frame is received correspond to the same virtual switch; and

(b) in response to determining that all VLANs do not correspond to the same virtual switch, determining a port set ID for the received layer 2 frame and looking up the virtual switch identifier in a table indexed by port set ID identifier and VLAN ID.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2017
From: CARRIE, SUSAN E.
To: EXTREME NETWORKS, INC.
Reel/Frame 043202/0884 →
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 →
Continuity (3)
Division 12754330 · Apr 5, 2010
Division 10744223 · Dec 22, 2003
Related Publication 20140341223A1 · Nov 20, 2014