Method and apparatus for implementing forwarding decision shortcuts at a network switch
First Claim
1. A method for implementing forwarding decision shortcuts at a switch for packets routed between subnetworks of a computer network, the method comprising the steps of:
- rendering, at a router, a forwarding decision for routing a first packet of a particular type over the network;
establishing a shortcut entry in a shortcut table of the switch using information contained in a network layer header of the first packet;
receiving a subsequent packet of the particular type at the switch;
determining whether the shortcut entry has been established for the subsequent packet; and
if so, implementing a forwarding decision shortcut for the subsequent packet at the switch based upon contents of the shortcut entry;
wherein the shortcut entry contains a pointer between a medium access control address and the information contained in the network layer header of the first packet.
0 Assignments
0 Petitions
Accused Products
Abstract
A shortcut technique implements forwarding decision shortcuts at a switch for frames routed between subnetworks of a computer network. The switch monitors the flow of a first frame of a particular type to and from the router, which renders a forwarding decision for routing the frame. The switch records information stored in network layer header of a packet encapsulated within the first frame, and then compares that information with the information stored in network layer headers of packets contained within subsequent frames of that particular type. Forwarding decisions for these subsequent frames are then rendered by hardware logic circuits of the switch rather than by the router.
59 Citations
36 Claims
-
1. A method for implementing forwarding decision shortcuts at a switch for packets routed between subnetworks of a computer network, the method comprising the steps of:
-
rendering, at a router, a forwarding decision for routing a first packet of a particular type over the network;
establishing a shortcut entry in a shortcut table of the switch using information contained in a network layer header of the first packet;
receiving a subsequent packet of the particular type at the switch;
determining whether the shortcut entry has been established for the subsequent packet; and
if so,implementing a forwarding decision shortcut for the subsequent packet at the switch based upon contents of the shortcut entry;
wherein the shortcut entry contains a pointer between a medium access control address and the information contained in the network layer header of the first packet. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A switch for implementing forwarding decision shortcuts for packets routed between subnetworks of a computer network, a forwarding decision for a first packet being rendered by a router, the switch comprising:
-
a forwarding table containing information specifying whether a medium access control (MAC) address associated with the packet identifies a special destination, the forwarding table further containing information specifying a pointer between the MAC address and network layer flow information contained in the packet;
a forwarding engine coupled to the forwarding table and to access the forwarding table to determine whether a subsequent packet is a candidate for a forwarding decision shortcut;
a shortcut table containing the flow information; and
a shortcut engine coupled to the shortcut table and forwarding engine, the shortcut engine to access the shortcut table to one of insert a candidate entry into the shortcut table and establish a shortcut entry in the shortcut table. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A mechanism for implementing forwarding decision shortcuts at a switch for packets of a particular type routed between subnetworks of a computer network, the mechanism comprising:
-
means for receiving a candidate packet of the particular type at the switch;
means for inserting predetermined information pertaining to the candidate packet into a shortcut table of the switch;
means for passing the candidate packet from the switch to a router;
means for rendering, at the router, a forwarding decision for the candidate packet;
means for passing the candidate packet from the router to the switch as an enable packet of the particular type;
means for comparing the inserted information with respective predetermined information pertaining to the enable packet;
means for, if the information matches, establishing a shortcut entry in the shortcut table;
means for receiving a subsequent packet of the particular type at the switch;
means for determining whether the shortcut entry has been established for the subsequent packet; and
means for routing the subsequent packet from the switch over the network based upon contents of the shortcut entry if the shortcut entry has been established for the subsequent packet;
wherein the shortcut entry contains a pointer between a medium access control address and information contained in a network layer header of the subsequent packet. - View Dependent Claims (20)
-
-
21. A mechanism for implementing forwarding decision shortcuts at a switch for packets routed between subnetworks of a computer network, the mechanism comprising:
-
means for rendering, at a router, a forwarding decision for routing a first packet of a particular type over the network;
means for establishing a shortcut entry in a shortcut table of the switch using information contained in a network layer header of the first packet;
means for receiving a subsequent packet of the particular type at the switch;
means for determining whether the shortcut entry has been established for the subsequent packet; and
means for implementing a forwarding decision shortcut for the subsequent packet at the switch based upon contents of the shortcut entry if the shortcut entry has been established for the subsequent packet;
wherein the shortcut entry contains a pointer between a medium access control address and the information contained in the network layer header of the first packet. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. Computer-readable memory comprising computer-executable instructions that when executed implement forwarding decision shortcuts at a switch for packets routed between subnetworks of a computer network, the instructions, when executed, also causing:
-
rendering, at a router, of a forwarding decision for routing a first packet of a particular type over the network;
establishing of a shortcut entry in a shortcut table of the switch using information contained in a network layer header of the first packet;
receiving of a subsequent packet of the particular type at the switch;
determining of whether the shortcut entry has been established for the subsequent packet of the subsequent frame; and
if so,implementing of a forwarding decision shortcut for the subsequent packet at the switch based upon contents of the shortcut entry;
wherein the shortcut entry contains a pointer between a medium access control address and the information contained in the network layer header of the first packet. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. Computer-readable memory comprising computer-readable instructions that when executed cause implementing of forwarding decision shortcuts at a switch for packets of a particular type routed between subnetworks of a computer network, the instructions when executed also causing:
-
receiving of a candidate packet of the particular type at the switch;
inserting of predetermined information pertaining to the candidate packet into a shortcut table of the switch;
passing of the candidate packet from the switch to a router;
rendering, at the router, of a forwarding decision for the candidate packet;
passing of the candidate packet from the router to the switch as an enable packet of the particular type;
comparing of the inserted information with respective predetermined information pertaining to the enable packet;
if the information matches, establishing of a shortcut entry in the shortcut table;
receiving of a subsequent packet of the particular type at the switch;
determining of whether the shortcut entry has been established for the subsequent packet; and
if so,routing of the subsequent packet from the switch over the network based upon contents of the shortcut entry;
wherein the shortcut entry contains a pointer between a medium access control address and information contained in a network layer header of the subsequent packet. - View Dependent Claims (34)
-
-
35. A mechanism for implementing forwarding decision short-cuts at a switch for packets of a particular type routed between subnetworks of a computer network, the mechanism comprising:
-
a reception mechanism that receives a candidate packet of the particular type at the switch;
a processor that is to maintain, in operation, a shortcut table of the switch, the processor also to insert, in operation, predetermined information pertaining to the candidate packet into the shortcut table;
a transmission mechanism that transmits the candidate packet from the switch to a router, the router to render a forwarding decision for the candidate packet;
another transmission mechanism that transmits the candidate packet from the router to the switch as an enable packet of the particular type;
the processor also to compare, in operation, the inserted information with respective predetermined information pertaining to the enable packet, and if the information matches, to establish, in operation, a shortcut entry in the shortcut table;
the reception mechanism also receiving a subsequent packet of the particular type at the switch;
the processor additionally to determine, in operation, whether the shortcut entry has been established for the subsequent packet; and
a routing mechanism that routes the subsequent packet from the switch over the network based upon contents of the shortcut entry, if the shortcut entry has been established for the subsequent packet;
wherein the shortcut entry contains a pointer between a medium access control address and information contained in a network layer header of the subsequent packet. - View Dependent Claims (36)
-
Specification