CONFIGURING FORWARDING INFORMATION
Based on an example, a network apparatus may calculate N equal-cost multi paths to a destination address; sort the N equal-cost multi paths into an order to obtain a sorted result; the sorted result specifying an order from a first ECMP to an Nth ECMP; populate an ECMP table with ECMP entries, each ECMP entry comprising forwarding information associated with a respective ECMP; wherein the ECMP table comprises M entries, wherein M is greater than N, and wherein the ECMP table is populated with ECMP entries according to the order of equal-cost multi paths in the sorted result, and wherein the order is treated in a circular manner such that the N+1th ECMP table entry is populated with forwarding information associated with the first table entry and wherein M=2 n , N≧2, N, M and n are natural numbers.
1 . A method for configuring forwarding information, comprising:
calculating N equal-cost multi paths to a destination address;
sorting the N equal-cost multi paths into an order to obtain a sorted result;
the sorted result specifying an order from a first ECMP to an Nth ECMP;
populating an ECMP table with ECMP entries, each ECMP entry comprising forwarding information associated with a respective ECMP;
wherein the ECMP table comprises M entries, wherein M is greater than N, and wherein the ECMP table is populated with ECMP entries according to the order of equal-cost multi paths in the sorted result, and wherein the order is treated in a circular manner such that the N+1th ECMP table entry is populated with forwarding information associated with the first table entry and wherein M=2 n , N≧2, N, M and n are natural numbers.
2 . The method of claim 1 , further comprising:
determining at least one of the N equal-cost multi paths is failed, and the remaining are normal equal-cost multi paths;
replacing each respective ECMP entry associated with the failed path with an entry including forwarding information of a respective normal path; the respective normal paths being selected according to the order of equal-cost multi paths in the sorted result.
3 . The method of claim 1 , wherein
if M is an integer multiple of N, the M ECMP entries are divided into └M/N┘ groups; each group comprises N ECMP entries conforming to the sorted result, wherein └ ┘ denotes a round-down operation.
4 . The method of claim 1 , wherein if M is not an integer multiple of N, the M ECMP entries are divided into └M/N┘+1 groups; each group from the first group to the └M/N┘ group comprises N ECMP entries conforming to the sorted result; the └M/N┘+1 group comprises M−└M/N┘×N ECMP entries conforming to the sorted result, wherein └ ┘ denotes a round-down operation.
5 . The method of claim 2 , further comprising:
re-calculating equal-cost multi paths to the same destination address;
deleting all of the ECMP entries in the ECMP table in response to determine that forwarding information of a path in the recalculated equal-cost multi paths is not stored in the ECMP table,
sorting the re-calculated equal-cost multi paths to obtain a new sorted result;
populating the ECMP table with the number M ECMP entries according to the order of re-calculated equal-cost multi paths in the new sorted result.
6 . An apparatus for configuring forwarding information, comprising:
a processor;
a memory;
wherein one or more program modules are stored in the memory and to be executed by the processor, the one or more program modules comprise:
a calculating module, to calculate N equal-cost multi paths to a destination address;
a sorting module, to sort the N equal-cost multi paths into an order to obtain a sorted result; the sorted result specifying an order from a first ECMP to an Nth ECMP; and
a configuring module, to
populate an ECMP table with ECMP entries, each ECMP entry comprising forwarding information associated with a respective ECMP;
wherein the ECMP table comprises M entries, wherein M is greater than N, and wherein the ECMP table is populated with ECMP entries according to the order of equal-cost multi paths in the sorted result, and wherein the order is treated in a circular manner such that the N+1th ECMP table entry is populated with forwarding information associated with the first table entry and wherein M=2 n , N≧2, N, M and n are natural numbers.
7 . The apparatus of claim 6 , further comprising:
a failure determining module, to determine at least one of the N equal-cost multi paths is failed, and the remaining are normal equal-cost multi paths; and
a replacing module, to replace each respective ECMP entry associated with the failed path with an entry including forwarding information of a respective normal path; the respective normal paths being selected according to the order of equal-cost multi paths in the sorted result.
8 . The apparatus of claim 6 , wherein
if M is an integer multiple of N, the M ECMP entries are divided into └M/N┘ groups; each group comprises N ECMP entries conforming to the sorted result, wherein └ ┘ denotes a round-down operation.
9 . The apparatus of claim 6 , wherein if M is not an integer multiple of N, the M ECMP entries are divided into └M/N┘+1 groups; each group from the first group to the └M/N┘ group comprises N ECMP entries conforming to the sorted result; the └M/N┘+1 group comprises M−└M/N┘×N ECMP entries conforming to the sorted result, wherein └ ┘ denotes a round-down operation.
10 . The apparatus of claim 6 , further comprising: a deleting module; wherein
the calculating module is further to re-calculate equal-cost multi paths to the same destination address;
the deleting module is to delete deleting all of the ECMP entries in the ECMP table in response to determine that forwarding information of a path in the re-calculated equal-cost multi paths is not stored in the ECMP table;
the sorting module is further to sort the re-calculated equal-cost multi paths to obtain a new sorted result; and
the configuring module is further to populate the ECMP table with the number M ECMP entries according to the order of recalculated equal-cost multi paths in the new sorted result.