  Traffic splitting is a required functionality in networks, for example for
load balancing over multiple paths or among different servers. The capacities
of the servers determine the partition by which traffic should be split. A
recent approach implements traffic splitting within the ternary content
addressable memory (TCAM), which is often available in switches. It is
important to reduce the amount of memory allocated for this task since TCAMs
are power consuming and are often also required for other tasks such as
classification and routing. Previous work showed how to compute the smallest
prefix-matching TCAM necessary to implement a given partition exactly. In this
paper we solve the more practical case, where at most $n$ prefix-matching TCAM
rules are available, restricting the ability to implement exactly the desired
partition. We give simple and efficient algorithms to find $n$ rules that
generate a partition closest in $L_\infty$ to the desired one. We do the same
for a one-sided version of $L_\infty$ which equals to the maximum overload on a
server and for a relative version of it. We use our algorithms to evaluate how
the expected error changes as a function of the number of rules, the number of
servers, and the width of the TCAM.
