US10397113B2 - Method of identifying internal destinations of network packets and an apparatus thereof - Google Patents

Method of identifying internal destinations of network packets and an apparatus thereof Download PDF

Info

Publication number
US10397113B2
US10397113B2 US15/457,959 US201715457959A US10397113B2 US 10397113 B2 US10397113 B2 US 10397113B2 US 201715457959 A US201715457959 A US 201715457959A US 10397113 B2 US10397113 B2 US 10397113B2
Authority
US
United States
Prior art keywords
chip
packet
network
destination
packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US15/457,959
Other versions
US20170187623A1 (en
Inventor
Vishal Anand
Tsahi Daniel
Gerald Schmidt
Premshanth Theivendran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Marvell Asia Pte Ltd
Original Assignee
Cavium LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Assigned to XPLIANT, INC. reassignment XPLIANT, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ANAND, VISHAL, DANIEL, TSAHI, SCHMIDT, GERALD, THEIVENDRAN, PREMSHANTH
Assigned to Cavium, Inc. reassignment Cavium, Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CAVIUM NETWORKS LLC
Priority to US15/457,959 priority Critical patent/US10397113B2/en
Application filed by Cavium LLC filed Critical Cavium LLC
Assigned to CAVIUM NETWORKS LLC reassignment CAVIUM NETWORKS LLC MERGER AND CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: CAVIUM NETWORKS LLC, XPLIANT, INC.
Publication of US20170187623A1 publication Critical patent/US20170187623A1/en
Assigned to CAVIUM, LLC reassignment CAVIUM, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: Cavium, Inc.
Publication of US10397113B2 publication Critical patent/US10397113B2/en
Application granted granted Critical
Assigned to CAVIUM INTERNATIONAL reassignment CAVIUM INTERNATIONAL ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CAVIUM, LLC
Assigned to MARVELL ASIA PTE, LTD. reassignment MARVELL ASIA PTE, LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CAVIUM INTERNATIONAL
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3072Packet splitting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7452Multiple parallel or consecutive lookup operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • H04L45/7457
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields

Definitions

  • the present invention relates to network packets.
  • the present invention relates to a method of identifying internal destinations of network packets and an apparatus thereof.
  • Prior art switch chips parse and process incoming network traffic to decide where packets should be transmitted to. However, the prior art switch chips simply extract contents from a packet to determine an internal destination of the packet. Yet, handling of packets is not always a function of what the packet contents are.
  • Embodiments of the apparatus of identifying internal destinations of network packets relate to a network chip that allows flexibility in handling packets.
  • the handling of packets can be a function of what the packet contents are or where the packets are from.
  • the handling of packets can also be a function of both what the packet contents are and where the packets are from.
  • where the packets are from refers to unique port numbers of chip ports that the packets arrived at.
  • the packets can be distributed for processing within the network chip.
  • a method of implementing a network chip includes receiving a packet and identifying a unique packet identifier of the packet based on contents of the packet.
  • the method also includes forming a token from the contents of the packet.
  • identifying protocol layers of the packet includes expanding each of the protocol layers to a generic format based on the identification of the protocol layer, selecting contents from the expanded protocol layers, and concatenating the selected contents to form the token.
  • the method also includes determining a destination to send the token to, wherein the determination is based on two factors.
  • a destination includes forming a key based on a combination of the two factors, accessing a destination table, and using the key to retrieve information regarding the destination from the destination table.
  • the destination is an internal destination on the network chip. In some embodiments, the destination is one of a plurality of LDEs on the network chip.
  • one of the factors is what the contents of the packet are. In some embodiments, one of the factor is where the packet is from.
  • a combination of the two factors allows all packets of a particular type to be sent to the same destination for processing irrespective of which chip ports the packets are from. In some embodiments, a combination of the two factors allows all traffic from one chip port to be redirected to the same destination for processing independent of what kind of traffic it is.
  • a method of implementing a network chip includes processing a packet to identify a unique packet identifier of the packet based on contents of the packet and to form a token based on extracted header fields of the packet, and identifying an arrival chip port of the packet, wherein the arrival chip port is one of a plurality of chip ports on the network chip.
  • the method also includes forming a key by combining the unique packet identifier of the packet and certain bits of a port number corresponding to the identified chip port.
  • the port number is a relative port number that is assigned to the identified port.
  • the assignment is performed using a dynamic port renumbering scheme.
  • the combination of the PktID and the certain bits of the port number is a concatenation of the PktID and the certain bits of the port number.
  • the method also includes determining a destination of the token based on the key.
  • determining a destination includes referencing a destination table and using the key to retrieve information regarding the destination from the destination table.
  • the method also includes forwarding the token to the destination.
  • a network chip in yet another aspect, includes a plurality of chip ports, wherein each of the ports is associated with a port number, and on-chip memory to store a destination table.
  • the network chip also includes a parser to process a packet that arrived at one of the plurality of chip ports to thereby identify a unique packet identifier of the packet and form a token that includes extracted fields from different protocol layers of the packet.
  • the parser also decides where to send the token to, and forwards the token according to the decision. In some embodiments, the decision is based on referencing the destination table.
  • the unique packet identifier and certain bits of the port number are concatenated to form a key to be used when retrieving destination information from the destination table.
  • the destination table is programmable.
  • the network chip also includes a mesh network of LDEs.
  • the token is in a format that is understood by the LDEs such that one or more of the LDEs will be able to process the token.
  • each of the LDEs generates a lookup key and sends the lookup key to a remote search engine, wherein the remote search engine returns a lookup result that is used to modify the token.
  • the token is forwarded to a destination LDE, wherein the destination LDE is one of the LDEs.
  • the destination LDE modifies the token.
  • the modified token is forwarded to another LDE or the same LDE for further modification.
  • a final modified token is used to modify packet headers of the packet.
  • the modified packet headers are combined with a payload of the packet to form an output packet. In some embodiments, he output packet is sent back to the parser for further processing.
  • one of the two conditions is all packets of a same packet type are sent to a first destination for processing irrespective of which of the plurality of chip ports the packets are from, and another of the two conditions is all traffic from one of the plurality of chip ports is redirected to a second destination for processing independent of what kind of traffic the traffic is.
  • the parser processes a packet that arrived at one of the plurality of chip ports to thereby identify a unique packet identifier of the packet and form a token that includes extracted fields from different protocol layers of the packet.
  • the parser further decides where to send the token to and forwards the token according to the decision.
  • FIG. 1 illustrates exemplary protocol layer combinations of packets.
  • FIGS. 2A-2B illustrate a method of a network chip in accordance with some embodiments of the present invention.
  • FIG. 3 illustrates another method of the network chip in accordance with some embodiments of the present invention.
  • Embodiments of the apparatus of identifying internal destinations of network packets relate to a network chip that allows flexibility in handling packets.
  • the handling of packets can be a function of what the packet contents are or where the packets are from.
  • the handling of packets can also be a function of both what the packet contents are and where the packets are from.
  • where the packets are from refers to unique port numbers of chip ports that the packets arrived at.
  • the packets can be distributed for processing within the network chip.
  • a network device such as a network switch, is able to switch/route network traffic.
  • the network switch includes a plurality of switch ports for receiving and transmitting packets.
  • the plurality of switch ports includes switch input ports and switch output ports.
  • the network switch also includes at least one network chip.
  • Each network chip includes a plurality of chip ports. The plurality of chip ports are typically mapped to the plurality of switch input ports.
  • the network switch also includes at least one memory.
  • the memory stores a protocol table, which includes layer information of each protocol layer of each protocol layer combination that is programmed into the protocol table.
  • the memory also stores a destination table, which includes internal destination information.
  • the protocol table and the destination table are programmable.
  • the at least one memory is an on-chip memory that is located on the network chip.
  • the network chip includes a parser and a rewriter.
  • the parser can include one or more parser engines to identify contents of network packets
  • the rewriter can include one or more rewrite engines to modify packets before they are transmitted out via the switch output ports of the network switch.
  • the parser engine(s) and the rewrite engine(s) are flexible and operate on a programmable basis.
  • the network chip also include a mesh network of lookup and decision engines (LDEs).
  • LDEs lookup and decision engines
  • An exemplary mesh network of LDEs is discussed in U.S. patent application Ser. No. 14/144,260, entitled “Method and Apparatus for Parallel and Conditional Data Manipulation in a Software-Defined Network Processing Engine,” filed on Dec. 30, 2013, and U.S. patent application Ser. No. 14/144,270, entitled “Apparatus and Method of Generating Lookups and Making Decision for Packet Modifying and Forwarding in a Software-Defined Network Engine,” filed on Dec. 30, 2013, which are hereby incorporated by reference in their entirety.
  • Each LDE receives a token from the parser or from another LDE, and generates a lookup key and sends the lookup key to a remote search engine.
  • the remote search engine returns a lookup result, which is used by the LDE to modify the token.
  • Packets typically include multiple protocol layers. Each protocol layer carries different information. Some examples of well known layers are:
  • the network switch supports 17 protocols and eight protocol layers. There are therefore 8 17 possible protocol layer combinations.
  • FIG. 1 illustrates exemplary protocol layer combinations of packets.
  • a packet can include a three protocol layer combination such as Ethernet, IPv4 and ICMP.
  • a packet can include a seven protocol layer combination such as, Ethernet, IPv4, UDP, VxLAN, Ethernet and ARP.
  • the protocol table stored in the memory of the network switch is programmed to include layer information of each layer of each known protocol layer combination.
  • the local protocol table includes less than 256 protocol layer combinations. In some embodiments, this local protocol table includes 212 known protocol layer combinations.
  • the local protocol table is programmed to include more or less protocol layer combinations.
  • Each packet received at the network chip is processed by the parser to identify the packet using the PktID as well as to form a token.
  • the token includes extracted fields from parsed headers of the packet. In some embodiments, the token also includes control bits.
  • An exemplary token formation is discussed in U.S. patent application Ser. No. 14/309,726, entitled “A Method of Extracting Data from Packets and an Apparatus thereof,” filed Jun. 19, 2014 , which is hereby incorporated by reference in its entirety.
  • a combination of the PktID and certain bits of the port number (of the corresponding arrival port of the packet) is used to decide where the token of the packet is internally sent to for processing.
  • This combination allows the flexibility that all packets of a particular type can be sent to the same internal destination within the network chip for processing irrespective of which port they are from.
  • this combination allows the flexibility that all traffic from a particular port can be redirected to the same internal destination within the network chip for processing independent of what kind of traffic it is.
  • the port number is a relative port number that is assigned to the arrival port.
  • the assignment can be performed using a dynamic port renumbering scheme.
  • An exemplary dynamic port renumbering scheme is discussed in U.S. patent application Ser. No. 14/309,789, entitled “A Method of Dynamically Renumbering Ports and an Apparatus thereof,” filed Jun. 19, 2014, which is hereby incorporated by reference in its entirety.
  • the dynamic port renumbering scheme limits a number of states that needs to be preserved for all ports on the network chip, thereby advantageously minimizing the total logic on the network chip.
  • the combination of the PktID and the certain bits of the port number forms a key.
  • the key is used to perform a lookup against the destination table.
  • the destination table maps keys to internal destinations within the network chip.
  • the destination table is typically software defined.
  • the combination is a concatenation of the PktID and the certain bits of the port number.
  • An exemplary internal destination is one of the LDEs in the mesh network on the network chip.
  • the token is typically in a format that is understood by the LDEs such that one or more of the LDEs will be able to process the token.
  • the token is modified by a destination LDE. Thereafter, the modified token can be sent to another LDE or to the same LDE for further modification.
  • the final modified token is used by the rewriter to modify packet headers of the corresponding packet. The original packet payload and the modified packet headers are combined to form a final output network packet. The final output network packet is then sent back to the parser (loopback) or is forwarded to another network device.
  • FIG. 2A illustrates a method 200 of the network chip in accordance with some embodiments of the present invention.
  • the network chip is a part of the network switch.
  • a packet is received.
  • a unique packet identifier of the packet is identified based on contents of the packet.
  • the step 210 is performed by the parser on the network chip.
  • a token is formed from the contents of the packet.
  • the step 215 is also performed by the parser.
  • protocol layers of the packet are first identified. Each of the protocol layers is then expanded to a generic format based on the identification of the protocol layer. Contents from the expanded protocol layers are then selected. The selected contents are thereafter concatenated to form the token.
  • a destination to send the token to is determined. The determination is typically based on two factors.
  • the destination is an internal destination within the network chip.
  • the step 220 includes a method discussed in FIG. 2B .
  • FIG. 2B illustrates the method 250 in accordance with some embodiments of the present invention.
  • a key is formed based on a combination of the two factors.
  • one factor is what the contents of the packet are, and another factor is where the packet is from. Where the packet is from refers to a unique port number of the chip port that the packet arrived at.
  • the combination of the two factors allows all packets of a particular type to be sent to the same internal destination within the network chip for processing irrespective of which chip ports the packets are from. In some embodiments, the combination of the two factors allows all traffic from one chip port to be redirected to the same internal destination within the network chip for processing independent of what kind of traffic it is.
  • a destination table is accessed.
  • the destination table includes information regarding destinations.
  • the key is used to retrieve information regarding the destination from the destination table.
  • the destination is an internal destination on the network chip.
  • the destination is one of a plurality of LDEs on the network chip.
  • FIG. 3 illustrates another method 300 of the network chip in accordance with some embodiments of the present invention.
  • a packet is processed to identify a unique packet identifier of the packet based on contents of the packet and to form a token based on extracted header fields of the packet.
  • an arrival chip port of the packet is identified.
  • the arrival chip port is one of the plurality of chip ports on the network chip.
  • a key is formed by combining the unique packet identifier of the packet and certain bits of a port number corresponding to the identified chip port.
  • the port number is a relative port number that is assigned to the identified port.
  • the assignment is performed using a dynamic port renumbering scheme.
  • the combination is a concatenation of the PktID and the certain bits of the port number.
  • a destination of the token is determined based on the key.
  • a destination table is referenced and the key is used to retrieve information regarding the destination from the destination table.
  • the destination is an internal destination within the network chip.
  • the token is forwarded to the destination.
  • the network chip in accordance with some embodiments of the present invention does not blindly extract contents from a packet to determine a destination of the packet. Instead, the handling of each packet is a function of what contents of the packets are and where the packets are from. As such, all packets of a same packet type can be sent to the same internal destination within the network chip for processing irrespective of which of the plurality of chip ports the packets are from. Similarly, all traffic from one of the plurality of chip ports can be redirected to the same internal destination within the network chip for processing independent of what kind of traffic the traffic is. Processing of the packets can thus be advantageously distributed across the LDEs.

Abstract

Embodiments of the apparatus of identifying internal destinations of network packets relate to a network chip that allows flexibility in handling packets. The handling of packets can be a function of what the packet contents are or where the packets are from. The handling of packets can also be a function of both what the packet contents are and where the packets are from. In some embodiments, where the packets are from refers to unique port numbers of chip ports that the packets arrived at. The packets can be distributed for processing within the network chip.

Description

RELATED APPLICATIONS
This Application is a continuation of U.S. patent application Ser. No. 14/309,802, filed on Jun. 19, 2014, and entitled “METHOD OF IDENTIFYING INTERNAL DESTINATIONS OF NETWORK PACKETS AND AN APPARATUS THEREOF” which is also hereby incorporated by reference.
FIELD OF INVENTION
The present invention relates to network packets. In particular, the present invention relates to a method of identifying internal destinations of network packets and an apparatus thereof.
BACKGROUND OF THE INVENTION
Prior art switch chips parse and process incoming network traffic to decide where packets should be transmitted to. However, the prior art switch chips simply extract contents from a packet to determine an internal destination of the packet. Yet, handling of packets is not always a function of what the packet contents are.
BRIEF SUMMARY OF THE INVENTION
Embodiments of the apparatus of identifying internal destinations of network packets relate to a network chip that allows flexibility in handling packets. The handling of packets can be a function of what the packet contents are or where the packets are from. The handling of packets can also be a function of both what the packet contents are and where the packets are from. In some embodiments, where the packets are from refers to unique port numbers of chip ports that the packets arrived at. The packets can be distributed for processing within the network chip.
In one aspect, a method of implementing a network chip is provided. The method includes receiving a packet and identifying a unique packet identifier of the packet based on contents of the packet.
The method also includes forming a token from the contents of the packet. In some embodiments, identifying protocol layers of the packet includes expanding each of the protocol layers to a generic format based on the identification of the protocol layer, selecting contents from the expanded protocol layers, and concatenating the selected contents to form the token.
The method also includes determining a destination to send the token to, wherein the determination is based on two factors. In some embodiments, a destination includes forming a key based on a combination of the two factors, accessing a destination table, and using the key to retrieve information regarding the destination from the destination table.
In some embodiments, the destination is an internal destination on the network chip. In some embodiments, the destination is one of a plurality of LDEs on the network chip.
In some embodiments, one of the factors is what the contents of the packet are. In some embodiments, one of the factor is where the packet is from.
In some embodiments, a combination of the two factors allows all packets of a particular type to be sent to the same destination for processing irrespective of which chip ports the packets are from. In some embodiments, a combination of the two factors allows all traffic from one chip port to be redirected to the same destination for processing independent of what kind of traffic it is.
In another aspect, a method of implementing a network chip. The method includes processing a packet to identify a unique packet identifier of the packet based on contents of the packet and to form a token based on extracted header fields of the packet, and identifying an arrival chip port of the packet, wherein the arrival chip port is one of a plurality of chip ports on the network chip.
The method also includes forming a key by combining the unique packet identifier of the packet and certain bits of a port number corresponding to the identified chip port. In some embodiments, the port number is a relative port number that is assigned to the identified port. In some embodiments, the assignment is performed using a dynamic port renumbering scheme.
In some embodiments, the combination of the PktID and the certain bits of the port number is a concatenation of the PktID and the certain bits of the port number.
The method also includes determining a destination of the token based on the key. In some embodiments, determining a destination includes referencing a destination table and using the key to retrieve information regarding the destination from the destination table.
The method also includes forwarding the token to the destination.
In yet another aspect, a network chip is provided. The network chip includes a plurality of chip ports, wherein each of the ports is associated with a port number, and on-chip memory to store a destination table.
The network chip also includes a parser to process a packet that arrived at one of the plurality of chip ports to thereby identify a unique packet identifier of the packet and form a token that includes extracted fields from different protocol layers of the packet. The parser also decides where to send the token to, and forwards the token according to the decision. In some embodiments, the decision is based on referencing the destination table.
In some embodiments, the unique packet identifier and certain bits of the port number are concatenated to form a key to be used when retrieving destination information from the destination table.
In some embodiments, the destination table is programmable.
In some embodiments, the network chip also includes a mesh network of LDEs. In some embodiments, the token is in a format that is understood by the LDEs such that one or more of the LDEs will be able to process the token.
In some embodiments, each of the LDEs generates a lookup key and sends the lookup key to a remote search engine, wherein the remote search engine returns a lookup result that is used to modify the token. In some embodiments, the token is forwarded to a destination LDE, wherein the destination LDE is one of the LDEs. In some embodiments, the destination LDE modifies the token. In some embodiments, the modified token is forwarded to another LDE or the same LDE for further modification. In some embodiments, a final modified token is used to modify packet headers of the packet. In some embodiments, the modified packet headers are combined with a payload of the packet to form an output packet. In some embodiments, he output packet is sent back to the parser for further processing.
In yet another aspect, a network switch is provided. The network switch includes a plurality of switch ports and a network chip. The network chip includes a plurality of chip ports that is mapped to the plurality of switch ports, and a parser to determine how to handle to incoming packets, wherein the handling is a function of what contents of the packets are and where the packets are from such that two conditions are always met.
In some embodiments, one of the two conditions is all packets of a same packet type are sent to a first destination for processing irrespective of which of the plurality of chip ports the packets are from, and another of the two conditions is all traffic from one of the plurality of chip ports is redirected to a second destination for processing independent of what kind of traffic the traffic is.
In some embodiments, the parser processes a packet that arrived at one of the plurality of chip ports to thereby identify a unique packet identifier of the packet and form a token that includes extracted fields from different protocol layers of the packet.
In some embodiments, the parser further decides where to send the token to and forwards the token according to the decision.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
FIG. 1 illustrates exemplary protocol layer combinations of packets.
FIGS. 2A-2B illustrate a method of a network chip in accordance with some embodiments of the present invention.
FIG. 3 illustrates another method of the network chip in accordance with some embodiments of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
In the following description, numerous details are set forth for purposes of explanation. However, one of ordinary skill in the art will realize that the invention can be practiced without the use of these specific details. Thus, the present invention is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features described herein.
Embodiments of the apparatus of identifying internal destinations of network packets relate to a network chip that allows flexibility in handling packets. The handling of packets can be a function of what the packet contents are or where the packets are from. The handling of packets can also be a function of both what the packet contents are and where the packets are from. In some embodiments, where the packets are from refers to unique port numbers of chip ports that the packets arrived at. The packets can be distributed for processing within the network chip.
A network device, such as a network switch, is able to switch/route network traffic. The network switch includes a plurality of switch ports for receiving and transmitting packets. The plurality of switch ports includes switch input ports and switch output ports. The network switch also includes at least one network chip. Each network chip includes a plurality of chip ports. The plurality of chip ports are typically mapped to the plurality of switch input ports.
The network switch also includes at least one memory. In some embodiments, the memory stores a protocol table, which includes layer information of each protocol layer of each protocol layer combination that is programmed into the protocol table. In some embodiments, the memory also stores a destination table, which includes internal destination information. The protocol table and the destination table are programmable. In some embodiments, the at least one memory is an on-chip memory that is located on the network chip.
In some embodiments, the network chip includes a parser and a rewriter. The parser can include one or more parser engines to identify contents of network packets, and the rewriter can include one or more rewrite engines to modify packets before they are transmitted out via the switch output ports of the network switch. The parser engine(s) and the rewrite engine(s) are flexible and operate on a programmable basis.
In some embodiments, the network chip also include a mesh network of lookup and decision engines (LDEs). An exemplary mesh network of LDEs is discussed in U.S. patent application Ser. No. 14/144,260, entitled “Method and Apparatus for Parallel and Conditional Data Manipulation in a Software-Defined Network Processing Engine,” filed on Dec. 30, 2013, and U.S. patent application Ser. No. 14/144,270, entitled “Apparatus and Method of Generating Lookups and Making Decision for Packet Modifying and Forwarding in a Software-Defined Network Engine,” filed on Dec. 30, 2013, which are hereby incorporated by reference in their entirety. Each LDE receives a token from the parser or from another LDE, and generates a lookup key and sends the lookup key to a remote search engine. The remote search engine returns a lookup result, which is used by the LDE to modify the token.
Packets typically include multiple protocol layers. Each protocol layer carries different information. Some examples of well known layers are:
    • Ethernet
    • PBB Ethernet
    • ARP
    • IPV4
    • IPV6
    • MPLS
    • FCOE
    • TCP
    • UDP
    • ICMP
    • IGMP
    • GRE
    • ICMPv6
    • VxLAN
    • TRILL
    • CNM
      Theoretically, the protocol layers can occur in any order. However, only some well-known combinations of these layers occur. Some examples of valid combinations of these layers are:
    • Ethernet
    • Ethernet, ARP
    • Ethernet, CNM
    • Ethernet, FCoE
    • Ethernet, IPV4
    • Ethernet, IPV4, ICMP
    • Ethernet, IPV4, IGMP
In some embodiments, the network switch supports 17 protocols and eight protocol layers. There are therefore 817 possible protocol layer combinations. FIG. 1 illustrates exemplary protocol layer combinations of packets. For example, a packet can include a three protocol layer combination such as Ethernet, IPv4 and ICMP. For another example, a packet can include a seven protocol layer combination such as, Ethernet, IPv4, UDP, VxLAN, Ethernet and ARP.
Although there are 817 possible protocol layer combinations, only some well-known combinations of these layers occur. All known protocol layer combinations are uniquely identified and translated into a unique number called the packet identifier (PktID). The protocol table stored in the memory of the network switch is programmed to include layer information of each layer of each known protocol layer combination. In practice, the local protocol table includes less than 256 protocol layer combinations. In some embodiments, this local protocol table includes 212 known protocol layer combinations. The local protocol table is programmed to include more or less protocol layer combinations.
Each packet received at the network chip is processed by the parser to identify the packet using the PktID as well as to form a token. The token includes extracted fields from parsed headers of the packet. In some embodiments, the token also includes control bits. An exemplary token formation is discussed in U.S. patent application Ser. No. 14/309,726, entitled “A Method of Extracting Data from Packets and an Apparatus thereof,” filed Jun. 19, 2014 , which is hereby incorporated by reference in its entirety.
A combination of the PktID and certain bits of the port number (of the corresponding arrival port of the packet) is used to decide where the token of the packet is internally sent to for processing. This combination allows the flexibility that all packets of a particular type can be sent to the same internal destination within the network chip for processing irrespective of which port they are from. Similarly, this combination allows the flexibility that all traffic from a particular port can be redirected to the same internal destination within the network chip for processing independent of what kind of traffic it is.
In some embodiments, the port number is a relative port number that is assigned to the arrival port. The assignment can be performed using a dynamic port renumbering scheme. An exemplary dynamic port renumbering scheme is discussed in U.S. patent application Ser. No. 14/309,789, entitled “A Method of Dynamically Renumbering Ports and an Apparatus thereof,” filed Jun. 19, 2014, which is hereby incorporated by reference in its entirety. The dynamic port renumbering scheme limits a number of states that needs to be preserved for all ports on the network chip, thereby advantageously minimizing the total logic on the network chip.
Typically, the combination of the PktID and the certain bits of the port number forms a key. The key is used to perform a lookup against the destination table. The destination table maps keys to internal destinations within the network chip. The destination table is typically software defined. In some embodiments, the combination is a concatenation of the PktID and the certain bits of the port number.
An exemplary internal destination is one of the LDEs in the mesh network on the network chip. The token is typically in a format that is understood by the LDEs such that one or more of the LDEs will be able to process the token. In some embodiments, the token is modified by a destination LDE. Thereafter, the modified token can be sent to another LDE or to the same LDE for further modification. In some embodiments, the final modified token is used by the rewriter to modify packet headers of the corresponding packet. The original packet payload and the modified packet headers are combined to form a final output network packet. The final output network packet is then sent back to the parser (loopback) or is forwarded to another network device.
FIG. 2A illustrates a method 200 of the network chip in accordance with some embodiments of the present invention. Typically, the network chip is a part of the network switch. At a step 205, a packet is received.
At a step 210, a unique packet identifier of the packet is identified based on contents of the packet. In some embodiments, the step 210 is performed by the parser on the network chip.
At a step 215, a token is formed from the contents of the packet. In some embodiments, the step 215 is also performed by the parser. In some embodiments, protocol layers of the packet are first identified. Each of the protocol layers is then expanded to a generic format based on the identification of the protocol layer. Contents from the expanded protocol layers are then selected. The selected contents are thereafter concatenated to form the token.
At a step 220, a destination to send the token to is determined. The determination is typically based on two factors. In some embodiments, the destination is an internal destination within the network chip. In some embodiments, the step 220 includes a method discussed in FIG. 2B.
FIG. 2B illustrates the method 250 in accordance with some embodiments of the present invention. At a step 255, a key is formed based on a combination of the two factors. In some embodiments, one factor is what the contents of the packet are, and another factor is where the packet is from. Where the packet is from refers to a unique port number of the chip port that the packet arrived at.
In some embodiments, the combination of the two factors allows all packets of a particular type to be sent to the same internal destination within the network chip for processing irrespective of which chip ports the packets are from. In some embodiments, the combination of the two factors allows all traffic from one chip port to be redirected to the same internal destination within the network chip for processing independent of what kind of traffic it is.
At a step 260, a destination table is accessed. The destination table includes information regarding destinations.
At a step 265, the key is used to retrieve information regarding the destination from the destination table. In some embodiments, the destination is an internal destination on the network chip. In some embodiments, the destination is one of a plurality of LDEs on the network chip.
FIG. 3 illustrates another method 300 of the network chip in accordance with some embodiments of the present invention. At a step 305, a packet is processed to identify a unique packet identifier of the packet based on contents of the packet and to form a token based on extracted header fields of the packet.
At a step 310, an arrival chip port of the packet is identified. The arrival chip port is one of the plurality of chip ports on the network chip.
At a step 315, a key is formed by combining the unique packet identifier of the packet and certain bits of a port number corresponding to the identified chip port. In some embodiments, the port number is a relative port number that is assigned to the identified port. In some embodiments, the assignment is performed using a dynamic port renumbering scheme. In some embodiments, the combination is a concatenation of the PktID and the certain bits of the port number.
At a step 320, a destination of the token is determined based on the key. In some embodiments, a destination table is referenced and the key is used to retrieve information regarding the destination from the destination table. In some embodiments, the destination is an internal destination within the network chip.
At a step 325, the token is forwarded to the destination.
Unlike prior art network chips, the network chip in accordance with some embodiments of the present invention does not blindly extract contents from a packet to determine a destination of the packet. Instead, the handling of each packet is a function of what contents of the packets are and where the packets are from. As such, all packets of a same packet type can be sent to the same internal destination within the network chip for processing irrespective of which of the plurality of chip ports the packets are from. Similarly, all traffic from one of the plurality of chip ports can be redirected to the same internal destination within the network chip for processing independent of what kind of traffic the traffic is. Processing of the packets can thus be advantageously distributed across the LDEs.
One of ordinary skill in the art will realize other uses and advantages also exist. While the invention has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. Thus, one of ordinary skill in the art will understand that the invention is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims.

Claims (23)

We claim:
1. A method of implementing a network chip, comprising:
receiving a packet through an ingress chip port of the network chip, wherein the packet enters the network chip from outside the network chip through the ingress chip port;
identifying a unique packet identifier of the packet;
forming a token; and
determining a destination to send the token to based on at least two factors, wherein one of the at least two factors is a network chip port number of the ingress chip port indicating where the packet entered the network chip from outside of the network chip and another one of the factors is the unique packet identifier.
2. The method of claim 1, wherein forming a token includes:
identifying protocol layers of the packet;
expanding each of the protocol layers to a generic format based on the identification of the protocol layer;
selecting contents from the expanded protocol layers; and
concatenating the selected contents to form the token.
3. The method of claim 1, wherein determining a destination includes:
forming a key based on a combination of the two factors;
accessing a destination table; and
using the key to retrieve information regarding the destination from the destination table.
4. The method of claim 1, wherein the destination is an internal destination on the network chip.
5. The method of claim 1, wherein the destination is one of a plurality of lookup and decision engines (LDEs) on the network chip.
6. The method of claim 1, wherein one of the factors is what the contents of the packet are.
7. The method of claim 1, wherein one of the factors is where the packet is from.
8. The method of claim 1, wherein a combination of the two factors allows all packets of a particular type to be sent to the same destination for processing irrespective of which chip ports the packets are from.
9. The method of claim 1, wherein a combination of the two factors allows all traffic from one chip port to be redirected to the same destination for processing independent of what kind of traffic it is.
10. A network chip comprising:
a plurality of chip ports. wherein each of a plurality of packets enter the network chip from outside the network chip through one of the chip ports, wherein each of the chip ports is identified by different network chip port number; and
a parser to process a packet of the packets that arrived at one of the plurality of chip ports to thereby identify a unique packet identifier of the packet, form a token and decide where to send the token to based on the network chip port number of the one of the chip ports from which the packet arrived, which indicates where the packet entered the network chip from outside of the network chip, and the unique packet identifier.
11. The network chip of claim 10, wherein the decision is based on referencing a destination table.
12. The network chip of claim 10, wherein the unique packet identifier and certain bits of the network chip port number are concatenated to form a key to be used when retrieving destination information from a destination table.
13. The network chip of claim 12, wherein the destination table is programmable.
14. The network chip of claim 10, further comprising a mesh network of lookup and decision engines (LDEs).
15. The network chip of claim 14, wherein the token is in a format that is understood by the LDEs such that one or more of the LDEs will be able to process the token.
16. The network chip of claim 14, wherein each of the LDEs generates a lookup key and sends the lookup key to a remote search engine, wherein the remote search engine returns a lookup result that is used to modify the token.
17. The network chip of claim 14, wherein the token is forwarded to a destination LDE, wherein the destination LDE is one of the LDEs.
18. The network chip of claim 17, wherein the destination LDE modifies the token.
19. The network chip of claim 18, wherein the modified token is forwarded to another LDE or the same LDE for further modification.
20. The network chip of claim 19, wherein a final modified token is used to modify packet headers of the packet.
21. The network chip of claim 20, wherein the modified packet headers are combined with a payload of the packet to form an output packet.
22. The network chip of claim 21, wherein the output packet is sent back to the parser for further processing.
23. A network microchip comprising:
a plurality of ingress chip ports for inputting a plurality of packets each having a packet type, wherein each packet of the plurality of packets enters the network microchip from outside the network microchip through one of the ingress chip ports; and
a parser configured to transmit all of the packets having the same packet type to a first destination within the network microchip for processing independent of which of the plurality of ingress chip ports the packets used to enter the network microchip, and to redirect all of the packets entering the network microchip using the same one of the plurality of ingress chip ports to a second destination for processing independent of the packet type of the packets.
US15/457,959 2014-06-19 2017-03-13 Method of identifying internal destinations of network packets and an apparatus thereof Active 2034-07-09 US10397113B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/457,959 US10397113B2 (en) 2014-06-19 2017-03-13 Method of identifying internal destinations of network packets and an apparatus thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/309,802 US9628385B2 (en) 2014-06-19 2014-06-19 Method of identifying internal destinations of networks packets and an apparatus thereof
US15/457,959 US10397113B2 (en) 2014-06-19 2017-03-13 Method of identifying internal destinations of network packets and an apparatus thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/309,802 Continuation US9628385B2 (en) 2014-06-19 2014-06-19 Method of identifying internal destinations of networks packets and an apparatus thereof

Publications (2)

Publication Number Publication Date
US20170187623A1 US20170187623A1 (en) 2017-06-29
US10397113B2 true US10397113B2 (en) 2019-08-27

Family

ID=54870780

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/309,802 Active 2034-09-04 US9628385B2 (en) 2014-06-19 2014-06-19 Method of identifying internal destinations of networks packets and an apparatus thereof
US15/457,959 Active 2034-07-09 US10397113B2 (en) 2014-06-19 2017-03-13 Method of identifying internal destinations of network packets and an apparatus thereof

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US14/309,802 Active 2034-09-04 US9628385B2 (en) 2014-06-19 2014-06-19 Method of identifying internal destinations of networks packets and an apparatus thereof

Country Status (4)

Country Link
US (2) US9628385B2 (en)
CN (1) CN105282055B (en)
HK (1) HK1220826A1 (en)
TW (1) TWI660609B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948756B1 (en) * 2016-08-11 2018-04-17 Amazon Technologies, Inc. Automated pipeline generation
US20220365701A1 (en) * 2021-05-11 2022-11-17 InContact Inc. System and method for determining and utilizing an effectiveness of lifecycle management for interactions storage, in a contact center
TWI792796B (en) * 2021-12-22 2023-02-11 凌陽科技股份有限公司 Chiplet system and positioning method thereof

Citations (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781729A (en) 1995-12-20 1998-07-14 Nb Networks System and method for general purpose network analysis
US5805808A (en) 1991-12-27 1998-09-08 Digital Equipment Corporation Real time parser for data packets in a communications network
US5951651A (en) 1997-07-23 1999-09-14 Lucent Technologies Inc. Packet filter system using BITMAP vector of filter rules for routing packet through network
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
JP2000196672A (en) 1998-12-28 2000-07-14 Toshiba Corp Inter-network repeater
JP2000253061A (en) 1999-03-01 2000-09-14 Hitachi Ltd Data delivery method
US20010050914A1 (en) 2000-06-02 2001-12-13 Shinichi Akahane VPN router and VPN identification method by using logical channel identifiers
US6341129B1 (en) 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
US20020009076A1 (en) 2000-01-27 2002-01-24 Ton Engbersen Method and means for classifying data packets
US20020016852A1 (en) 1999-12-14 2002-02-07 Motoo Nishihara Frame construction method, frame construction device and data transfer system capable of accommodating STM traffic and best effort traffic in common frame format
US6356951B1 (en) 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US20020062394A1 (en) 2000-10-11 2002-05-23 Broadcom Corporation Cable modem system and method for dynamically mixing protocol specific header suppression techniques
US20020076142A1 (en) 2000-08-21 2002-06-20 Song Qi Wang Optical switch and switching network
US20020083210A1 (en) 2000-09-20 2002-06-27 International Business Machines Corporation Message parsing in message processing systems
US20020163935A1 (en) 2001-05-04 2002-11-07 Terago Communications, Inc. System and method for providing transformation of multi-protocol packets in a data stream
US20020191521A1 (en) 1999-12-02 2002-12-19 Junichi Minamino Optical disc medium, recording method thereof and recorder
US20030037154A1 (en) 2001-08-16 2003-02-20 Poggio Andrew A. Protocol processor
US6606301B1 (en) 1999-03-01 2003-08-12 Sun Microsystems, Inc. Method and apparatus for early random discard of packets
US20030152078A1 (en) 1998-08-07 2003-08-14 Henderson Alex E. Services processor having a packet editing unit
US20030193949A1 (en) 2002-04-15 2003-10-16 Yuji Kojima Packet processing device
US20030210702A1 (en) 2001-11-21 2003-11-13 Alcatel Configurable packet processor
US20030218978A1 (en) 2002-05-24 2003-11-27 Mosaid Technologies, Inc. Method and apparatus for reordering entries in a multi probe lookup
US20030231625A1 (en) 2002-06-13 2003-12-18 International Business Machines Corporation Selective header field dispatch in a network processing system
US20040019733A1 (en) * 2002-07-29 2004-01-29 Garinger Ned D. On chip network with memory device address decoding
US20040064589A1 (en) 2002-09-27 2004-04-01 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US6789116B1 (en) 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US20050076228A1 (en) 2003-10-02 2005-04-07 Davis John M. System and method for a secure I/O interface
WO2005036834A1 (en) 2003-10-10 2005-04-21 Fujitsu Limited Statistical information collecting method and apparatus
JP2005522948A (en) 2002-04-11 2005-07-28 エイチアイ/エフエヌ,インコーポレイテッド Method, system and computer product for processing packet with layered header
US20050213570A1 (en) 2004-03-26 2005-09-29 Stacy John K Hardware filtering support for denial-of-service attacks
US6952425B1 (en) 2000-11-14 2005-10-04 Cisco Technology, Inc. Packet data analysis with efficient and flexible parsing capabilities
US20050220107A1 (en) 2004-04-05 2005-10-06 Mci, Inc. System and method for indicating classification of a communications flow
US20050232303A1 (en) 2002-04-26 2005-10-20 Koen Deforche Efficient packet processing pipeline device and method
US20050276230A1 (en) 2004-06-15 2005-12-15 Hitachi, Ltd. Communication statistic information collection apparatus
US20050281281A1 (en) 2003-01-24 2005-12-22 Rajesh Nair Port input buffer architecture
US20060021569A1 (en) 2003-07-30 2006-02-02 Bernard Petrillo Immersion optics fluid dispenser
US20060039372A1 (en) 2001-05-04 2006-02-23 Slt Logic Llc Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
US7017162B2 (en) 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US20060168309A1 (en) 2003-01-24 2006-07-27 Mistletoe Technologies, Inc. Symbol parsing architecture
US20060215653A1 (en) * 2005-03-23 2006-09-28 Lavigne Bruce E Encapsulating packets for network chip conduit port
US20060280178A1 (en) 2005-06-14 2006-12-14 Microsoft Corporation Script-based parser
JP2007503770A (en) 2003-08-25 2007-02-22 ネクストホップ テクノロジーズ,インク Nested components for network protocols
US7187694B1 (en) 2002-03-29 2007-03-06 Pmc-Sierra, Inc. Generic packet parser
US20070078997A1 (en) 2005-10-05 2007-04-05 Microsoft Corporation Efficient endpoint matching using a header-to-bit conversion table
JP2007166514A (en) 2005-12-16 2007-06-28 Nippon Telegr & Teleph Corp <Ntt> Device and method for processing communication
US7293113B1 (en) 2003-05-28 2007-11-06 Advanced Micro Devices, Inc. Data communication system with hardware protocol parser and method therefor
US20070268931A1 (en) 2006-05-19 2007-11-22 Integrated Device Technology, Inc. Packets transfer device that intelligently accounts for variable egress channel widths when scheduling use of dispatch bus by egressing packet streams
US20080008159A1 (en) 2006-07-07 2008-01-10 Yair Bourlas Method and system for generic multiprotocol convergence over wireless air interface
US7359403B1 (en) 1998-10-06 2008-04-15 Nokia Corporation Data segmentation method in a telecommunications system
US7367052B1 (en) 2002-12-04 2008-04-29 Cisco Technology, Inc. Access list key compression
US7391735B2 (en) 2001-03-29 2008-06-24 International Business Machines Corporation Parsing messages with multiple data formats
US20090067446A1 (en) 2005-02-18 2009-03-12 Broadcom Corporation Multi-part parsing in a network device
US20090067325A1 (en) 2004-07-22 2009-03-12 Baratakke Kavitha V M Receiving and transmitting devices for providing fragmentation at a transport level along a transmission path
US7568047B1 (en) 2004-04-30 2009-07-28 Nortel Networks Limited Method and apparatus for adaptive service label management
US20090234818A1 (en) 2008-03-12 2009-09-17 Web Access Inc. Systems and Methods for Extracting Data from a Document in an Electronic Format
US20090238190A1 (en) 2008-03-20 2009-09-24 International Business Machines Corporation Ethernet Virtualization Using a Network Packet Alteration
US7606263B1 (en) 2004-03-30 2009-10-20 Extreme Networks, Inc. Packet parser
JP2009260880A (en) 2008-04-21 2009-11-05 Fujitsu Ltd Packet transfer controlling apparatus and packet transfer controlling method
JP2009272912A (en) 2008-05-08 2009-11-19 Fujitsu Ltd Ip data processor
US7710959B2 (en) 2006-08-29 2010-05-04 Cisco Technology, Inc. Private VLAN edge across multiple switch modules
US7715611B2 (en) 2003-09-08 2010-05-11 Qinetiq Limited Documentation authentication
US20100161787A1 (en) 2008-12-23 2010-06-24 Verizon Corporate Resources Group Llc Web page response monitoring
US7822032B1 (en) 2004-03-30 2010-10-26 Extreme Networks, Inc. Data structures for supporting packet data modification operations
US20100272125A1 (en) 2009-04-23 2010-10-28 Hubertus Franke Canonicalization of Network Protocol Headers
US20100329255A1 (en) 2009-06-26 2010-12-30 Abhishek Singhal Multiple Compression Techniques For Packetized Information
US20110022732A1 (en) 2006-12-22 2011-01-27 Marvell International Ltd. Method for flexible modifications to a packet
US20110040923A1 (en) 2009-08-13 2011-02-17 Hangzhou H3C Technologies Co., Ltd. Data packet access control apparatus and method thereof
US7903689B2 (en) 2004-06-21 2011-03-08 Fujitsu Limited Method and system for packet reassembly based on a reassembly header
US20110058514A1 (en) 2008-05-14 2011-03-10 Samsung Electronics Co., Ltd. Method and system for requesting allocation of bandwith and allocating bandwith in a multi-hop relay environment
US20110134920A1 (en) 2009-12-07 2011-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Handling data packets received at a routing node
US20110142070A1 (en) 2002-03-22 2011-06-16 Juniper Networks, Inc. Systems and methods for handling packet fragmentation
WO2011078108A1 (en) 2009-12-21 2011-06-30 日本電気株式会社 Pattern-matching method and device for a multiprocessor environment
US8031640B2 (en) 2006-05-12 2011-10-04 Fujitsu Limited Packet transmission apparatus, packet forwarding method and packet transmission system
US20110261812A1 (en) 2010-04-23 2011-10-27 Sriganesh Kini Efficient encapsulation of packets transmitted on a packet-pseudowire over a packet switched network
US20110261698A1 (en) 2010-04-23 2011-10-27 Kamerkar Sushil S Traffic Generator with Priority Flow Control
US20110268123A1 (en) 2007-03-12 2011-11-03 Yaniv Kopelman Method and apparatus for determining locations of fields in a data unit
US8054744B1 (en) 2007-10-25 2011-11-08 Marvell International Ltd. Methods and apparatus for flow classification and flow measurement
US20110310892A1 (en) 2010-06-17 2011-12-22 Apple Inc. Accelerating data routing
US8112800B1 (en) 2007-11-08 2012-02-07 Juniper Networks, Inc. Multi-layered application classification and decoding
US8144706B1 (en) 2003-06-11 2012-03-27 Marvell International Ltd. Method and apparatus for managing packets in a packet switched network
US20120159132A1 (en) 2010-12-16 2012-06-21 International Business Machines Corporation Accelerating Data Packet Parsing
WO2012138370A1 (en) 2011-04-08 2012-10-11 Gigamon Llc Systems and methods for packet de-duplication
US20120281714A1 (en) 2011-05-06 2012-11-08 Ralink Technology Corporation Packet processing accelerator and method thereof
US20130039278A1 (en) 2010-05-03 2013-02-14 Nokia Corporation Protocol overhead reduction
JP2013055642A (en) 2011-09-01 2013-03-21 Nec (China) Co Ltd Extendible multicast transfer method and device for data center
US20130163475A1 (en) 2011-12-22 2013-06-27 Ludovic Beliveau Controller for flexible and extensible flow processing in software-defined networks
US20130163427A1 (en) 2011-12-22 2013-06-27 Ludovic Beliveau System for flexible and extensible flow processing in software-defined networks
US20130195457A1 (en) 2012-01-30 2013-08-01 Broadlight, Ltd Method and system for performing distributed deep-packet inspection
US20130215906A1 (en) 2012-02-17 2013-08-22 Takashi Hidai Reconfigurable packet header parsing
US20130238792A1 (en) 2006-12-19 2013-09-12 International Business Machines Corporation Apparatus and method for analyzing a network
US8570713B2 (en) 2011-06-29 2013-10-29 General Electric Company Electrical distribution system including micro electro-mechanical switch (MEMS) devices
US8576173B2 (en) 2002-07-04 2013-11-05 Koninklijke Philips N. V. Automatically adaptable virtual keyboard
US20140078902A1 (en) 2012-09-18 2014-03-20 Cisco Technology, Inc. Scalable Low Latency Multi-Protocol Networking Device
US8705533B1 (en) 2010-12-10 2014-04-22 Juniper Networks, Inc. Fast packet encapsulation using templates
US20140119231A1 (en) 2012-10-30 2014-05-01 Lai-chong CHAN Method and system for identifying matching packets
US20140153443A1 (en) 2012-11-30 2014-06-05 International Business Machines Corporation Per-Address Spanning Tree Networks
US8804733B1 (en) 2010-06-02 2014-08-12 Marvell International Ltd. Centralized packet processor for a network
US20140269307A1 (en) 2013-03-15 2014-09-18 Wisconsin Alumni Research Foundation Content Addressable Memory with Reduced Power Consumption
US20140328354A1 (en) 2012-10-17 2014-11-06 Sony Corporation Data processing apparatus, data processing method, and program
US20140369365A1 (en) 2013-06-14 2014-12-18 Texas Instruments Incorporated Header Compression for Wireless Backhaul Systems
US20150081726A1 (en) 2013-09-16 2015-03-19 Erez Izenberg Configurable parser and a method for parsing information units
US9064058B2 (en) 2008-12-24 2015-06-23 Nuon, Inc. Virtualized PCI endpoint for extended systems
US20150222533A1 (en) 2014-02-05 2015-08-06 Intel Corporation Transport of ethernet packet data with wire-speed and packet data rate match
US20150277911A1 (en) 2014-03-28 2015-10-01 Denis M. Khartikov Instruction and Logic for a Logical Move in an Out-Of-Order Processor
US20160274944A1 (en) 2014-09-24 2016-09-22 Intel Corporation Instruction and logic for scheduling instructions
US9525647B2 (en) * 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US20170048144A1 (en) 2015-08-13 2017-02-16 Futurewei Technologies, Inc. Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks
US9590914B2 (en) 2013-11-05 2017-03-07 Cisco Technology, Inc. Randomized per-packet port channel load balancing
US9590820B1 (en) 2011-09-02 2017-03-07 Juniper Networks, Inc. Methods and apparatus for improving load balancing in overlay networks
US9742694B2 (en) 2014-06-19 2017-08-22 Cavium, Inc. Method of dynamically renumbering ports and an apparatus thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7414975B2 (en) 2005-03-24 2008-08-19 Ixia Protocol stack
US7802009B2 (en) * 2007-06-26 2010-09-21 Microsoft Corporation Automatic reverse engineering of message formats from network traces
US8743877B2 (en) * 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
US8520214B2 (en) * 2011-07-13 2013-08-27 The United States Of America As Represented By The Secretary Of The Navy Fiber optical gyroscope
CN103597794B (en) * 2012-02-16 2016-08-17 阿尔卡特朗讯公司 For providing the information about array of data association and for forwarding the imagination of array of data
DE102012005733B3 (en) * 2012-03-23 2013-04-11 Mann + Hummel Gmbh Filter element and filter device

Patent Citations (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5805808A (en) 1991-12-27 1998-09-08 Digital Equipment Corporation Real time parser for data packets in a communications network
US5781729A (en) 1995-12-20 1998-07-14 Nb Networks System and method for general purpose network analysis
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US5951651A (en) 1997-07-23 1999-09-14 Lucent Technologies Inc. Packet filter system using BITMAP vector of filter rules for routing packet through network
US6341129B1 (en) 1998-04-03 2002-01-22 Alteon Networks, Inc. TCP resegmentation
US20030152078A1 (en) 1998-08-07 2003-08-14 Henderson Alex E. Services processor having a packet editing unit
US7359403B1 (en) 1998-10-06 2008-04-15 Nokia Corporation Data segmentation method in a telecommunications system
US20030144993A1 (en) 1998-12-28 2003-07-31 Tohru Kishigami Data search apparatus and internetwork relay apparatus using data search apparatus
JP2000196672A (en) 1998-12-28 2000-07-14 Toshiba Corp Inter-network repeater
JP2000253061A (en) 1999-03-01 2000-09-14 Hitachi Ltd Data delivery method
US6356951B1 (en) 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US6606301B1 (en) 1999-03-01 2003-08-12 Sun Microsystems, Inc. Method and apparatus for early random discard of packets
US6789116B1 (en) 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US20020191521A1 (en) 1999-12-02 2002-12-19 Junichi Minamino Optical disc medium, recording method thereof and recorder
US20020016852A1 (en) 1999-12-14 2002-02-07 Motoo Nishihara Frame construction method, frame construction device and data transfer system capable of accommodating STM traffic and best effort traffic in common frame format
US20020009076A1 (en) 2000-01-27 2002-01-24 Ton Engbersen Method and means for classifying data packets
US20010050914A1 (en) 2000-06-02 2001-12-13 Shinichi Akahane VPN router and VPN identification method by using logical channel identifiers
US20020076142A1 (en) 2000-08-21 2002-06-20 Song Qi Wang Optical switch and switching network
US20020083210A1 (en) 2000-09-20 2002-06-27 International Business Machines Corporation Message parsing in message processing systems
US20020062394A1 (en) 2000-10-11 2002-05-23 Broadcom Corporation Cable modem system and method for dynamically mixing protocol specific header suppression techniques
US6952425B1 (en) 2000-11-14 2005-10-04 Cisco Technology, Inc. Packet data analysis with efficient and flexible parsing capabilities
US7391735B2 (en) 2001-03-29 2008-06-24 International Business Machines Corporation Parsing messages with multiple data formats
US20020163935A1 (en) 2001-05-04 2002-11-07 Terago Communications, Inc. System and method for providing transformation of multi-protocol packets in a data stream
US20060039372A1 (en) 2001-05-04 2006-02-23 Slt Logic Llc Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
US7017162B2 (en) 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US20030037154A1 (en) 2001-08-16 2003-02-20 Poggio Andrew A. Protocol processor
US20030210702A1 (en) 2001-11-21 2003-11-13 Alcatel Configurable packet processor
US20110142070A1 (en) 2002-03-22 2011-06-16 Juniper Networks, Inc. Systems and methods for handling packet fragmentation
US7187694B1 (en) 2002-03-29 2007-03-06 Pmc-Sierra, Inc. Generic packet parser
JP2005522948A (en) 2002-04-11 2005-07-28 エイチアイ/エフエヌ,インコーポレイテッド Method, system and computer product for processing packet with layered header
JP2003308206A (en) 2002-04-15 2003-10-31 Fujitsu Ltd Processor device
US20030193949A1 (en) 2002-04-15 2003-10-16 Yuji Kojima Packet processing device
US20050232303A1 (en) 2002-04-26 2005-10-20 Koen Deforche Efficient packet processing pipeline device and method
US20030218978A1 (en) 2002-05-24 2003-11-27 Mosaid Technologies, Inc. Method and apparatus for reordering entries in a multi probe lookup
US20030231625A1 (en) 2002-06-13 2003-12-18 International Business Machines Corporation Selective header field dispatch in a network processing system
US8576173B2 (en) 2002-07-04 2013-11-05 Koninklijke Philips N. V. Automatically adaptable virtual keyboard
US20040019733A1 (en) * 2002-07-29 2004-01-29 Garinger Ned D. On chip network with memory device address decoding
US20040064589A1 (en) 2002-09-27 2004-04-01 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7367052B1 (en) 2002-12-04 2008-04-29 Cisco Technology, Inc. Access list key compression
US20060168309A1 (en) 2003-01-24 2006-07-27 Mistletoe Technologies, Inc. Symbol parsing architecture
US20050281281A1 (en) 2003-01-24 2005-12-22 Rajesh Nair Port input buffer architecture
US7293113B1 (en) 2003-05-28 2007-11-06 Advanced Micro Devices, Inc. Data communication system with hardware protocol parser and method therefor
US8144706B1 (en) 2003-06-11 2012-03-27 Marvell International Ltd. Method and apparatus for managing packets in a packet switched network
US20060021569A1 (en) 2003-07-30 2006-02-02 Bernard Petrillo Immersion optics fluid dispenser
JP2007503770A (en) 2003-08-25 2007-02-22 ネクストホップ テクノロジーズ,インク Nested components for network protocols
US7715611B2 (en) 2003-09-08 2010-05-11 Qinetiq Limited Documentation authentication
US20050076228A1 (en) 2003-10-02 2005-04-07 Davis John M. System and method for a secure I/O interface
US20060259620A1 (en) 2003-10-10 2006-11-16 Hiroaki Tamai Statistical information collecting method and apparatus
WO2005036834A1 (en) 2003-10-10 2005-04-21 Fujitsu Limited Statistical information collecting method and apparatus
US20050213570A1 (en) 2004-03-26 2005-09-29 Stacy John K Hardware filtering support for denial-of-service attacks
US7822032B1 (en) 2004-03-30 2010-10-26 Extreme Networks, Inc. Data structures for supporting packet data modification operations
US7606263B1 (en) 2004-03-30 2009-10-20 Extreme Networks, Inc. Packet parser
US20050220107A1 (en) 2004-04-05 2005-10-06 Mci, Inc. System and method for indicating classification of a communications flow
US7568047B1 (en) 2004-04-30 2009-07-28 Nortel Networks Limited Method and apparatus for adaptive service label management
US20050276230A1 (en) 2004-06-15 2005-12-15 Hitachi, Ltd. Communication statistic information collection apparatus
US7903689B2 (en) 2004-06-21 2011-03-08 Fujitsu Limited Method and system for packet reassembly based on a reassembly header
US20090067325A1 (en) 2004-07-22 2009-03-12 Baratakke Kavitha V M Receiving and transmitting devices for providing fragmentation at a transport level along a transmission path
US20090067446A1 (en) 2005-02-18 2009-03-12 Broadcom Corporation Multi-part parsing in a network device
US20060215653A1 (en) * 2005-03-23 2006-09-28 Lavigne Bruce E Encapsulating packets for network chip conduit port
US20060280178A1 (en) 2005-06-14 2006-12-14 Microsoft Corporation Script-based parser
US20070078997A1 (en) 2005-10-05 2007-04-05 Microsoft Corporation Efficient endpoint matching using a header-to-bit conversion table
JP2007166514A (en) 2005-12-16 2007-06-28 Nippon Telegr & Teleph Corp <Ntt> Device and method for processing communication
US8031640B2 (en) 2006-05-12 2011-10-04 Fujitsu Limited Packet transmission apparatus, packet forwarding method and packet transmission system
US20070268931A1 (en) 2006-05-19 2007-11-22 Integrated Device Technology, Inc. Packets transfer device that intelligently accounts for variable egress channel widths when scheduling use of dispatch bus by egressing packet streams
US20080008159A1 (en) 2006-07-07 2008-01-10 Yair Bourlas Method and system for generic multiprotocol convergence over wireless air interface
US7710959B2 (en) 2006-08-29 2010-05-04 Cisco Technology, Inc. Private VLAN edge across multiple switch modules
US20130238792A1 (en) 2006-12-19 2013-09-12 International Business Machines Corporation Apparatus and method for analyzing a network
US20110022732A1 (en) 2006-12-22 2011-01-27 Marvell International Ltd. Method for flexible modifications to a packet
US20110268123A1 (en) 2007-03-12 2011-11-03 Yaniv Kopelman Method and apparatus for determining locations of fields in a data unit
US8054744B1 (en) 2007-10-25 2011-11-08 Marvell International Ltd. Methods and apparatus for flow classification and flow measurement
US8112800B1 (en) 2007-11-08 2012-02-07 Juniper Networks, Inc. Multi-layered application classification and decoding
US20090234818A1 (en) 2008-03-12 2009-09-17 Web Access Inc. Systems and Methods for Extracting Data from a Document in an Electronic Format
US20090238190A1 (en) 2008-03-20 2009-09-24 International Business Machines Corporation Ethernet Virtualization Using a Network Packet Alteration
JP2009260880A (en) 2008-04-21 2009-11-05 Fujitsu Ltd Packet transfer controlling apparatus and packet transfer controlling method
JP2009272912A (en) 2008-05-08 2009-11-19 Fujitsu Ltd Ip data processor
US20110058514A1 (en) 2008-05-14 2011-03-10 Samsung Electronics Co., Ltd. Method and system for requesting allocation of bandwith and allocating bandwith in a multi-hop relay environment
US20100161787A1 (en) 2008-12-23 2010-06-24 Verizon Corporate Resources Group Llc Web page response monitoring
US9064058B2 (en) 2008-12-24 2015-06-23 Nuon, Inc. Virtualized PCI endpoint for extended systems
US20100272125A1 (en) 2009-04-23 2010-10-28 Hubertus Franke Canonicalization of Network Protocol Headers
US20100329255A1 (en) 2009-06-26 2010-12-30 Abhishek Singhal Multiple Compression Techniques For Packetized Information
US20110040923A1 (en) 2009-08-13 2011-02-17 Hangzhou H3C Technologies Co., Ltd. Data packet access control apparatus and method thereof
US20110134920A1 (en) 2009-12-07 2011-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Handling data packets received at a routing node
WO2011078108A1 (en) 2009-12-21 2011-06-30 日本電気株式会社 Pattern-matching method and device for a multiprocessor environment
US20110261698A1 (en) 2010-04-23 2011-10-27 Kamerkar Sushil S Traffic Generator with Priority Flow Control
US20110261812A1 (en) 2010-04-23 2011-10-27 Sriganesh Kini Efficient encapsulation of packets transmitted on a packet-pseudowire over a packet switched network
US9313115B2 (en) 2010-04-23 2016-04-12 Ixia Traffic generator with priority flow control
US20130039278A1 (en) 2010-05-03 2013-02-14 Nokia Corporation Protocol overhead reduction
US8804733B1 (en) 2010-06-02 2014-08-12 Marvell International Ltd. Centralized packet processor for a network
US20110310892A1 (en) 2010-06-17 2011-12-22 Apple Inc. Accelerating data routing
US9525647B2 (en) * 2010-07-06 2016-12-20 Nicira, Inc. Network control apparatus and method for creating and modifying logical switching elements
US8705533B1 (en) 2010-12-10 2014-04-22 Juniper Networks, Inc. Fast packet encapsulation using templates
US20120159132A1 (en) 2010-12-16 2012-06-21 International Business Machines Corporation Accelerating Data Packet Parsing
WO2012138370A1 (en) 2011-04-08 2012-10-11 Gigamon Llc Systems and methods for packet de-duplication
JP2014510504A (en) 2011-04-08 2014-04-24 ギガモン・インコーポレーテッド System and method for packet deduplication
US20120281714A1 (en) 2011-05-06 2012-11-08 Ralink Technology Corporation Packet processing accelerator and method thereof
US8570713B2 (en) 2011-06-29 2013-10-29 General Electric Company Electrical distribution system including micro electro-mechanical switch (MEMS) devices
JP2013055642A (en) 2011-09-01 2013-03-21 Nec (China) Co Ltd Extendible multicast transfer method and device for data center
US9590820B1 (en) 2011-09-02 2017-03-07 Juniper Networks, Inc. Methods and apparatus for improving load balancing in overlay networks
US20130163475A1 (en) 2011-12-22 2013-06-27 Ludovic Beliveau Controller for flexible and extensible flow processing in software-defined networks
US20130163427A1 (en) 2011-12-22 2013-06-27 Ludovic Beliveau System for flexible and extensible flow processing in software-defined networks
US20130195457A1 (en) 2012-01-30 2013-08-01 Broadlight, Ltd Method and system for performing distributed deep-packet inspection
US20130215906A1 (en) 2012-02-17 2013-08-22 Takashi Hidai Reconfigurable packet header parsing
US20140078902A1 (en) 2012-09-18 2014-03-20 Cisco Technology, Inc. Scalable Low Latency Multi-Protocol Networking Device
US20140328354A1 (en) 2012-10-17 2014-11-06 Sony Corporation Data processing apparatus, data processing method, and program
US20140119231A1 (en) 2012-10-30 2014-05-01 Lai-chong CHAN Method and system for identifying matching packets
US20140153443A1 (en) 2012-11-30 2014-06-05 International Business Machines Corporation Per-Address Spanning Tree Networks
US20140269307A1 (en) 2013-03-15 2014-09-18 Wisconsin Alumni Research Foundation Content Addressable Memory with Reduced Power Consumption
US20140369365A1 (en) 2013-06-14 2014-12-18 Texas Instruments Incorporated Header Compression for Wireless Backhaul Systems
US20150189047A1 (en) 2013-09-16 2015-07-02 Annapurna Labs, LTD. Generic data integrity check
US20150081726A1 (en) 2013-09-16 2015-03-19 Erez Izenberg Configurable parser and a method for parsing information units
US9590914B2 (en) 2013-11-05 2017-03-07 Cisco Technology, Inc. Randomized per-packet port channel load balancing
US20150222533A1 (en) 2014-02-05 2015-08-06 Intel Corporation Transport of ethernet packet data with wire-speed and packet data rate match
US20150277911A1 (en) 2014-03-28 2015-10-01 Denis M. Khartikov Instruction and Logic for a Logical Move in an Out-Of-Order Processor
US9742694B2 (en) 2014-06-19 2017-08-22 Cavium, Inc. Method of dynamically renumbering ports and an apparatus thereof
US20160274944A1 (en) 2014-09-24 2016-09-22 Intel Corporation Instruction and logic for scheduling instructions
US20170048144A1 (en) 2015-08-13 2017-02-16 Futurewei Technologies, Inc. Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
Japanese Office Action dated Mar. 18, 2019, for Japanese Patent Application No. 2015-122560.
Office Action and English Translation for the Taiwanese application No. 104110829.
Office Action and English Translation for the Taiwanese application No. 104111755.
Office Action for the Japanese Application No. 2015122559 dated Mar. 18, 2019.
Office Action for the Japanese Application No. 2015122561 dated Mar. 18, 2019.
Office Action for the Japanese Application No. 2015-122562 dated Mar. 18, 2019.
Office Action for the Japanese Application No. 2015122564 dated Mar. 25, 2019.

Also Published As

Publication number Publication date
CN105282055A (en) 2016-01-27
TWI660609B (en) 2019-05-21
US9628385B2 (en) 2017-04-18
TW201603536A (en) 2016-01-16
US20150373166A1 (en) 2015-12-24
US20170187623A1 (en) 2017-06-29
HK1220826A1 (en) 2017-05-12
CN105282055B (en) 2020-10-23

Similar Documents

Publication Publication Date Title
US10397113B2 (en) Method of identifying internal destinations of network packets and an apparatus thereof
US20240022652A1 (en) A method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof
JP6590546B2 (en) Method and apparatus for forming hash input from packet contents
US11258886B2 (en) Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof
US9473601B2 (en) Method of representing a generic format header using continuous bytes and an apparatus thereof
JP6590545B2 (en) Method and apparatus for extracting data from packets
US9497294B2 (en) Method of using a unique packet identifier to identify structure of a packet and an apparatus thereof
US9531849B2 (en) Method of splitting a packet into individual layers for modification and intelligently stitching layers back together after modification and an apparatus thereof
US9961167B2 (en) Method of modifying packets to a generic format for enabling programmable modifications and an apparatus thereof
US9531848B2 (en) Method of using generic modification instructions to enable flexible modifications of packets and an apparatus thereof
KR100666948B1 (en) Apparatus and method for processing ipv6 packet

Legal Events

Date Code Title Description
AS Assignment

Owner name: XPLIANT, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANAND, VISHAL;DANIEL, TSAHI;SCHMIDT, GERALD;AND OTHERS;REEL/FRAME:041563/0714

Effective date: 20140707

Owner name: CAVIUM, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CAVIUM NETWORKS LLC;REEL/FRAME:041563/0744

Effective date: 20160308

Owner name: CAVIUM NETWORKS LLC, CALIFORNIA

Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:XPLIANT, INC.;CAVIUM NETWORKS LLC;REEL/FRAME:041563/0739

Effective date: 20150429

AS Assignment

Owner name: CAVIUM, LLC, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:CAVIUM, INC.;REEL/FRAME:047577/0653

Effective date: 20180924

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STPP Information on status: patent application and granting procedure in general

Free format text: AWAITING TC RESP, ISSUE FEE PAYMENT VERIFIED

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: CAVIUM INTERNATIONAL, CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CAVIUM, LLC;REEL/FRAME:051948/0807

Effective date: 20191231

AS Assignment

Owner name: MARVELL ASIA PTE, LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CAVIUM INTERNATIONAL;REEL/FRAME:053179/0320

Effective date: 20191231

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4