# US 7,613,209 B1 · System and method for egress packet marking

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,209 B1
- Document ID: US7613209B1
- Status: Granted
- Kind: B1
- Application number: 10/814,729
- Filed: 2004-03-30
- Granted: 2009-11-03
- Earliest claimed: 2004-03-30
- Assignees: Extreme Networks, Inc.
- Inventors: Kha H. Nguyen; Erik R. Swenson
- Web page: https://patentgrep.com/patent/US7613209B1

## CPC

- H04L 47/10: Flow control; Congestion control
- H04L 47/2408: for supporting different services, e.g. a differentiated services [DiffServ] type of service
- H04L 47/2458: {Modification of priorities while in transit}
- H04L 47/31: by tagging of packets, e.g. using discard eligibility [DE] bits
- H04L 69/12: Protocol engines
- H04L 69/22: Parsing or analysis of headers
- H04L 69/324: in the data link layer [OSI layer 2], e.g. HDLC
- H04L 69/325: in the network layer [OSI layer 3], e.g. X.25 (H04L69/16 takes precedence)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A packet processing system architecture and method are provided. According to one implementation, the system can include a first and second memory elements and a processor. The first memory element may be utilized for storing: A plurality of packet quality of service indicators; A first packet quality of service field; and A second packet quality of service field. The second memory element is utilized for storing a plurality of second packet quality of service indicators. The processor is operatively coupled to the memory elements for receiving quality of service commands, wherein the service commands include a plurality of third packet quality of service indicators. The processor uses an index to search the second memory element and the search returns a subset of the plurality of second packet quality of service indicators. The index may be the egress marking set or a queue number. The processor then creates a modified data packet by determining which of the packet quality of service fields to insert in the data packet, wherein the determination is based on the one or more quality of service commands.

## Claims

### Claim 1

In a packet modification system for receiving packets, previously classified by a packet classification system, from one or more switch-side devices, modifying the packets to facilitate egress thereof from the packet modification system, and transmitting the modified packets to one or more network-side devices, a packet marker for selectively updating one or more quality of service (QoS) fields in such a modified packet, prior to egress thereof from the packet modification system, comprising:
one or more memories for holding (1) a table associating values for the one or more QoS fields of the packet with an index, (2) values of the one or more QoS fields taken from the packet prior to modification thereof by the packet modification system, and (3) one or more egress mark commands; and
a packet marker processor for utilizing a link associated with the packet by the packet classification system to access the one or more egress mark commands stored in the one or more memories, and executing such commands to selectively update the one or more QoS fields of the modified packet;
wherein the packet maker processor, upon executing these commands, individually selects, for each of the one or more QoS fields, the process used for updating the field from amongst at least the following processes:
updating the field using the value of the field taken from the packet prior to modification thereof by the packet modification system as stored in the one or more memories;
updating the field using a value obtained by performing a table lookup operation on the table stored in the one or more memories, using as an index in said operation a value obtained or derived from information associated with the packet by the packet classification system; and
updating the field using a value derived from at least one of the one or more egress mark commands;
wherein at least one of the one or more QoS fields of the packet are selected from the group consisting of a Virtual Local Area Network Priority (VLAN VPRI) field, a Multi-Protocol Label Switching Experimental Use (MPLS EXP) field, and an Internet Protocol version 4 Type of Service/version 6 Traffic Class (IPv4ToS/IPv6TC) field.

### Claim 2 (depends on 1)

The packet marker of claim 1 wherein the packet has a plurality of QoS fields, and the packet marker individually selects, for each of these plurality of fields, the method of updating the field.

### Claim 3 (depends on 2)

The packet marker of claim 2 where the plurality of QoS fields comprises a VLAN VPRI field, a MPLS EXP field, and an IPv4ToS/IPv6TC field.

### Claim 4 (depends on 1)

The packet marker of claim 1 wherein the information associated with the packet by the packet classification system from which the index is obtained or derived is egress mark control information associated with the packet by the packet classification system.

### Claim 5 (depends on 1)

The packet marker of claim 1 wherein the information associated with the packet by the packet classification system from which the index is obtained or derived is a queue number associated with the packet by the packet classification system.

### Claim 6 (depends on 4)

The packet marker of claim 4 wherein the egress mark control information associated with the packet by the packet classification system comprises a select portion and a mask portion, and the index is obtained or derived from the select portion of the egress mark control information.

### Claim 7 (depends on 6)

The packet marker of claim 6 wherein the mask portion of the egress mark control information disables one or more of the one or more QoS fields of the modified packet from being updated.

### Claim 8 (depends on 6)

The packet marker of claim 6 wherein the mask portion of the egress mark control information enables one or more of the one or more QoS fields of the modified packet to be updated.

### Claim 9

