1461109822-51569324-e6aa-4948-8096-bde2bbd99c93

1. A process of filtering packet data in a network device, said process comprising:
accessing a descriptor table to obtain a first descriptor;
extracting a first field from a packet based on the first descriptor, wherein the first field is used to identify the descriptor to be used to extract a second field of the packet;
accessing an action table based on a value of the first field of the packet;
executing an action from said action table when a valid bit from said action table for said action is set; and
executing a miss action from a miss action table when a valid bit from said action table for said action is not set.
2. A process as recited in claim 1, wherein said step of accessing a descriptor table to obtain a first descriptor comprises accessing a descriptor table to obtain a first descriptor and an offset and said step of extracting a first field from a packet based on the first descriptor comprises extracting a first field from a packet by accessing a section of the packet set by the first descriptor and offset by the offset.
3. A process as recited in claim 1, wherein said process is performed for each row of the descriptor table.
4. A process as recited in claim 1, wherein said step of extracting a first field from a packet based on the first descriptor comprises extracting a first field from a packet header of the packet based on the first descriptor.
5. A process as recited in claim 1, further comprising:
checking a mode associated with said first descriptor; and
determining at least one next step based on said mode.
6. A process as recited in claim 5, wherein said at least one next step comprising:
indexing into the action table based on said value of said first field of the packet.
7. A process as recited in claim 5, wherein said at least one next step comprising:
hashing into a value table using said value of said first field of the packet; and
obtaining an action table index from said value table for use with the action table.
8. A process as recited in claim 5, wherein said at least one next step comprising:
hashing into a value table using said value of said first field of the packet;
obtaining a second descriptor field index from said value table;
indexing into a second descriptor table using the second descriptor field index to obtain a second descriptor;
extracting a second field from the packet based on the second descriptor; and
accessing said action table using a value of said second field as an index into said action table.
9. A process as recited in claim 5, wherein said at least one next step comprising:
indexing into a second descriptor table based on said value of said first field to obtain a second descriptor;
extracting a second field from the packet based on the second descriptor
hashing into a value table using said value of said second field of the packet; and
obtaining an action table index from said value table for use with the action table.
10. A method of handling data packets in a network device, said method comprising:
receiving a packet at a port interface;
reading at least one portion of said packet;
filtering said at least one portion according to the filtering process recited in claim 1; and
discarding, forwarding, or modifying the packet based upon the filtering process.
11. A packet filter for a network device, said filter comprising:
first accessing means for accessing a descriptor table to obtain a first descriptor;
first extracting means for extracting a first field from a packet based on the first descriptor and for identifying the descriptor to be used to extract a second field of the packet;
second accessing means for accessing an action table based on a value of the first field of the packet;
first executing means for executing an action from said action table when a valid bit from said action table for said action is set; and
second executing means for executing a miss action from a miss action table when a valid bit from said action table for said action is not set.
12. A packet filter for a network device as recited in claim 11, wherein said first accessing means comprises third accessing means for accessing a descriptor table to obtain a first descriptor and an offset and said first extracting means comprises third extracting means for extracting a first field from a packet by accessing a section of the packet set by the first descriptor and offset by the offset.
13. A packet filter for a network device as recited in claim 11, wherein said first accessing means is configured to access each row of the descriptor table.
14. A packet filter for a network device as recited in claim 11, wherein said first extracting means comprises third extracting means for extracting a first field from a packet header of the packet based on the first descriptor.
15. A packet filter for a network device as recited in claim 11, further comprising:
checking means for checking a mode associated with said first descriptor; and
determining means for determining what additional elements of the packet filter are utilized based on said mode.
16. A packet filter for a network device as recited in claim 15, wherein said filter further comprises:
indexing means for indexing into the action table based on said value of said first field of the packet.
17. A packet filter for a network device as recited in claim 15, wherein said filter further comprises:
hashing means for hashing into a value table using said value of said first field of the packet; and
obtaining means for obtaining an action table index from said value table for use with the action table.
18. A packet filter for a network device as recited in claim 15, wherein said filter further comprises:
hashing means for hashing into a value table using said value of said first field of the packet;
obtaining means for obtaining a second descriptor field index from said value table;
indexing means for indexing into a second descriptor table using the second descriptor field index to obtain a second descriptor;
extracting means for extracting a second field from the packet based on the second descriptor; and
third accessing means for accessing said action table using a value of said second field as an index into said action table.
19. A packet filter for a network device as recited in claim 15, wherein said filter further comprises:
indexing means for indexing into a second descriptor table based on said value of said first field to obtain a second descriptor;
extracting means for extracting a second field from the packet based on the second descriptor
hashing means for hashing into a value table using said value of said second field of the packet; and
obtaining means for obtaining an action table index from said value table for use with the action table.
20. A network device, said device comprising:
receiving means for receiving a packet at a port interface;
reading means for reading at least one portion of said packet;
a packet filter as recited in claim 11; and
means for discarding, forwarding, or modifying the packet based upon a result from the packet filter.
21. A packet filter for a network device, said filter comprising:
a first retriever for accessing a descriptor table to obtain a first descriptor;
a first extractor for extracting a first field from a packet based on the first descriptor and for identifying the descriptor to be used to extract a second field of the packet;
a second retriever means for accessing an action table based on a value of the first field of the packet;
a first executor for executing an action from said action table when a valid bit from said action table for said action is set; and
a second executor for executing a miss action from a miss action table when a valid bit from said action table for said action is not set.
22. A packet filter for a network device as recited in claim 21, wherein said first retriever comprises a third retriever for accessing a descriptor table to obtain a first descriptor and an offset and said first extractor comprises a third extractor for extracting a first field from a packet by accessing a section of the packet set by the first descriptor and offset by the offset.
23. A packet filter for a network device as recited in claim 21, wherein said first retriever is configured to access each row of the descriptor table.
24. A packet filter for a network device as recited in claim 21, wherein said first extractor comprises a third extractor for extracting a first field from a packet header of the packet based on the first descriptor.
25. A packet filter for a network device as recited in claim 21, further comprising:
a checker for checking a mode associated with said first descriptor; and
a chooser for determining what additional elements of the packet filter are utilized based on said mode.
26. A packet filter for a network device as recited in claim 25, wherein said filter further comprises:
an indexer for indexing into the action table based on said value of said first field of the packet.
27. A packet filter for a network device as recited in claim 25, wherein said filter further comprises:
a hashing retriever for hashing into a value table using said value of said first field of the packet; and
a selector for obtaining an action table index from said value table for use with the action table.
28. A packet filter for a network device as recited in claim 25, wherein said filter further comprises:
a hashing retriever for hashing into a value table using said value of said first field of the packet;
a selector for obtaining a second descriptor field index from said value table;
an indexer for indexing into a second descriptor table using the second descriptor field index to obtain a second descriptor;
an extractor for extracting a second field from the packet based on the second descriptor; and
a third retriever for accessing said action table using a value of said second field as an index into said action table.
29. A packet filter for a network device as recited in claim 25, wherein said filter further comprises:
an indexer for indexing into a second descriptor table based on said value of said first field to obtain a second descriptor;
an extractor for extracting a second field from the packet based on the second descriptor
a hashing retriever for hashing into a value table using said value of said second field of the packet; and
a selector for obtaining an action table index from said value table for use with the action table.
30. A network device, said device comprising:
a receiver for receiving a packet at a port interface;
a reader for reading at least one portion of said packet;
a packet filter as recited in claim 21; and
a decider for discarding, forwarding, or modifying the packet based upon a result from the packet filter.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A reusable facemask, comprising:
a filter layer of material sized to filter out and trap particles having a size range of known contaminant particles; and
a porous layer of material located adjacent to the filter layer and adapted to continually sanitize contaminant particles trapped by the filter layer and contaminant particles passing through the porous layer by releasing free ions of elements selected from the group consisting of silver and copper.
2. The facemask of claim 1, further comprising a second porous layer adapted to release free ions of elements selected from the group consisting of silver and copper and located on an opposite side of the filter layer from the first said porous layer to form an inside surface of the mask shaped to contact the face of a wearer of the mask.
3. The facemask of claim 2, further comprising a second filter layer located adjacent and in contact with the first said filter layer, wherein the first said filter layer and the second filter layer trap and filter out different sizes of particles.
4. The face mask of claim 2, wherein the first said porous layer, the filter layer, and the second porous layer are sandwiched together and molded to shape the facemask respirator.
5. The facemask of claim 4, wherein the shape of the mask is heat molded.
6. The facemask of claim 1, wherein the porous layer includes zeolite carriers embedded at the surface of fibers and adapted to release free ions of elements selected from the group consisting of silver and copper to sanitize contaminant particles trapped in the inner filter layer and particles located within the vicinity of the porous layer.
7. The facemask of claim 6, wherein the zeolite carriers hold silver and copper.
8. The facemask of claim 1, wherein the porous layer is adapted to sanitize contaminant particles including bacteria and viruses.
9. The facemask of claim 1, wherein the first said porous layer and the filter layer are sealed together around a periphery to form the facemask respirator.
10. The facemask of claim 1, wherein the filter layer is located inside of the porous layer when the mask is worn to protect the wearer from airborne contaminants.
11. The facemask of claim 1, wherein the filter layer is located outside of the porous layer when the mask is worn to retain airborne contaminants exhaled by the wearer.
12. A method for protecting a person from airborne contaminant exposure, comprising the steps of
filtering breathing air for a person with a filter sized to filter out and trap particles having a size range of known contaminant particles; and
continually sanitizing particles trapped in the filter by continually releasing ions of elements selected from the group consisting of silver and copper, in the vicinity of particles trapped in the filter and particles located in the vicinity of the filter.
13. The method of claim 12, wherein the steps of filtering and sanitizing are performed by a face mask.
14. The method of claim 13, wherein the step of sanitizing is performed by a first layer of material located on the face mask.
15. The method of claim 14, wherein the step of filtering is performed by a second layer of material located adjacent the first layer in the face mask in a position to filter either incoming air or outgoing air which has already passed through the first layer.
16. The method of claim 12, further comprising the step of rendering the mask reusable by continually releasing free ions to sanitize the mask over time.
17. The method of claim 12, wherein the continually releasing of ions is performed by zeolite carriers holding silver and copper.
18. A method of manufacturing a reusable facemask respirator, comprising the steps of:
combining a filter layer of material adapted to filter out and trap particles having a size range of known contaminant particles and a porous layer of material adapted to continually sanitize contaminant particles by releasing free ions of silver and copper; and
sealing the filter layer and the porous layer together around a periphery shaped to form a face mask.
19. The method of claim 18, wherein the step of combining includes adding a second porous layer adapted to release ions of silver and copper and located on an opposite side of the filter layer from the first said porous layer.
20. The method of claim 19, wherein the step of combining includes adding a second filter layer located adjacent and in contact with the first said filter layer, and further wherein the first said filter layer and the second filter layer tray and filter out different sizes of particles.
21. The method of claim 20, further comprising the steps of sandwiching together the first said porous layer, the filter layer, the second filter layer and the second porous layer and molding the sandwiched layers to shape the facemask respirator.
22. The method of claim 21, wherein the step of molding includes heat molding.
23. (canceled)
24. (canceled)
25. (canceled)
26. (canceled)