IP Library Granted Patent US 9,491,109
Granted Patent B2
US 9,491,109 · App. 14/252,465 · Granted Nov 8, 2016

Extended priority for Ethernet packets

Inventors: Michael Shamis (Netanya, IL); Youval Nachum (Holon, IL)
Assignee: Marvell World Trade Ltd.
H04L47/31H04L12/465H04L47/24H04L47/2491
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,491,109
App. No.
14/252,465
Granted
Nov 8, 2016
Kind
B2
Abstract

A network device includes a packet ingress configured to receive packets from a network, and a packet processor configured to identify a first packet of the received packets as a double VLAN tagged packet with an extended priority profile. The packet processor is also configured to determine, based on P bits distributed among M bits of a first priority field associated with a first VLAN tag and N bits of a second priority field associated with a second VLAN tag, the extended priority profile of the first packet from among a group of possible extended priority profiles that is larger than a first group of possible priority profiles associated with the first priority field and larger than a second group of possible priority profiles associated with the second priority field. The packet processor is also configured to process the first packet according to the determined extended priority profile.

Claims (82)

1. A network device comprising:

a packet ingress configured to receive packets from a network; and

a packet processor configured to

identify a first packet of the received packets as a double VLAN tagged packet with an extended priority profile,

determine, based on P bits distributed among (i) M bits of a first priority field that serves as a first VLAN priority tag associated with a first VLAN tag of the first packet and (ii) N bits of a second priority field that serves as a second VLAN priority tag associated with a second VLAN tag of the first packet, the extended priority profile of the first packet from among a group of possible extended priority profiles that is (i) larger than a first group of possible priority profiles associated with the first priority field and (ii) larger than a second group of possible priority profiles associated with the second priority field, and

process the first packet according to the determined extended priority profile.

2. A network device according to claim 1 , wherein the packet processor is configured to:

determine the extended priority profile of the first packet based on P bits that include (i) the M bits of the first priority field and (ii) the N bits of the second priority field.

3. A network device according to claim 2 , wherein the packet processor is configured to:

determine the extended priority profile of the first packet from among a group of 2 (M+N) possible extended priority profiles.

4. A network device according to claim 1 , wherein the packet processor is configured to:

identify the first packet of the received packets as a TRILL packet associated with the extended priority profile; and

determine the extended priority profile of the TRILL packet based on P bits distributed among (i) M bits of the first priority field associated with the first VLAN tag within a link header of the TRILL packet and (ii) N bits of the second priority field associated with the second VLAN tag within a TRILL header of the TRILL packet.

5. A network device according to claim 1 , wherein the packet processor is configured to:

identify the first packet of the received packets as an IEEE 802.1ad packet associated with the extended priority profile; and

determine the extended priority profile of the IEEE 802.1ad packet based on P bits distributed among (i) M bits of the first priority field associated with a customer VLAN tag of the IEEE 802.1ad packet and (ii) N bits of the second priority field associated with a service VLAN tag of the IEEE 802.1ad packet.

6. A method in a network device, the method comprising:

receiving a packet from a network;

identifying the packet as a double VLAN tagged packet with an extended priority profile;

determining, based on P bits distributed among (i) M bits of a first priority field that serves as a first VLAN priority tag associated with a first VLAN tag of the packet and (ii) N bits of a second priority field that serves as a second VLAN priority tag associated with a second VLAN tag of the packet, the extended priority profile of the packet from among a group of possible extended priority profiles that is (i) larger than a first group of possible priority profiles associated with the first priority field and (ii) larger than a second group of possible priority profiles associated with the second priority field; and

processing the packet according to the determined extended priority profile.

7. A method according to claim 6 , wherein:

determining the extended priority profile based on P bits includes determining the extended priority profile based on P bits that include (i) the M bits of the first priority field and (ii) the N bits of the second priority field.

8. A method according to claim 7 , wherein:

