IP Library › Granted Patent US 7,742,408
Granted Patent B2
US 7,742,408 · App. 11/462,513 · Granted Jun 22, 2010

System and method for filtering packets in a switching environment

Assignee: Fujitsu Limited
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,742,408
App. No.
11/462,513
Granted
Jun 22, 2010
Kind
B2
Abstract

In particular embodiments of the present invention, a method for filtering packets in a switching environment is provided. In particular embodiments, the method includes receiving a packet at an input port of a switch, the switch comprising a memory and one or more output ports. The method also includes storing at least a portion of the packet in the memory and determining one or more output ports from which the packet is to be communicated from the switch. The method further includes, after beginning to determine one or more output ports from which the packet is to be communicated from the switch, determining whether the packet is an illegal packet. The method also includes, if the packet is an illegal packet, dropping the packet from the memory, and if the packet is a legal packet, communicating the packet from the determined one or more output ports.

Claims (28)

1. A method for filtering packets in a switching environment, comprising:

receiving a packet at an input port of a switch, the switch comprising a memory and one or more output ports;

storing at least a portion of the packet in the memory;

determining one or more output ports from which the packet is to be communicated from the switch;

after beginning to determine one or more output ports from which the packet is to be communicated from the switch, determining whether the packet is an illegal packet;

if the packet is an illegal packet, dropping the packet from the memory; and

if the packet is a legal packet, communicating the packet from the determined one or more output ports;

wherein the switch comprises a drop queue and wherein the memory is logically divided into a plurality of blocks, the method further comprising allocating at least a first block and a second block of memory to the input port to store the packet, and wherein dropping the packet from the memory comprises:

sending a drop request for the first block to the drop queue; and

reusing the second block at the input port for storage of another packet without sending a drop request for the second block to the drop queue and without waiting for the second block to be released to a pool of available blocks.

2. The method of claim 1 , wherein determining whether the packet is an illegal packet comprises determining whether the packet comprises less bytes than a minimum required number of bytes.

3. The method of claim 1 , further comprising:

after determining whether the packet is an illegal packet, issuing a flag identifying whether the packet is an illegal packet;

buffering the flag until the one or more output ports from which the packet is to be communicated from the switch are determined; and

using the flag, determining whether to drop the packet or communicate the packet from the determined output ports.

4. The method of claim 1 , further comprising releasing the blocks of memory allocated to storing packets associated with drop requests in the drop queue to allow reallocation of the released blocks of memory to one or more input ports for storage of one or more other packets in the released blocks of memory.

5. A system for filtering packets in a switching environment, comprising:

an input port of a switch configured to receive a packet, the input port associated with an input port module;

a memory of the switch configured to store at least a portion of the packet, the memory logically divided into a plurality of blocks;

a routing module of the switch configured to determine one or more output ports of the switch from which the packet is to be communicated from the switch, the input port module configured to determine whether the packet is an illegal packet after the routing module begins to determine the one or more output ports from which the packet is to be communicated from the switch;

a central agent of the switch comprising a drop queue and configured to drop at least some of the packet from the memory if the packet is an illegal packet; and

one or more output ports of the switch configured to communicate the packet from the switch if the packet is a legal packet and if the one or more output ports are determined by the routing module;

wherein the central agent is further configured to allocate at least a first block and a second block of memory to the input port to store the packet, and wherein, if the packet is an illegal packet:

the routing module is further configured to send a drop request for the first block to the drop queue; and

the input port module is further configured to reuse the second block for storage of another packet without a drop request for the second block being sent to the drop queue and without waiting for the second block to be released to a pool of available blocks.

6. The system of claim 5 , wherein determining whether the packet is an illegal packet comprises determining whether the packet comprises less bytes than a minimum required number of bytes.

7. The system of claim 5 , wherein the input port module is further configured to issue a flag identifying whether the packet is an illegal packet after determining whether the packet is an illegal packet, the routing module further configured to buffer the flag until the one or more output ports from which the packet is to be communicated from the switch are determined, the routing module further configured to determine whether to drop the packet or communicate the packet from the determined output ports using the flag.

8. The system of claim 5 , wherein the central agent is configured to release the blocks of memory allocated to storing packets associated with drop requests in the drop queue to allow reallocation of the released blocks of memory to one or more input ports for storage of one or more other packets in the released blocks of memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2006
From: MIYOSHI, TAKASHI (NMI); NAKAGAWA, YUKIHIRO (NMI); SHIMIZU, TAKESHI (NMI)
To: FUJITSU LIMITED
Reel/Frame 018055/0842 →
Continuity (1)
Related Publication 20080123525A1 · May 29, 2008