In a packet modification system for receiving packets, previously classified by a packet classification system, from one or more switch-side devices, modifying the packets to facilitate egress thereof from the packet modification system, and transmitting the modified packets to one or more network-side devices, a packet marker for selectively updating any one or more of Virtual Local Area Network Priority (VLAN VPRI), Multi-Protocol Label Switching Experimental Use (MPLS EXP), and Internet Protocol version 4 Type of Service/version 6 Traffic Class (IPv4ToS/IPv6TC) quality of service (QoS) fields in such a modified packet, prior to egress thereof from the packet modification system, comprising:
one or more memories for holding (1) a table associating values for the any one or more of VLAN VPRI, MPLS EXP, and IPv4ToS/IPv6TC QoS fields with an index, (2) values of the any one or more of VLAN VPRI, MPLS EXP, and IPv4ToS/IPv6TC QoS fields taken from the packet prior to modification thereof by the packet modification system, and (3) one or more egress mark commands; and
a packet marker processor for utilizing a link associated with the packet by the packet classification system to access the one or more egress mark commands stored in the one or more memories, and executing such commands to selectively update the any one or more of VLAN VPRI, MPLS EXP, and IPv4ToS/IPv6TC QoS fields in the packet;
wherein the packet marker processor, upon executing these commands, individually selects, for each of the any one or more of VLAN VPRI, MPLS EXP and IPv4ToS/IPv6TC QoS fields, the process used for updating the field from amongst at least the following processes:
updating the field using the value of the field taken from the packet prior to modification thereof by the packet modification system as stored in the one or more memories;
updating the field using a value obtained by performing a table lookup operation on the table stored in the one or more memories, using as an index in said operation a value obtained or derived from egress mark control information associated with the packet by the packet classification system; and
updating the field using a value derived from at least one of the one or more egress mark commands.

### Claim 10 (depends on 9)

The packet marker of claim 9 wherein the egress mark control information associated with the packet by the packet classification system comprises a select portion and a mask portion, and the index is obtained or derived from the select portion of the egress mark control information.

### Claim 11 (depends on 10)

The packet marker of claim 10 wherein the mask portion of the egress mark control information disables one or more of the one or more QoS fields of the modified packet from being updated.

### Claim 12 (depends on 11)

The packet marker of claim 11 wherein the mask portion of the egress mark control information enables one or more of the one or more QoS fields of the modified packet to be updated.

### Claim 13 (depends on 9)

The packet marker of claim 9 where the packet marker processing also selects from the following process when individually selecting the process used for updating each of the any one or more of VLAN VPRI, MPLS EXP, and IPv4ToS/IPv6TC QoS fields of the packet:
updating the field using a value obtained by performing a table lookup operation on the table stored in the one or more memories, using as an index in said operation a value obtained or derived from a queue number associated with the packet by the packet classification system.

### Claim 14

In a packet modification system for receiving packets, previously classified by a packet classification system, from one or more switch-side devices, modifying the packets to facilitate egress thereof from the packet modification system, and transmitting the modified packets to one or more network-side devices, a method of selectively updating one or more quality of service (QoS) fields in such a modified packet, prior to egress thereof from the packet modification system, comprising:
holding in one or more memories (1) a table associating values for the one or more QoS fields of the packet with an index, (2) values of the one or more QoS fields of the packet prior to modification thereof by the packet modification system, and (3) one or more egress mark commands; and
selectively updating the one or more QoS fields of the packet, comprising individually selecting, for each such field, the process used for updating the field from amongst at least the following processes:
updating the field using the value of the field taken from the packet prior to modification thereof by the packet modification system as stored in the one or more memories;
updating the field using a value obtained by performing a table lookup operation on the table stored in the one or more memories, using as an index in said operation a value obtained or derived from information associated with the packet by the packet classification system; and
updating the field using a value derived from at least one of the one or more egress mark commands;
wherein at least one of the one or more QoS fields of the packet are selected from the group consisting of a Virtual Local Area Network Priority (VLAN VPRI) field, a Multi-Protocol Label Switching Experimental Use (MPLS EXP) field, and an Internet Protocol version 4 Type of Service/version 6 Traffic Class (IPv4ToS/IPv6TC) field.

### Claim 15 (depends on 14)

The method of claim 14 wherein the packet has a plurality of QoS fields, and the selective updating step comprises individually selecting, for each of these plurality of fields, the process of updating the field.

### Claim 16 (depends on 15)

The method of claim 15 where the plurality of QoS fields comprises a VLAN VPRI field, a field, and an IPv4ToS/IPv6TC field.

### Claim 17 (depends on 14)

The method of claim 14 wherein the information associated with the packet by the packet classification system from which the index is obtained or derived is egress mark control information associated with the packet by the packet classification system.

### Claim 18 (depends on 14)

The method of claim 14 wherein the information associated with the packet by the packet classification system from which the index is obtained or derived is a queue number associated with the packet by the packet classification system.

### Claim 19 (depends on 14)

The method of claim 14 wherein the egress mark control information associated with the packet by the packet classification system comprises a select portion and a mask portion, and the index is obtained or derived from the select portion of the egress mark control information.

### Claim 20 (depends on 19)

The method of claim 19 wherein the mask portion of the egress mark control information disables one or more of the one or more QoS fields of the modified packet from being updated.

### Claim 21 (depends on 19)

The method of claim 19 wherein the mask portion of the egress mark control information enables one or more of the one or more QoS fields of the modified packet to be updated.
