Merge branch 'master' into net-next

This commit is contained in:
Stephen Hemminger 2016-08-29 10:57:02 -07:00
commit f7708201f8
3 changed files with 18 additions and 19 deletions

View File

@ -417,22 +417,22 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
fprintf(fp, "dev %s ", ll_index_to_name(*(int *)RTA_DATA(tb[RTA_OIF])));
if (table && (table != RT_TABLE_MAIN || show_details > 0) && !filter.tb)
fprintf(fp, " table %s ", rtnl_rttable_n2a(table, b1, sizeof(b1)));
fprintf(fp, "table %s ", rtnl_rttable_n2a(table, b1, sizeof(b1)));
if (!(r->rtm_flags&RTM_F_CLONED)) {
if ((r->rtm_protocol != RTPROT_BOOT || show_details > 0) && filter.protocolmask != -1)
fprintf(fp, " proto %s ", rtnl_rtprot_n2a(r->rtm_protocol, b1, sizeof(b1)));
fprintf(fp, "proto %s ", rtnl_rtprot_n2a(r->rtm_protocol, b1, sizeof(b1)));
if ((r->rtm_scope != RT_SCOPE_UNIVERSE || show_details > 0) && filter.scopemask != -1)
fprintf(fp, " scope %s ", rtnl_rtscope_n2a(r->rtm_scope, b1, sizeof(b1)));
fprintf(fp, "scope %s ", rtnl_rtscope_n2a(r->rtm_scope, b1, sizeof(b1)));
}
if (tb[RTA_PREFSRC] && filter.rprefsrc.bitlen != host_len) {
/* Do not use format_host(). It is our local addr
and symbolic name will not be useful.
*/
fprintf(fp, " src %s ",
fprintf(fp, "src %s ",
rt_addr_n2a_rta(r->rtm_family, tb[RTA_PREFSRC]));
}
if (tb[RTA_PRIORITY])
fprintf(fp, " metric %u ", rta_getattr_u32(tb[RTA_PRIORITY]));
fprintf(fp, "metric %u ", rta_getattr_u32(tb[RTA_PRIORITY]));
if (r->rtm_flags & RTNH_F_DEAD)
fprintf(fp, "dead ");
if (r->rtm_flags & RTNH_F_ONLINK)
@ -450,9 +450,9 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
if (mark) {
if (mark >= 16)
fprintf(fp, " mark 0x%x", mark);
fprintf(fp, "mark 0x%x ", mark);
else
fprintf(fp, " mark %u", mark);
fprintf(fp, "mark %u ", mark);
}
}

View File

@ -26,10 +26,10 @@ police - policing action
.ti -8
.IR CONTROL " :="
.BI conform-exceed " EXCEEDACT\fR[\fB/\fIEXCEEDACT"
.BI conform-exceed " EXCEEDACT\fR[\fB/\fINOTEXCEEDACT"
.ti -8
.IR EXCEEDACT " := { "
.IR EXCEEDACT/NOTEXCEEDACT " := { "
.BR pipe " | " ok " | " reclassify " | " drop " | " continue " }"
.SH DESCRIPTION
The
@ -94,11 +94,9 @@ Fine-tune the in-kernel packet rate estimator.
are time values and control the frequency in which samples are taken and over
what timespan an average is built.
.TP
.BI conform-exceed " EXCEEDACT\fR[\fB/\fIEXCEEDACT\fR]"
Define how to handle packets which exceed (and, if the second
.I EXCEEDACT
is given, also those who don't), the configured bandwidth limit. Possible values
are:
.BI conform-exceed " EXCEEDACT\fR[\fB/\fINOTEXCEEDACT\fR]"
Define how to handle packets which exceed or conform the
configured bandwidth limit. Possible values are:
.RS
.IP continue
Don't do anything, just continue with the next action in line.

View File

@ -36,11 +36,12 @@ static void usage(void)
{
fprintf(stderr, "Usage: ... police rate BPS burst BYTES[/BYTES] [ mtu BYTES[/BYTES] ]\n");
fprintf(stderr, " [ peakrate BPS ] [ avrate BPS ] [ overhead BYTES ]\n");
fprintf(stderr, " [ linklayer TYPE ] [ ACTIONTERM ]\n");
fprintf(stderr, " [ linklayer TYPE ] [ CONTROL ]\n");
fprintf(stderr, "New Syntax ACTIONTERM := conform-exceed <EXCEEDACT>[/NOTEXCEEDACT]\n");
fprintf(stderr, "Where: *EXCEEDACT := pipe | ok | reclassify | drop | continue\n");
fprintf(stderr, "Where: pipe is only valid for new syntax\n");
fprintf(stderr, "Where: CONTROL := conform-exceed <EXCEEDACT>[/NOTEXCEEDACT]\n");
fprintf(stderr, " Define how to handle packets which exceed (<EXCEEDACT>)\n");
fprintf(stderr, " or conform (<NOTEXCEEDACT>) the configured bandwidth limit.\n");
fprintf(stderr, " EXCEEDACT/NOTEXCEEDACT := { pipe | ok | reclassify | drop | continue }\n");
exit(-1);
}
@ -322,7 +323,7 @@ int print_police(struct action_util *a, FILE *f, struct rtattr *arg)
if (tb[TCA_POLICE_RESULT]) {
__u32 action = rta_getattr_u32(tb[TCA_POLICE_RESULT]);
fprintf(f, "/%s", action_n2a(action));
fprintf(f, "/%s ", action_n2a(action));
} else
fprintf(f, " ");