P
US9203735B2ActiveUtilityPatentIndex 63

Packet forwarding apparatus and method

Assignee: MARVELL ISRAEL MISL LTDPriority: Feb 14, 2007Filed: Feb 24, 2014Granted: Dec 1, 2015
Est. expiryFeb 14, 2027(~0.6 yrs left)· nominal 20-yr term from priority
Inventors:MELMAN DAVIDARAD NIRBISHARA NAFEA
H04L 45/00H04L 49/351H04L 12/4625H04L 45/60H04L 12/46H04L 49/109H04L 45/04H04L 45/08
63
PatentIndex Score
2
Cited by
40
References
23
Claims

Abstract

A network device includes a plurality of physical ports configured to be coupled to one or more networks, and a processor device configured to process packets. The processor device includes a processor configured to implement a logical port assignment mechanism to assign source logical port information to a data packet received via a source physical port of the plurality of physical ports. The source logical port information is assigned based on one or more characteristics of the data packet, and the source logical port information corresponds to a logical entity that is different from any physical port. The processor device also includes a forwarding engine processor configured to determine one or more egress logical ports for forwarding the data packet, map the egress logical port(s) to respective egress physical port(s) of the plurality of physical ports, and forward the data packet to the egress physical port(s) based on the mapping.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A network device, comprising:
 a plurality of physical ports configured to be coupled to one or more networks; and 
 a packet processor coupled to the physical ports of the plurality of physical ports and configured to process packets received via one or more source physical ports of the plurality of physical ports, the packet processor comprising
 a processor configured to implement a logical port assignment mechanism to assign source logical port information to a data packet received via a source physical port of the one or more source physical ports, wherein the source logical port information is assigned based on one or more characteristics of the data packet, and wherein the source logical port information corresponds to a logical entity that is different from any physical port, and wherein the packet processor is configured to perform additional processing of the data packet using the source logical port information assigned to the data packet, and 
 a forwarding engine processor coupled to the processor configured to implement the logical port assignment mechanism, wherein the forwarding engine is configured to further process the data packet processed by the processor configured to implement the logical port assignment mechanism, including (i) determining one or more egress logical ports for forwarding the data packet, (ii) mapping the one or more egress logical ports to respective one or more egress physical ports of the plurality of physical ports, and (iii) forwarding the data packet to the one or more egress physical ports determined based on the mapping; 
 
 wherein the packet processor is further configured to cause the data packet to egress via the one or more egress physical ports to which the data packet was forwarded by the forwarding engine. 
 
     
     
       2. The network device of  claim 1 , wherein the forwarding engine processor is configured to perform the additional processing of the data packet using the source logical port information, and wherein the additional processing includes determining the one or more egress logical ports for forwarding the data packet based on at least the source logical port information. 
     
     
       3. The network device of  claim 1 , wherein the forwarding engine processor is configured to map at least one of the one or more egress logical ports to a tunnel interface to be applied to the data packet. 
     
     
       4. The network device of  claim 1 , wherein the forwarding engine processor is configured to learn an address based on the assigned source logical port information. 
     
     
       5. The network device of  claim 4 , wherein the address is a source media access control (MAC) address included in the data packet. 
     
     
       6. The network device of  claim 1 , wherein the logical port assignment mechanism provides an indication of the source logical port information in a packet descriptor that is associated with the data packet. 
     
     
       7. The network device of  claim 1 , wherein the logical port assignment mechanism provides an indication of the source logical port information in a packet header of the data packet. 
     
     
       8. The network device of  claim 7 , wherein the logical port assignment mechanism assigns the source logical port information to the data packet based on at least one or more of (i) the source physical port, (ii) one or more virtual local area network identifier (VID) tags in the data packet, (iii) one or more multiprotocol label switching (MPLS) labels in the data packet, (iv) media access control (MAC) header information in the data packet, or (v) Internet Protocol (IP) header information in the data packet. 
     
     
       9. The network device of  claim 1 , wherein at least a portion of the packet processor is configured to execute machine-readable instructions, stored in a memory, to perform processing of the packets received via one or more source physical ports of the plurality of physical ports. 
     
     
       10. The network device of  claim 9 , wherein the processor is configured to execute machine-readable instructions, stored in the memory, to implement the logical port assignment mechanism. 
     
     
       11. A method comprising:
 assigning, by a network device and based on one or more characteristics of a data packet received via a source physical port of a plurality of physical ports of the network device, source logical port information to the data packet, wherein the source logical port information corresponds to a logical entity that is different from any physical port; 
 performing, by the network device, additional processing of the data packet using the source port logical information assigned to the data packet; 
 determining, by the network device, one or more egress logical ports for forwarding the data packet; 
 mapping, by the network device, the one or more egress logical ports to respective one or more egress physical ports of the plurality of physical ports; and 
 forwarding the data packet to the one or more egress physical ports based on the mapping. 
 
     
     
       12. The method of  claim 11 , further comprising mapping, by the network device, at least one of the one or more egress logical ports to a tunnel interface to be applied to the data packet. 
     
     
       13. The method of  claim 11 , further comprising learning, by the network device, an address based on the assigned source logical port information. 
     
     
       14. The method of  claim 11 , wherein assigning the source logical port information to the data packet is based on at least one or more of (i) the source physical port, (ii) one or more virtual local area network identifier (VID) tags in the data packet, (iii) one or more multiprotocol label switching (MPLS) labels in the data packet, (iv) media access control (MAC) header information in the data packet, or (v) Internet Protocol (IP) header information in the data packet. 
     
     
       15. A network device comprising:
 a receiver block configured to couple to at least one source physical port; 
 a transmitter block configured to couple to at least one egress physical port; 
 a packet processor, coupled to the receiver block and to the transmitter block, and configured to process packets received via one or more of the at least one source physical port, the packet processor comprising
 a processor configured to implement a logical port assignment mechanism to assign source logical port information to a data packet received via one of the one or more source physical ports, wherein the source logical port information is assigned based on one or more characteristics of the data packet, wherein the source logical port information corresponds to a logical entity that is different from any source physical port, and wherein the packet processor is configured to perform additional processing of the data packet using the source logical port information assigned to the data packet, and 
 a forwarding engine processor coupled to the processor configured to implement the logical port assignment mechanism, wherein the forwarding engine processor is configured to further process the data packet processed by the processor configured to implement the logical port assignment mechanism, including determining at least one of (i) one or more egress physical ports, or (ii) one or more egress logical ports, for forwarding the data packet; 
 
 wherein the packet processor is further configured to cause the data packet to egress via at least one of (i) the one or more egress physical ports determined by the forwarding engine processor or (ii) one or more egress physical ports corresponding to the one or more egress logical ports determined by the forwarding engine. 
 
     
     
       16. The network device of  claim 15 , wherein the forwarding engine processor is configured to (i) determine the one or more egress logical ports, (ii) map each of the one or more egress logical ports to a respective one or more egress physical ports of the at least one egress physical port, and (iii) forward the data packet to the one or more egress physical ports based on the mapping. 
     
     
       17. The network device of  claim 16 , wherein the forwarding engine processor is configured to map at least one of the one or more egress logical ports to a tunnel interface to be applied to the data packet. 
     
     
       18. The network device of  claim 15 , wherein the forwarding engine processor is configured to learn an address based on the assigned source logical port information. 
     
     
       19. The network device of  claim 15 , wherein at least a portion of the packet processor is configured to execute machine-readable, stored in a memory, to perform processing of the packets received via one or more source physical ports of the plurality of physical ports. 
     
     
       20. The network device of  claim 19 , wherein the processor is configured to execute machine-readable instructions, stored in the memory, to implement the logical port assignment mechanism. 
     
     
       21. A method comprising:
 assigning, by a network device and based on one or more characteristics of a data packet received via a source physical port of the network device, source logical port information to the data packet, wherein the source logical port information corresponds to a logical entity that is different from any source physical port; 
 performing, by the network device, additional processing of the data packet using the source port logical information assigned to the data packet; and 
 determining, by the network device, at least one of (i) one or more egress physical ports of the network device, or (ii) one or more egress logical ports, for forwarding the data packet. 
 
     
     
       22. The method of  claim 21 , wherein the method includes:
 determining, by the network device, the one or more egress logical ports; 
 mapping, by the network device, the one or more egress logical ports to the one or more egress physical ports of the network device; and 
 forwarding the data packet to the one or more egress physical ports based on the mapping. 
 
     
     
       23. The method of  claim 22 , wherein the method further comprises mapping at least one of the one or more egress logical ports to a tunnel interface to be applied to the data packet.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.