Commit 63a0f20a authored by Andreas Henriksson's avatar Andreas Henriksson Committed by Stephen Hemminger

iproute2: drop equalize support

Currently you can configure "equalize" and it looks all fine and dandy.
The kernel has the interface defined, but apparently there's never actually
been any implementation for it (only a never merged patch in the 2.4 era).

I'm suggesting to drop the code to give any potential users of this feature
the benefit of receiving a proper error message. I see it unlikely that
this will be implemented in the near future, but if it ever happens
reviving the iproute2 side should be as easy as git revert this patch.

For more details see http://bugs.debian.org/149897
parent a982e10a
......@@ -1390,14 +1390,6 @@ database.
even if it does not match any interface prefix. One application of this
option may be found in~\cite{IP-TUNNELS}.
\item \verb|equalize|
--- allow packet by packet randomization on multipath routes.
Without this modifier, the route will be frozen to one selected
nexthop, so that load splitting will only occur on per-flow base.
\verb|equalize| only works if the kernel is patched.
\end{itemize}
......
......@@ -73,7 +73,6 @@ static void usage(void)
fprintf(stderr, " unreachable | prohibit | blackhole | nat ]\n");
fprintf(stderr, "TABLE_ID := [ local | main | default | all | NUMBER ]\n");
fprintf(stderr, "SCOPE := [ host | link | global | NUMBER ]\n");
fprintf(stderr, "FLAGS := [ equalize ]\n");
fprintf(stderr, "MP_ALGO := { rr | drr | random | wrandom }\n");
fprintf(stderr, "NHFLAGS := [ onlink | pervasive ]\n");
fprintf(stderr, "RTPROTO := [ kernel | boot | static | NUMBER ]\n");
......@@ -382,8 +381,6 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
fprintf(fp, "onlink ");
if (r->rtm_flags & RTNH_F_PERVASIVE)
fprintf(fp, "pervasive ");
if (r->rtm_flags & RTM_F_EQUALIZE)
fprintf(fp, "equalize ");
if (r->rtm_flags & RTM_F_NOTIFY)
fprintf(fp, "notify ");
......@@ -423,9 +420,7 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
PRTFL(FAST, "fastroute");
PRTFL(NOTIFY, "notify");
PRTFL(TPROXY, "proxy");
#ifdef RTCF_EQUALIZE
PRTFL(EQUALIZE, "equalize");
#endif
if (flags)
fprintf(fp, "%s%x> ", first ? "<" : "", flags);
if (tb[RTA_CACHEINFO]) {
......@@ -878,9 +873,6 @@ int iproute_modify(int cmd, unsigned flags, int argc, char **argv)
addattr32(&req.n, sizeof(req), RTA_FLOW, realm);
} else if (strcmp(*argv, "onlink") == 0) {
req.r.rtm_flags |= RTNH_F_ONLINK;
} else if (matches(*argv, "equalize") == 0 ||
strcmp(*argv, "eql") == 0) {
req.r.rtm_flags |= RTM_F_EQUALIZE;
} else if (strcmp(*argv, "nexthop") == 0) {
nhs_ok = 1;
break;
......
......@@ -212,10 +212,6 @@ throw " | " unreachable " | " prohibit " | " blackhole " | " nat " ]"
.BR host " | " link " | " global " |"
.IR NUMBER " ]"
.ti -8
.IR FLAGS " := [ "
.BR equalize " ]"
.ti -8
.IR NHFLAGS " := [ "
.BR onlink " | " pervasive " ]"
......@@ -1596,14 +1592,6 @@ to assign (or not to assign) protocol tags.
pretend that the nexthop is directly attached to this link,
even if it does not match any interface prefix.
.TP
.B equalize
allow packet by packet randomization on multipath routes.
Without this modifier, the route will be frozen to one selected
nexthop, so that load splitting will only occur on per-flow base.
.B equalize
only works if the kernel is patched.
.SS ip route delete - delete route
.B ip route del
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment