Method and system for downloading software managed trees in a network processing system
First Claim
1. A method for updating an existing frame classifier tree within a network processing system having a plurality of network processors, at least one control point processor, a first storage unit and a second storage unit, wherein said frame classifier tree is stored in a first location within said first storage unit, said method comprising:
- building a classifier tree on said at least one control point processor;
specifying a subset of said plurality of network processors as download targets for said classifier tree;
downloading said classifier tree from said at least one control point processor to said subset of said plurality of network processors and to a second location within said second storage unit;
transferring control of frame processing to said classifier tree from an existing frame classifier tree by changing an active tree pointers from an address of said first location to an address of said second location within said subset of said plurality of network processors;
in response a completion of said control transfer, purging said classifier tree from said first storage unit;
downloading said classifier tree to said first location within said first storage unit; and
changing said active tee pointer to said address of said first location.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for downloading software managed trees (SMTs) in a network processing system provides dynamic update of frame classifiers while maintaining proper network protocol processing. The network processing system includes a general purpose processor acting as control point processor and a plurality of network processors. The new SMT is built by an application on the control point processor and downloaded to one or more of the network processors. The new SMT is placed in a separate memory location accessible to the network processors, rather then overwriting the existing SMT. The active tree pointers are then changed to transfer control to the new SMT.
-
Citations
18 Claims
-
1. A method for updating an existing frame classifier tree within a network processing system having a plurality of network processors, at least one control point processor, a first storage unit and a second storage unit, wherein said frame classifier tree is stored in a first location within said first storage unit, said method comprising:
-
building a classifier tree on said at least one control point processor;
specifying a subset of said plurality of network processors as download targets for said classifier tree;
downloading said classifier tree from said at least one control point processor to said subset of said plurality of network processors and to a second location within said second storage unit;
transferring control of frame processing to said classifier tree from an existing frame classifier tree by changing an active tree pointers from an address of said first location to an address of said second location within said subset of said plurality of network processors;
in response a completion of said control transfer, purging said classifier tree from said first storage unit;
downloading said classifier tree to said first location within said first storage unit; and
changing said active tee pointer to said address of said first location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
determining whether or not an error condition exists on a particular one of said subset of said plurality of network processors during performance of said downloading; and
in response to a determination that said error condition exists, discontinuing said downloading on said particular network processor, and continuing said downloading on a remainder of said subset of said plurality of network processors.
-
-
4. The method of claim 1, wherein said method further includes:
-
determining whether or not an error condition exists on a particular one of said subset of said plurality of network processors during performance of said downloading; and
in response to a determination that said error condition exists, discontinuing performance of said downloading.
-
-
5. The method of claim 1, wherein said method further includes:
-
determining whether or not said classifier tree exists within at least one of said subset of said plurality of network processors; and
in response to a determination that said classifier tree exists within at least one of said plurality of network processors, excluding said at least one network processor from said subset of said plurality of network processors.
-
-
6. The method of claim 1, wherein said network processing system includes an application program, and wherein said method further includes:
-
requesting addition of an element to said classifier tree, wherein said requesting is performed by said application program; and
returning a token associated with said element to said application program.
-
-
7. The method of claim 6, wherein said method further includes preventing addition of another element beneath said element in said classifier tree unless said token is specified in said request.
-
8. The method of claim 1, wherein said network processing system includes a first storage unit and a second storage unit, and wherein said frame classifier is stored in a first location within said first storage unit, wherein said downloading downloads said classifier tree to a second location within said second storage unit, and wherein said transferring changes said active tree pointer from an address of said first location to an address of said second location.
-
9. The method of claim 1, wherein said first storage unit has an address range specified by a predetermined state of an address bit and said second storage unit has an address range specified by a complementary state of said address bit, wherein said transferring changes said active tree pointer by complementing said address bit within said pointer and said changing subsequently complements said address bit within said pointer to restore a value of said pointer to correspond to said first location.
-
10. A network processing system comprising:
-
at least one control point processor for building a classifier tree;
a plurality of network processors;
a first memory coupled to said at least one network processor, wherein a frame classifier tree is stored within a fist location;
a second memory coupled to said at least one network processor, wherein said control point processor downloads said classifier tree to a second location within said second memory, said at least one network processor changes said active tree pointer from an address of said first location to an address of said second location, wherein said at least one network processor purges said classifier tree from said first memory responsive to changing said active tree pointer, wherein said control point processor downloads said classifier tree to said first location within said first memory and said network processor changes said active tree pointer to an address of said first location after said classifier tree has been copied, and purging said classifier tree from said second memory;
means for specifying a subset of said plurality of network processors as download targets for said classifier tree;
means for downloading said classifier tree from said at least one control point processor to said subset of said plurality of network processors; and
means for transferring control of frame processing to said classifier tree from an existing frame classifier tree by changing active tree pointers within said subset of said plurality of network processors. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
means for requesting addition of an element to said classifier tree; and
means for returning a token associated with said element to said application program.
-
-
16. The network processing system of claim 15, wherein said network processing system further includes means for preventing addition of another element beneath said element in said classifier tree unless said token is specified in a request.
-
17. The network processing system of claim 10, wherein said network processing system further includes:
-
a first memory coupled to said at least one processor, wherein said fame classifier tree is stored within a first location; and
a second memory coupled to said at least one network processor, wherein said control point processor downloads said classifier tree to a second location within said second memory, and said at least one network processor changes said active tree pointer from an address of said first location to an address of said second location.
-
-
18. The network processing system of claim 10, wherein said first memory includes an address range specified by a state of an address bit and said second memory includes an address range specified by a complementary state of said address bit, wherein said at least one network processor changes said active tree pointer by complementing said address bit within said pointer and said changing means also complements said address bit within said pointer to restore a value of said pointer to correspond to said first location.
Specification