determining the extended priority profile includes determining the extended priority profile from among a group of 2 (M+N) possible extended priority profiles.

9. A method according to claim 6 , wherein:

identifying the packet as a double VLAN tagged packet with the extended priority profile includes identifying the packet as a TRILL packet associated with the extended priority profile; and

determining the extended priority profile of the packet based on P bits includes determining the extended priority profile of the TRILL packet based on P bits distributed among (i) M bits of the first priority field associated with the first VLAN tag within a link header of the TRILL packet and (ii) N bits of the second priority field associated with the second VLAN tag within a TRILL header of the TRILL packet.

10. A method according to claim 6 , wherein:

identifying the packet as a double VLAN tagged packet with the extended priority profile includes identifying the packet as an IEEE 802.1ad packet associated with the extended priority profile; and

determining the extended priority profile of the packet based on P bits includes determining the extended priority profile of the IEEE 802.1ad packet based on P bits distributed among (i) M bits of the first priority field associated with a customer VLAN tag of the IEEE 802.1ad packet and (ii) N bits of the second priority field associated with a service VLAN tag of the IEEE 802.1ad packet.

11. A method according to claim 6 , wherein determining the extended priority profile includes determining the extended priority profile that corresponds to:

a priority level indicated by a first set of one or more bits distributed among at least one of (i) the M bits of the first priority field and (ii) the N bits of the second priority field; and

a priority sub-level indicated by a second set of one or more bits distributed among at least one of (i) the M bits of the first priority field and (ii) the N bits of the second priority field.

12. A network comprising:

a plurality of network devices, selected ones of the network device configured to

receive a plurality of packets, ones of the packets having two or more priority fields that serve as respective VLAN priority tags associated with two or more respective VLAN tags, and

process received packets according to an extended priority profile selected from a first set of possible extended priority profiles, the first set of possible extended priority profiles including more profiles than are provided by any single field of the two or more priority fields that serve as the respective VLAN priority tags associated with the two or more respective VLAN tags.

13. A network according to claim 12 , wherein:

each network device in the plurality of network devices is associated with a first virtual domain corresponding to the first set of possible extended priority profiles; and

at least one network device in the plurality of network devices is coupled to a network device associated with a second virtual domain, wherein

the second virtual domain corresponds to a second set of possible extended priority profiles different than the first set of possible extended priority profiles, and

the second set of possible extended priority profiles includes more profiles than are provided by any single field of the two or more priority fields associated with the two or more respective VLAN tags.

14. A network according to claim 12 , wherein:

each network device in the plurality of network devices is associated with a first virtual domain corresponding to the first set of possible extended priority profiles; and

at least one network device in the plurality of network devices is coupled to a network device associated with a second virtual domain, wherein the second virtual domain corresponds to a second set of possible priority profiles provided by only one of the two or more priority fields.

15. A network according to claim 12 , wherein the plurality of packets each having two or more priority fields associated with two or more respective VLAN tags includes one or more of (i) TRILL packets, (ii) SPB packets, or (iii) IEEE 802.1ad packets.

16. A method in a network, the method comprising:

receiving, at ones of a plurality of network devices in the network, a respective plurality of packets, ones of the packets having two or more priority fields that serve as respective VLAN priority tags associated with two or more respective VLAN tags; and

processing, at the network devices in the network, received packets according to an extended priority profile selected from a first set of possible extended priority profiles, the first set of possible extended priority profiles including more profiles than are provided by any single field of the two or more priority fields that serve as the respective VLAN priority tags associated with the two or more respective VLAN tags.

17. A method according to claim 16 , wherein:

receiving, at ones of a plurality of network devices in the network, a respective plurality of packets includes receiving a respective plurality of packets that includes one or more of (i) TRILL packets, (ii) SPB packets, or (iii) IEEE 802.1ad packets.

18. A network device comprising:

a memory;

a packet ingress configured to receive packets from a network; and

a packet processor configured to

