mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2026-01-04 08:33:21 +00:00
Merge branch 'master' into net-next
This commit is contained in:
commit
53e16e395b
@ -103,8 +103,13 @@ int print_fdb(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
|
||||
|
||||
if (tb[NDA_DST]) {
|
||||
SPRINT_BUF(abuf);
|
||||
int family = AF_INET;
|
||||
|
||||
if (RTA_PAYLOAD(tb[NDA_DST]) == sizeof(struct in6_addr))
|
||||
family = AF_INET6;
|
||||
|
||||
fprintf(fp, "dst %s ",
|
||||
format_host(AF_INET,
|
||||
format_host(family,
|
||||
RTA_PAYLOAD(tb[NDA_DST]),
|
||||
RTA_DATA(tb[NDA_DST]),
|
||||
abuf, sizeof(abuf)));
|
||||
|
||||
@ -332,7 +332,7 @@ int print_route(const struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
|
||||
|
||||
if (n->nlmsg_type == RTM_DELROUTE)
|
||||
fprintf(fp, "Deleted ");
|
||||
if (r->rtm_type != RTN_UNICAST && !filter.type)
|
||||
if ((r->rtm_type != RTN_UNICAST || show_details > 0) && !filter.type)
|
||||
fprintf(fp, "%s ", rtnl_rtntype_n2a(r->rtm_type, b1, sizeof(b1)));
|
||||
|
||||
if (tb[RTA_DST]) {
|
||||
@ -389,11 +389,11 @@ 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 (!(r->rtm_flags&RTM_F_CLONED)) {
|
||||
if (table != RT_TABLE_MAIN && !filter.tb)
|
||||
if ((table != RT_TABLE_MAIN || show_details > 0) && !filter.tb)
|
||||
fprintf(fp, " table %s ", rtnl_rttable_n2a(table, b1, sizeof(b1)));
|
||||
if (r->rtm_protocol != RTPROT_BOOT && filter.protocolmask != -1)
|
||||
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)));
|
||||
if (r->rtm_scope != RT_SCOPE_UNIVERSE && filter.scopemask != -1)
|
||||
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)));
|
||||
}
|
||||
if (tb[RTA_PREFSRC] && filter.rprefsrc.bitlen != host_len) {
|
||||
|
||||
18
tc/q_htb.c
18
tc/q_htb.c
@ -62,6 +62,7 @@ static void explain1(char *arg)
|
||||
|
||||
static int htb_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n)
|
||||
{
|
||||
unsigned int direct_qlen = ~0U;
|
||||
struct tc_htb_glob opt;
|
||||
struct rtattr *tail;
|
||||
unsigned i; char *p;
|
||||
@ -86,6 +87,11 @@ static int htb_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nl
|
||||
if (*p<'0' || *p>'3') break;
|
||||
opt.debug |= (*p-'0')<<(2*i);
|
||||
}
|
||||
} else if (matches(*argv, "direct_qlen") == 0) {
|
||||
NEXT_ARG();
|
||||
if (get_u32(&direct_qlen, *argv, 10)) {
|
||||
explain1("direct_qlen"); return -1;
|
||||
}
|
||||
} else {
|
||||
fprintf(stderr, "What is \"%s\"?\n", *argv);
|
||||
explain();
|
||||
@ -96,6 +102,9 @@ static int htb_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nl
|
||||
tail = NLMSG_TAIL(n);
|
||||
addattr_l(n, 1024, TCA_OPTIONS, NULL, 0);
|
||||
addattr_l(n, 2024, TCA_HTB_INIT, &opt, NLMSG_ALIGN(sizeof(opt)));
|
||||
if (direct_qlen != ~0U)
|
||||
addattr_l(n, 2024, TCA_HTB_DIRECT_QLEN,
|
||||
&direct_qlen, sizeof(direct_qlen));
|
||||
tail->rta_len = (void *) NLMSG_TAIL(n) - (void *) tail;
|
||||
return 0;
|
||||
}
|
||||
@ -110,7 +119,6 @@ static int htb_parse_class_opt(struct qdisc_util *qu, int argc, char **argv, str
|
||||
unsigned mtu;
|
||||
unsigned short mpu = 0;
|
||||
unsigned short overhead = 0;
|
||||
unsigned int direct_qlen = ~0U;
|
||||
unsigned int linklayer = LINKLAYER_ETHERNET; /* Assume ethernet */
|
||||
struct rtattr *tail;
|
||||
__u64 ceil64 = 0, rate64 = 0;
|
||||
@ -129,11 +137,6 @@ static int htb_parse_class_opt(struct qdisc_util *qu, int argc, char **argv, str
|
||||
if (get_u32(&mtu, *argv, 10)) {
|
||||
explain1("mtu"); return -1;
|
||||
}
|
||||
} else if (matches(*argv, "direct_qlen") == 0) {
|
||||
NEXT_ARG();
|
||||
if (get_u32(&direct_qlen, *argv, 10)) {
|
||||
explain1("direct_qlen"); return -1;
|
||||
}
|
||||
} else if (matches(*argv, "mpu") == 0) {
|
||||
NEXT_ARG();
|
||||
if (get_u16(&mpu, *argv, 10)) {
|
||||
@ -245,9 +248,6 @@ static int htb_parse_class_opt(struct qdisc_util *qu, int argc, char **argv, str
|
||||
opt.cbuffer = tc_calc_xmittime(ceil64, cbuffer);
|
||||
|
||||
tail = NLMSG_TAIL(n);
|
||||
if (direct_qlen != ~0U)
|
||||
addattr_l(n, 1024, TCA_HTB_DIRECT_QLEN,
|
||||
&direct_qlen, sizeof(direct_qlen));
|
||||
addattr_l(n, 1024, TCA_OPTIONS, NULL, 0);
|
||||
|
||||
if (rate64 >= (1ULL << 32))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user