A non-transitory computer-readable storage medium (214, 254) including instructions that, when executed by a processor, cause the processor to perform the steps of: selecting, from a listing of network prefixes, a plurality of network prefixes that are within a range of a subnet; grouping the plurality of network prefixes based on similar routing information to generate one or more subgroups of network prefixes; selecting a first subgroup of network prefixes included in the one or more subgroups of network prefixes such that the first subgroup of network prefixes is a subgroup included in the one or more subgroups containing a greatest number of network prefixes; wherein the grouping includes: determining whether a level of similarity between routing information associated with the first subgroup of network prefixes exceeds a threshold level, wherein routing information associated with a first network prefix included in the first subgroup of network prefixes is different than routing information associated with a second network prefix included in the first subgroup of network prefixes; the level of similarity of routing information is determined from a number of matching values of components of the routing information of the first network prefix and corresponding values of components of the second network prefix; wherein when it is determined that the threshold level is exceeded the first network prefix and the second network prefix are included in the first subgroup of network prefixes; generating a synthetic supernet entry including the first subgroup of network prefixes and routing information based on an aggregation of routing information that matches between the routing information of each network prefix in the first subgroup of network prefixes; installing the synthetic supernet in a forwarding table and at least one of: removing the first subgroup of network prefixes from the forwarding table; and determining that the first subgroup of network prefixes should not be written from a routing table to the forwarding table. selecting, from a listing of network prefixes, a plurality of network prefixes that are within a range of a subnet; grouping the plurality of network prefixes based on similar routing information to generate one or more subgroups of network prefixes; selecting a first subgroup of network prefixes included in the one or more subgroups of network prefixes such that the first subgroup of network prefixes is a subgroup included in the one or more subgroups containing a greatest number of network prefixes; wherein the grouping includes: determining whether a level of similarity between routing information associated with the first subgroup of network prefixes exceeds a threshold level, wherein routing information associated with a first network prefix included in the first subgroup of network prefixes is different than routing information associated with a second network prefix included in the first subgroup of network prefixes; the level of similarity of routing information is determined from a number of matching values of components of the routing information of the first network prefix and corresponding values of components of the second network prefix; wherein when it is determined that the threshold level is exceeded the first network prefix and the second network prefix are included in the first subgroup of network prefixes; determining whether a level of similarity between routing information associated with the first subgroup of network prefixes exceeds a threshold level, wherein routing information associated with a first network prefix included in the first subgroup of network prefixes is different than routing information associated with a second network prefix included in the first subgroup of network prefixes; the level of similarity of routing information is determined from a number of matching values of components of the routing information of the first network prefix and corresponding values of components of the second network prefix; wherein when it is determined that the threshold level is exceeded the first network prefix and the second network prefix are included in the first subgroup of network prefixes; generating a synthetic supernet entry including the first subgroup of network prefixes and routing information based on an aggregation of routing information that matches between the routing information of each network prefix in the first subgroup of network prefixes; installing the synthetic supernet in a forwarding table and at least one of: removing the first subgroup of network prefixes from the forwarding table; and determining that the first subgroup of network prefixes should not be written from a routing table to the forwarding table. removing the first subgroup of network prefixes from the forwarding table; and determining that the first subgroup of network prefixes should not be written from a routing table to the forwarding table.