identify a first packet of the received packets as a packet having an extended priority profile designated by (i) one or more bits of a first priority field that serves as a first VLAN priority tag associated with a first VLAN tag of the first packet and (ii) one or more bits of a second priority field that serves as a second VLAN priority tag associated with a second VLAN tag of the first packet,

map the extended priority profile to a priority profile associated with the first VLAN tag,

store in the memory one or more bit values needed to reconstruct the extended priority profile designated in the first packet, and

process the first packet according to the priority profile associated with the first VLAN tag.

19. A network device according to claim 18 , wherein the packet processor is further configured to:

after the packet processor processes the first packet according to the priority profile associated with the first VLAN tag, cause the first packet to be forwarded to another network device with (i) bits of the first priority field being set to bit values that correspond to the priority profile associated with the first VLAN tag, and (ii) bits of the second priority field being set to the one or more bit values needed to reconstruct the extended priority profile designated in the first packet.

20. A network device according to claim 18 , wherein the packet processor is further configured to:

after the packet processor processes the first packet according to the priority profile associated with the first VLAN tag, reconstruct the extended priority profile of the first packet using (i) bit values that correspond to the priority profile associated with the first VLAN tag and (ii) the one or more bit values needed to reconstruct the extended priority profile designated in the first packet.

21. A network device according to claim 18 , further comprising a plurality of queues, and wherein the packet processor is configured to process the packet according to the priority profile associated with the first VLAN tag at least in part by:

selecting one of the plurality of queues based on the priority profile associated with the first VLAN tag; and

sending the packet, a portion of the packet, or a packet descriptor associated with the packet to the selected queue.

22. A network device according to claim 18 , wherein the packet processor is configured to identify the first packet of the received packets as a packet having the extended priority profile designated by (i) all bits of the first priority field associated with the first VLAN tag and (ii) all bits of the second priority field associated with the second VLAN tag.

23. A method in a network device coupled to a network, the method comprising:

receiving a packet from the network;

identifying the packet as a packet having an extended priority profile designated by (i) one or more bits of a first priority field that serves as a first VLAN priority tag associated with a first VLAN tag of the packet and (ii) one or more bits of a second priority field that serves as a second VLAN priority tag associated with a second VLAN tag of the packet;

mapping the extended priority profile to a priority profile associated with the first VLAN tag;

storing, in a memory, one or more bit values needed to reconstruct the extended priority profile designated in the packet; and

processing the packet according to the priority profile associated with the first VLAN tag.

24. A method according to claim 23 , further comprising:

after processing the packet according to the priority profile associated with the first VLAN tag, causing the packet to be forwarded to another network device with (i) bits of the first priority field being set to bit values that correspond to the priority profile associated with the first VLAN tag, and (ii) bits of the second priority field being set to the one or more bit values needed to reconstruct the extended priority profile designated in the packet.

25. A method according to claim 24 , further comprising:

after processing the packet according to the priority profile associated with the first VLAN tag, reconstructing the extended priority profile of the packet using (i) bit values that correspond to the priority profile associated with the first VLAN tag and (ii) the one or more bit values needed to reconstruct the extended priority profile designated in the packet.

26. A method according to claim 23 , wherein processing the packet according to the priority profile associated with the first VLAN tag includes:

selecting one of a plurality of queues based on the priority profile associated with the first VLAN tag; and

sending the packet, a portion of the packet, or a packet descriptor associated with the packet to the selected queue.

27. A network device according to claim 23 , wherein identifying the packet as the packet having the extended priority profile includes identifying the packet as the packet having the extended priority profile designated by (i) all bits of the first priority field associated with the first VLAN tag and (ii) all bits of the second priority field associated with the second VLAN tag.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
Continuity (4)
Continuation 13894952 · May 15, 2013
Provisional Application 61649554 · May 21, 2012
Provisional Application 61647164 · May 15, 2012
Related Publication 20140226488A1 · Aug 14, 2014