diff --git a/.gitignore b/.gitignore index fd6d31a..1af7f79 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ -/iproute2-6.8.0.tar.xz -/iproute2-6.10.0.tar.xz -/iproute2-6.12.0.tar.xz -/iproute2-6.14.0.tar.xz -/iproute2-6.16.0.tar.xz -/iproute2-6.17.0.tar.xz +/iproute2-4.18.0.tar.xz +/iproute2-4.20.0.tar.xz +/iproute2-5.0.0.tar.xz +/iproute2-5.1.0.tar.xz +/iproute2-5.2.0.tar.xz diff --git a/0001-Revert-ip6tunnel-fix-ip-6-show-change-dev-name-cmds.patch b/0001-Revert-ip6tunnel-fix-ip-6-show-change-dev-name-cmds.patch new file mode 100644 index 0000000..5964cb0 --- /dev/null +++ b/0001-Revert-ip6tunnel-fix-ip-6-show-change-dev-name-cmds.patch @@ -0,0 +1,41 @@ +From 8cfac8f16a88bac7453da91aeca9e2c4244ca92a Mon Sep 17 00:00:00 2001 +From: Andrea Claudi +Date: Tue, 9 Jul 2019 15:16:50 +0200 +Subject: [PATCH] Revert "ip6tunnel: fix 'ip -6 {show|change} dev ' cmds" + +This reverts commit ba126dcad20e6d0e472586541d78bdd1ac4f1123. +It breaks tunnel creation when using 'dev' parameter: + +$ ip link add type dummy +$ ip -6 tunnel add ip6tnl1 mode ip6ip6 remote 2001:db8:ffff:100::2 local 2001:db8:ffff:100::1 hoplimit 1 tclass 0x0 dev dummy0 +add tunnel "ip6tnl0" failed: File exists + +dev parameter must be used to specify the device to which +the tunnel is binded, and not the tunnel itself. + +Reported-by: Jianwen Ji +Reviewed-by: Matteo Croce +Signed-off-by: Andrea Claudi +Signed-off-by: Stephen Hemminger +(cherry picked from commit ad04dbc5b41df509cd6925eab36af73000632fd2) +Signed-off-by: Phil Sutter +--- + ip/ip6tunnel.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/ip/ip6tunnel.c b/ip/ip6tunnel.c +index 56fd3466ed062..999408ed801b1 100644 +--- a/ip/ip6tunnel.c ++++ b/ip/ip6tunnel.c +@@ -298,8 +298,6 @@ static int parse_args(int argc, char **argv, int cmd, struct ip6_tnl_parm2 *p) + p->link = ll_name_to_index(medium); + if (!p->link) + return nodev(medium); +- else +- strlcpy(p->name, medium, sizeof(p->name)); + } + return 0; + } +-- +2.22.0 + diff --git a/0002-ip-tunnel-warn-when-changing-IPv6-tunnel-without-tun.patch b/0002-ip-tunnel-warn-when-changing-IPv6-tunnel-without-tun.patch new file mode 100644 index 0000000..acf0c21 --- /dev/null +++ b/0002-ip-tunnel-warn-when-changing-IPv6-tunnel-without-tun.patch @@ -0,0 +1,52 @@ +From 141c6e6397d373126bba14982678dd6f1e9fbfd7 Mon Sep 17 00:00:00 2001 +From: Andrea Claudi +Date: Tue, 9 Jul 2019 15:16:51 +0200 +Subject: [PATCH] ip tunnel: warn when changing IPv6 tunnel without tunnel name + +Tunnel change fails if a tunnel name is not specified while using +'ip -6 tunnel change'. However, no warning message is printed and +no error code is returned. + +$ ip -6 tunnel add ip6tnl1 mode ip6gre local fd::1 remote fd::2 tos inherit ttl 127 encaplimit none dev dummy0 +$ ip -6 tunnel change dev dummy0 local 2001:1234::1 remote 2001:1234::2 +$ ip -6 tunnel show ip6tnl1 +ip6tnl1: gre/ipv6 remote fd::2 local fd::1 dev dummy0 encaplimit none hoplimit 127 tclass inherit flowlabel 0x00000 (flowinfo 0x00000000) + +This commit checks if tunnel interface name is equal to an empty +string: in this case, it prints a warning message to the user. +It intentionally avoids to return an error to not break existing +script setup. + +This is the output after this commit: +$ ip -6 tunnel add ip6tnl1 mode ip6gre local fd::1 remote fd::2 tos inherit ttl 127 encaplimit none dev dummy0 +$ ip -6 tunnel change dev dummy0 local 2001:1234::1 remote 2001:1234::2 +Tunnel interface name not specified +$ ip -6 tunnel show ip6tnl1 +ip6tnl1: gre/ipv6 remote fd::2 local fd::1 dev dummy0 encaplimit none hoplimit 127 tclass inherit flowlabel 0x00000 (flowinfo 0x00000000) + +Reviewed-by: Matteo Croce +Signed-off-by: Andrea Claudi +Signed-off-by: Stephen Hemminger +(cherry picked from commit d035cc1b4e83e2589ea2115cdc2fa7c6d3693a5a) +Signed-off-by: Phil Sutter +--- + ip/ip6tunnel.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/ip/ip6tunnel.c b/ip/ip6tunnel.c +index 999408ed801b1..e3da11eb4518e 100644 +--- a/ip/ip6tunnel.c ++++ b/ip/ip6tunnel.c +@@ -386,6 +386,9 @@ static int do_add(int cmd, int argc, char **argv) + if (parse_args(argc, argv, cmd, &p) < 0) + return -1; + ++ if (!*p.name) ++ fprintf(stderr, "Tunnel interface name not specified\n"); ++ + if (p.proto == IPPROTO_GRE) + basedev = "ip6gre0"; + else if (p.i_flags & VTI_ISVTI) +-- +2.22.0 + diff --git a/0003-ip-route-fix-json-formatting-for-metrics.patch b/0003-ip-route-fix-json-formatting-for-metrics.patch new file mode 100644 index 0000000..092ba3e --- /dev/null +++ b/0003-ip-route-fix-json-formatting-for-metrics.patch @@ -0,0 +1,78 @@ +From 9da7fb1dd27624ed6ab62f5595451f43c3a07d2d Mon Sep 17 00:00:00 2001 +From: Andrea Claudi +Date: Mon, 8 Jul 2019 11:36:42 +0200 +Subject: [PATCH] ip-route: fix json formatting for metrics + +Setting metrics for routes currently lead to non-parsable +json output. For example: + +$ ip link add type dummy +$ ip route add 192.168.2.0 dev dummy0 metric 100 mtu 1000 rto_min 3 +$ ip -j route | jq +parse error: ':' not as part of an object at line 1, column 319 + +Fixing this opening a json object in the metrics array and using +print_string() instead of fprintf(). + +This is the output for the above commands applying this patch: + +$ ip -j route | jq +[ + { + "dst": "192.168.2.0", + "dev": "dummy0", + "scope": "link", + "metric": 100, + "flags": [], + "metrics": [ + { + "mtu": 1000, + "rto_min": 3 + } + ] + } +] + +Fixes: 663c3cb23103f ("iproute: implement JSON and color output") +Fixes: 968272e791710 ("iproute: refactor metrics print") +Signed-off-by: Andrea Claudi +Reported-by: Frank Hofmann +Signed-off-by: Stephen Hemminger +(cherry picked from commit 89ce8012d71f5689074dc4cbe3db102cbdf76460) +Signed-off-by: Phil Sutter +--- + ip/iproute.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/ip/iproute.c b/ip/iproute.c +index 1669e0138259e..2f9b612b0b506 100644 +--- a/ip/iproute.c ++++ b/ip/iproute.c +@@ -578,6 +578,7 @@ static void print_rta_metrics(FILE *fp, const struct rtattr *rta) + int i; + + open_json_array(PRINT_JSON, "metrics"); ++ open_json_object(NULL); + + parse_rtattr(mxrta, RTAX_MAX, RTA_DATA(rta), RTA_PAYLOAD(rta)); + +@@ -611,7 +612,7 @@ static void print_rta_metrics(FILE *fp, const struct rtattr *rta) + print_rtax_features(fp, val); + break; + default: +- fprintf(fp, "%u ", val); ++ print_uint(PRINT_ANY, mx_names[i], "%u ", val); + break; + + case RTAX_RTT: +@@ -639,6 +640,7 @@ static void print_rta_metrics(FILE *fp, const struct rtattr *rta) + } + } + ++ close_json_object(); + close_json_array(PRINT_JSON, NULL); + } + +-- +2.22.0 + diff --git a/0004-utils-move-parse_percent-to-tc_util.patch b/0004-utils-move-parse_percent-to-tc_util.patch new file mode 100644 index 0000000..fe3ce46 --- /dev/null +++ b/0004-utils-move-parse_percent-to-tc_util.patch @@ -0,0 +1,113 @@ +From 5b17171ce7363e597009e07fb143522a2d79c77b Mon Sep 17 00:00:00 2001 +From: Andrea Claudi +Date: Fri, 28 Jun 2019 18:03:45 +0200 +Subject: [PATCH] utils: move parse_percent() to tc_util + +As parse_percent() is used only in tc. + +This reduces ip, bridge and genl binaries size: + +$ bloat-o-meter -t bridge/bridge bridge/bridge.new +add/remove: 0/1 grow/shrink: 0/0 up/down: 0/-109 (-109) +Total: Before=50973, After=50864, chg -0.21% + +$ bloat-o-meter -t genl/genl genl/genl.new +add/remove: 0/1 grow/shrink: 0/0 up/down: 0/-109 (-109) +Total: Before=30298, After=30189, chg -0.36% + +$ bloat-o-meter ip/ip ip/ip.new +add/remove: 0/1 grow/shrink: 0/0 up/down: 0/-109 (-109) +Total: Before=674164, After=674055, chg -0.02% + +Signed-off-by: Andrea Claudi +Signed-off-by: David Ahern +(cherry picked from commit 1e5746d5e13d895b63da954f0290cffbb076cefa) +Signed-off-by: Phil Sutter +--- + include/utils.h | 1 - + lib/utils.c | 16 ---------------- + tc/tc_util.c | 16 ++++++++++++++++ + tc/tc_util.h | 1 + + 4 files changed, 17 insertions(+), 17 deletions(-) + +diff --git a/include/utils.h b/include/utils.h +index 927fdc17e09dd..f9a4916b517ab 100644 +--- a/include/utils.h ++++ b/include/utils.h +@@ -145,7 +145,6 @@ int get_addr_rta(inet_prefix *dst, const struct rtattr *rta, int family); + int get_addr_ila(__u64 *val, const char *arg); + + int read_prop(const char *dev, char *prop, long *value); +-int parse_percent(double *val, const char *str); + int get_hex(char c); + int get_integer(int *val, const char *arg, int base); + int get_unsigned(unsigned *val, const char *arg, int base); +diff --git a/lib/utils.c b/lib/utils.c +index be0f11b00280d..5da9a47848966 100644 +--- a/lib/utils.c ++++ b/lib/utils.c +@@ -101,22 +101,6 @@ out: + return -1; + } + +-/* Parse a percent e.g: '30%' +- * return: 0 = ok, -1 = error, 1 = out of range +- */ +-int parse_percent(double *val, const char *str) +-{ +- char *p; +- +- *val = strtod(str, &p) / 100.; +- if (*val == HUGE_VALF || *val == HUGE_VALL) +- return 1; +- if (*p && strcmp(p, "%")) +- return -1; +- +- return 0; +-} +- + int get_hex(char c) + { + if (c >= 'A' && c <= 'F') +diff --git a/tc/tc_util.c b/tc/tc_util.c +index e5d15281581df..53d15e08e9734 100644 +--- a/tc/tc_util.c ++++ b/tc/tc_util.c +@@ -190,6 +190,22 @@ static const struct rate_suffix { + { NULL } + }; + ++/* Parse a percent e.g: '30%' ++ * return: 0 = ok, -1 = error, 1 = out of range ++ */ ++int parse_percent(double *val, const char *str) ++{ ++ char *p; ++ ++ *val = strtod(str, &p) / 100.; ++ if (*val == HUGE_VALF || *val == HUGE_VALL) ++ return 1; ++ if (*p && strcmp(p, "%")) ++ return -1; ++ ++ return 0; ++} ++ + static int parse_percent_rate(char *rate, size_t len, + const char *str, const char *dev) + { +diff --git a/tc/tc_util.h b/tc/tc_util.h +index 825fea36a0809..eb4b60db3fdd7 100644 +--- a/tc/tc_util.h ++++ b/tc/tc_util.h +@@ -101,6 +101,7 @@ int print_tc_classid(char *buf, int len, __u32 h); + char *sprint_tc_classid(__u32 h, char *buf); + + int tc_print_police(FILE *f, struct rtattr *tb); ++int parse_percent(double *val, const char *str); + int parse_police(int *argc_p, char ***argv_p, int tca_id, struct nlmsghdr *n); + + int parse_action_control(int *argc_p, char ***argv_p, +-- +2.22.0 + diff --git a/0005-tc-util-constrain-percentage-in-0-100-interval.patch b/0005-tc-util-constrain-percentage-in-0-100-interval.patch new file mode 100644 index 0000000..d5928f5 --- /dev/null +++ b/0005-tc-util-constrain-percentage-in-0-100-interval.patch @@ -0,0 +1,97 @@ +From 29a5b8d072d06b685c428f15125ff62b8b470064 Mon Sep 17 00:00:00 2001 +From: Andrea Claudi +Date: Sat, 13 Jul 2019 11:44:07 +0200 +Subject: [PATCH] tc: util: constrain percentage in 0-100 interval + +parse_percent() currently allows to specify negative percentages +or value above 100%. However this does not seems to make sense, +as the function is used for probabilities or bandiwidth rates. + +Moreover, using negative values leads to erroneous results +(using Bernoulli loss model as example): + +$ ip link add test type dummy +$ ip link set test up +$ tc qdisc add dev test root netem loss gemodel -10% limit 10 +$ tc qdisc show dev test +qdisc netem 800c: root refcnt 2 limit 10 loss gemodel p 90% r 10% 1-h 100% 1-k 0% + +Using values above 100% we have instead: + +$ ip link add test type dummy +$ ip link set test up +$ tc qdisc add dev test root netem loss gemodel 140% limit 10 +$ tc qdisc show dev test +qdisc netem 800f: root refcnt 2 limit 10 loss gemodel p 40% r 60% 1-h 100% 1-k 0% + +This commit changes parse_percent() with a check to ensure +percentage values stay between 1.0 and 0.0. +parse_percent_rate() function, which already employs a similar +check, is adjusted accordingly. + +With this check in place, we have: + +$ ip link add test type dummy +$ ip link set test up +$ tc qdisc add dev test root netem loss gemodel -10% limit 10 +Illegal "loss gemodel p" + +Fixes: 927e3cfb52b58 ("tc: B.W limits can now be specified in %.") +Signed-off-by: Andrea Claudi +Signed-off-by: Stephen Hemminger +(cherry picked from commit 6bc13e4a20f50e9c37d5a504c78222913c433fd3) +Signed-off-by: Phil Sutter +--- + tc/tc_util.c | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/tc/tc_util.c b/tc/tc_util.c +index 53d15e08e9734..b90d256c33a4a 100644 +--- a/tc/tc_util.c ++++ b/tc/tc_util.c +@@ -198,7 +198,7 @@ int parse_percent(double *val, const char *str) + char *p; + + *val = strtod(str, &p) / 100.; +- if (*val == HUGE_VALF || *val == HUGE_VALL) ++ if (*val > 1.0 || *val < 0.0) + return 1; + if (*p && strcmp(p, "%")) + return -1; +@@ -226,16 +226,16 @@ static int parse_percent_rate(char *rate, size_t len, + if (ret != 1) + goto malf; + +- if (parse_percent(&perc, str_perc)) ++ ret = parse_percent(&perc, str_perc); ++ if (ret == 1) { ++ fprintf(stderr, "Invalid rate specified; should be between [0,100]%% but is %s\n", str); ++ goto err; ++ } else if (ret == -1) { + goto malf; ++ } + + free(str_perc); + +- if (perc > 1.0 || perc < 0.0) { +- fprintf(stderr, "Invalid rate specified; should be between [0,100]%% but is %s\n", str); +- return -1; +- } +- + rate_bit = perc * dev_mbit * 1000 * 1000; + + ret = snprintf(rate, len, "%lf", rate_bit); +@@ -247,8 +247,9 @@ static int parse_percent_rate(char *rate, size_t len, + return 0; + + malf: +- free(str_perc); + fprintf(stderr, "Specified rate value could not be read or is malformed\n"); ++err: ++ free(str_perc); + return -1; + } + +-- +2.22.0 + diff --git a/0006-devlink-Change-devlink-health-dump-show-command-to-d.patch b/0006-devlink-Change-devlink-health-dump-show-command-to-d.patch new file mode 100644 index 0000000..a0688e3 --- /dev/null +++ b/0006-devlink-Change-devlink-health-dump-show-command-to-d.patch @@ -0,0 +1,64 @@ +From f12ee1269f04a5f4ab5c18326004af32da4061ae Mon Sep 17 00:00:00 2001 +From: Aya Levin +Date: Wed, 10 Jul 2019 14:03:19 +0300 +Subject: [PATCH] devlink: Change devlink health dump show command to dumpit + +Although devlink health dump show command is given per reporter, it +returns large amounts of data. Trying to use the doit cb results in +OUT-OF-BUFFER error. This complementary patch raises the DUMP flag in +order to invoke the dumpit cb. We're safe as no existing drivers +implement the dump health reporter option yet. + +Fixes: 041e6e651a8e ("devlink: Add devlink health dump show command") +Signed-off-by: Aya Levin +Signed-off-by: Tariq Toukan +Acked-by: Jiri Pirko +Signed-off-by: Stephen Hemminger +(cherry picked from commit b4d97ef57fd4b7669971ed209065a72d115dffc2) +Signed-off-by: Phil Sutter +--- + devlink/devlink.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/devlink/devlink.c b/devlink/devlink.c +index 5618ba26d6fb3..9c338cb4ccc84 100644 +--- a/devlink/devlink.c ++++ b/devlink/devlink.c +@@ -6072,13 +6072,13 @@ static int cmd_fmsg_object_cb(const struct nlmsghdr *nlh, void *data) + return MNL_CB_OK; + } + +-static int cmd_health_object_common(struct dl *dl, uint8_t cmd) ++static int cmd_health_object_common(struct dl *dl, uint8_t cmd, uint16_t flags) + { + struct fmsg_cb_data data; + struct nlmsghdr *nlh; + int err; + +- nlh = mnlg_msg_prepare(dl->nlg, cmd, NLM_F_REQUEST | NLM_F_ACK); ++ nlh = mnlg_msg_prepare(dl->nlg, cmd, flags | NLM_F_REQUEST | NLM_F_ACK); + + err = dl_argv_parse_put(nlh, dl, + DL_OPT_HANDLE | DL_OPT_HEALTH_REPORTER_NAME, 0); +@@ -6093,12 +6093,16 @@ static int cmd_health_object_common(struct dl *dl, uint8_t cmd) + + static int cmd_health_dump_show(struct dl *dl) + { +- return cmd_health_object_common(dl, DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET); ++ return cmd_health_object_common(dl, ++ DEVLINK_CMD_HEALTH_REPORTER_DUMP_GET, ++ NLM_F_DUMP); + } + + static int cmd_health_diagnose(struct dl *dl) + { +- return cmd_health_object_common(dl, DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE); ++ return cmd_health_object_common(dl, ++ DEVLINK_CMD_HEALTH_REPORTER_DIAGNOSE, ++ 0); + } + + static int cmd_health_recover(struct dl *dl) +-- +2.22.0 + diff --git a/0007-devlink-Fix-binary-values-print.patch b/0007-devlink-Fix-binary-values-print.patch new file mode 100644 index 0000000..a91296f --- /dev/null +++ b/0007-devlink-Fix-binary-values-print.patch @@ -0,0 +1,83 @@ +From 4aaf5d7099e7b985973b49f59ceef9b1fd6f6810 Mon Sep 17 00:00:00 2001 +From: Aya Levin +Date: Wed, 10 Jul 2019 14:03:20 +0300 +Subject: [PATCH] devlink: Fix binary values print + +Fix function pr_out_binary_value() to start printing the binary buffer +from offset 0 instead of offset 1. Remove redundant new line at the +beginning of the output + +Example: +With patch: + mlx5e_txqsq: + 05 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 00 8e 6e 3a 13 07 00 00 00 + 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + c0 +Without patch + mlx5e_txqsq: + + 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 + 00 00 00 00 00 00 00 8e 6e 3a 13 07 00 00 00 00 + 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0 + +Fixes: 844a61764c6f ("devlink: Add helper functions for name and value separately") +Signed-off-by: Aya Levin +Signed-off-by: Tariq Toukan +Signed-off-by: Stephen Hemminger +(cherry picked from commit 1d05cca2fd70a5bc8a9f4e978aa5629dbc99a973) +Signed-off-by: Phil Sutter +--- + devlink/devlink.c | 24 +++++++++++++----------- + 1 file changed, 13 insertions(+), 11 deletions(-) + +diff --git a/devlink/devlink.c b/devlink/devlink.c +index 9c338cb4ccc84..5dff974c93c93 100644 +--- a/devlink/devlink.c ++++ b/devlink/devlink.c +@@ -1779,29 +1779,31 @@ static void pr_out_uint64_value(struct dl *dl, uint64_t value) + pr_out(" %"PRIu64, value); + } + ++static bool is_binary_eol(int i) ++{ ++ return !(i%16); ++} ++ + static void pr_out_binary_value(struct dl *dl, uint8_t *data, uint32_t len) + { +- int i = 1; ++ int i = 0; + + if (dl->json_output) + jsonw_start_array(dl->jw); +- else +- pr_out("\n"); + + while (i < len) { +- if (dl->json_output) { ++ if (dl->json_output) + jsonw_printf(dl->jw, "%d", data[i]); +- } else { +- pr_out(" %02x", data[i]); +- if (!(i % 16)) +- pr_out("\n"); +- } ++ else ++ pr_out("%02x ", data[i]); + i++; ++ if (!dl->json_output && is_binary_eol(i)) ++ __pr_out_newline(); + } + if (dl->json_output) + jsonw_end_array(dl->jw); +- else if ((i - 1) % 16) +- pr_out("\n"); ++ else if (!is_binary_eol(i)) ++ __pr_out_newline(); + } + + static void pr_out_str_value(struct dl *dl, const char *value) +-- +2.22.0 + diff --git a/0008-devlink-Remove-enclosing-array-brackets-binary-print.patch b/0008-devlink-Remove-enclosing-array-brackets-binary-print.patch new file mode 100644 index 0000000..b9d6096 --- /dev/null +++ b/0008-devlink-Remove-enclosing-array-brackets-binary-print.patch @@ -0,0 +1,47 @@ +From a5d73c80107321aafd1e2007a059a7eb950412d7 Mon Sep 17 00:00:00 2001 +From: Aya Levin +Date: Wed, 10 Jul 2019 14:03:21 +0300 +Subject: [PATCH] devlink: Remove enclosing array brackets binary print with + json format + +Keep pr_out_binary_value function only for printing. Inner relations +like array grouping should be done outside the function. + +Fixes: 844a61764c6f ("devlink: Add helper functions for name and value separately") +Signed-off-by: Aya Levin +Signed-off-by: Tariq Toukan +Signed-off-by: Stephen Hemminger +(cherry picked from commit f359942a25d368ccf2e47b79f95db2798e09f7a4) +Signed-off-by: Phil Sutter +--- + devlink/devlink.c | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/devlink/devlink.c b/devlink/devlink.c +index 5dff974c93c93..ebb1de3eb2eaa 100644 +--- a/devlink/devlink.c ++++ b/devlink/devlink.c +@@ -1788,9 +1788,6 @@ static void pr_out_binary_value(struct dl *dl, uint8_t *data, uint32_t len) + { + int i = 0; + +- if (dl->json_output) +- jsonw_start_array(dl->jw); +- + while (i < len) { + if (dl->json_output) + jsonw_printf(dl->jw, "%d", data[i]); +@@ -1800,9 +1797,7 @@ static void pr_out_binary_value(struct dl *dl, uint8_t *data, uint32_t len) + if (!dl->json_output && is_binary_eol(i)) + __pr_out_newline(); + } +- if (dl->json_output) +- jsonw_end_array(dl->jw); +- else if (!is_binary_eol(i)) ++ if (!dl->json_output && !is_binary_eol(i)) + __pr_out_newline(); + } + +-- +2.22.0 + diff --git a/0009-json-fix-backslash-escape-typo-in-jsonw_puts.patch b/0009-json-fix-backslash-escape-typo-in-jsonw_puts.patch new file mode 100644 index 0000000..52d01b1 --- /dev/null +++ b/0009-json-fix-backslash-escape-typo-in-jsonw_puts.patch @@ -0,0 +1,30 @@ +From 742a2436d344ac15330c56a2326c03c8c56686a5 Mon Sep 17 00:00:00 2001 +From: Ivan Delalande +Date: Wed, 17 Jul 2019 18:15:31 -0700 +Subject: [PATCH] json: fix backslash escape typo in jsonw_puts + +Fixes: fcc16c22 ("provide common json output formatter") +Signed-off-by: Ivan Delalande +Signed-off-by: Stephen Hemminger +(cherry picked from commit ed54f76484b5ee47b190a202ecf29fce60d0d878) +Signed-off-by: Phil Sutter +--- + lib/json_writer.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/json_writer.c b/lib/json_writer.c +index 5004c181e6225..88c5eb8882254 100644 +--- a/lib/json_writer.c ++++ b/lib/json_writer.c +@@ -75,7 +75,7 @@ static void jsonw_puts(json_writer_t *self, const char *str) + fputs("\\b", self->out); + break; + case '\\': +- fputs("\\n", self->out); ++ fputs("\\\\", self->out); + break; + case '"': + fputs("\\\"", self->out); +-- +2.22.0 + diff --git a/README.etc b/README.etc deleted file mode 100644 index 6fc09c3..0000000 --- a/README.etc +++ /dev/null @@ -1,16 +0,0 @@ -You are looking for your iproute2 config in /etc/iproute2 and it's gone? - -Here's an explanation on what's going on: - -From v6.5.0, iproute2 supports stateless configuration pattern. This -means that iproute2 now read its config from /etc/iproute2/FOO, and, -if it does not exist, fall back to /usr/share/iproute2/FOO. - -You can find iproute2 default configuration in /usr/share/iproute2, -while you can store your user-modified config files in /etc/iproute2. - -/usr/share/iproute2 files are not supposed to be manually modified. - -If a previous update broke your user config for iproute2, you may -have one or more ".rpmsave" files in /etc/iproute2. You can restore -your config simply dropping the ".rpmsave" suffix from the file name. diff --git a/iproute.spec b/iproute.spec index 77088b9..07fc76b 100644 --- a/iproute.spec +++ b/iproute.spec @@ -1,42 +1,39 @@ +%global cbq_version v0.7.3 Summary: Advanced IP routing and network device configuration tools Name: iproute -Version: 6.17.0 -Release: %autorelease -URL: https://kernel.org/pub/linux/utils/net/%{name}2/ -Source0: https://kernel.org/pub/linux/utils/net/%{name}2/%{name}2-%{version}.tar.xz -%if 0%{?rhel} -Source1: rt_dsfield.deprecated -%endif -Source2: README.etc +Version: 5.2.0 +Release: 1%{?dist} +URL: http://kernel.org/pub/linux/utils/net/%{name}2/ +Source0: http://kernel.org/pub/linux/utils/net/%{name}2/%{name}2-%{version}.tar.xz -License: GPL-2.0-or-later AND NIST-PD +Patch1: 0001-Revert-ip6tunnel-fix-ip-6-show-change-dev-name-cmds.patch +Patch2: 0002-ip-tunnel-warn-when-changing-IPv6-tunnel-without-tun.patch +Patch3: 0003-ip-route-fix-json-formatting-for-metrics.patch +Patch4: 0004-utils-move-parse_percent-to-tc_util.patch +Patch5: 0005-tc-util-constrain-percentage-in-0-100-interval.patch +Patch6: 0006-devlink-Change-devlink-health-dump-show-command-to-d.patch +Patch7: 0007-devlink-Fix-binary-values-print.patch +Patch8: 0008-devlink-Remove-enclosing-array-brackets-binary-print.patch +Patch9: 0009-json-fix-backslash-escape-typo-in-jsonw_puts.patch + +License: GPLv2+ and Public Domain +BuildRequires: gcc BuildRequires: bison BuildRequires: elfutils-libelf-devel BuildRequires: flex -BuildRequires: gcc BuildRequires: iptables-devel >= 1.4.5 -BuildRequires: libbpf-devel BuildRequires: libcap-devel +BuildRequires: libdb-devel BuildRequires: libmnl-devel BuildRequires: libselinux-devel -BuildRequires: make BuildRequires: pkgconfig %if ! 0%{?_module_build} %if 0%{?fedora} BuildRequires: linux-atm-libs-devel %endif %endif -Requires: libbpf -Requires: psmisc - -# Compat symlinks for Requires in other packages. Provides: /sbin/ip -%if "%{_sbindir}" == "%{_bindir}" -# We rely on filesystem to create the symlink for us. -Requires: filesystem(unmerged-sbin-symlinks) -Provides: /usr/sbin/ip -Provides: /usr/sbin/ss -%endif +Recommends: %{name}-tc %description The iproute package contains networking utilities (ip and rtmon, for example) @@ -45,9 +42,9 @@ kernel. %package tc Summary: Linux Traffic Control utility -License: GPL-2.0-or-later +License: GPLv2+ Requires: %{name}%{?_isa} = %{version}-%{release} -Provides: /sbin/tc +Provides: tc %description tc The Traffic Control utility manages queueing disciplines, their classes and @@ -57,8 +54,7 @@ Linux. %if ! 0%{?_module_build} %package doc Summary: Documentation for iproute2 utilities with examples -License: GPL-2.0-or-later -Requires: %{name} = %{version}-%{release} +License: GPLv2+ %description doc The iproute documentation contains howtos and examples of settings. @@ -66,8 +62,7 @@ The iproute documentation contains howtos and examples of settings. %package devel Summary: iproute development files -License: GPL-2.0-or-later -Requires: %{name} = %{version}-%{release} +License: GPLv2+ Provides: iproute-static = %{version}-%{release} %description devel @@ -77,65 +72,45 @@ The libnetlink static library. %autosetup -p1 -n %{name}2-%{version} %build -%configure --color auto -echo -e "\nPREFIX=%{_prefix}\nSBINDIR=%{_sbindir}" >> config.mk -%make_build +export CFLAGS='%{optflags}' +export LDFLAGS='%{build_ldflags}' +export LIBDIR='%{_libdir}' +export IPT_LIB_DIR='/%{_lib}/xtables' +./configure +make %{?_smp_mflags} %install -%make_install - -echo '.so man8/tc-cbq.8' > %{buildroot}%{_mandir}/man8/cbq.8 +export DESTDIR='%{buildroot}' +export SBINDIR='%{_sbindir}' +export MANDIR='%{_mandir}' +export LIBDIR='%{_libdir}' +export CONFDIR='%{_sysconfdir}/iproute2' +export DOCDIR='%{_docdir}' +make install # libnetlink install -D -m644 include/libnetlink.h %{buildroot}%{_includedir}/libnetlink.h install -D -m644 lib/libnetlink.a %{buildroot}%{_libdir}/libnetlink.a -# drop these files, iproute-doc package extracts files directly from _builddir -rm -rf '%{buildroot}%{_docdir}' - -mkdir -p %{buildroot}%{_sysconfdir}/iproute2 -cp %{SOURCE2} %{buildroot}%{_sysconfdir}/iproute2/README - -# append deprecated values to rt_dsfield for compatibility reasons -%if 0%{?rhel} -cat %{SOURCE1} >>%{buildroot}%{_datadir}/iproute2/rt_dsfield -cp %{SOURCE2} %{buildroot}%{_datadir}/iproute2/README - -# RHEL-94662: restore /etc/iproute2 conf files, if modified -# this is safe because we don't have conf files in /etc/iproute2 anymore, so -# every *.rpmsave file over there is a leftover from a failed conf upgrade - -%posttrans -if [ -f /etc/iproute2/*rpmsave ]; then - for conffile in /etc/iproute2/*rpmsave; do - mv $conffile ${conffile%.rpmsave} - done -fi -%endif - %files %dir %{_sysconfdir}/iproute2 -%dir %{_datadir}/iproute2 +%{!?_licensedir:%global license %%doc} %license COPYING -%doc README README.devel +%doc README README.distribution README.lnstat %{_mandir}/man7/* %exclude %{_mandir}/man7/tc-* %{_mandir}/man8/* %exclude %{_mandir}/man8/tc* -%exclude %{_mandir}/man8/cbq* -%exclude %{_mandir}/man8/arpd* -%attr(644,root,root) %config %{_datadir}/iproute2/* +%attr(644,root,root) %config(noreplace) %{_sysconfdir}/iproute2/* %{_sbindir}/* -%attr(644,root,root) %{_sysconfdir}/iproute2/* %exclude %{_sbindir}/tc -%exclude %{_sbindir}/routel -%{_datadir}/bash-completion/completions/devlink %files tc +%{!?_licensedir:%global license %%doc} %license COPYING +%doc README.iproute2+tc %{_mandir}/man7/tc-* %{_mandir}/man8/tc* -%{_mandir}/man8/cbq* %dir %{_libdir}/tc/ %{_libdir}/tc/* %{_sbindir}/tc @@ -143,11 +118,13 @@ fi %if ! 0%{?_module_build} %files doc +%{!?_licensedir:%global license %%doc} %license COPYING -%doc examples +%doc %{_docdir}/examples %endif %files devel +%{!?_licensedir:%global license %%doc} %license COPYING %{_mandir}/man3/* %{_libdir}/libnetlink.a @@ -155,4 +132,790 @@ fi %{_includedir}/iproute2/bpf_elf.h %changelog -%autochangelog +* Tue Jul 23 2019 Phil Sutter - 5.2.0-1 +- New version 5.2.0 +- Add upstream-suggested backports +- Fix for tunnel creation when using 'dev' parameter + +* Wed May 29 2019 Phil Sutter - 5.1.0-1 +- New version 5.1.0 + +* Wed Mar 20 2019 Phil Sutter - 5.0.0-2 +- Restore Provides: hint, at least pptp depends on it + +* Wed Mar 20 2019 Phil Sutter - 5.0.0-1 +- New version 5.0.0 +- Get rid of old upgrade path hints + +* Fri Feb 01 2019 Phil Sutter - 4.20.0-1 +- New version 4.20.0 +- Add upstream-suggested backports +- Upstream dropped cbq script, remove it along with related configs +- Add libcap support + +* Fri Feb 01 2019 Fedora Release Engineering - 4.18.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Sep 19 2018 Phil Sutter - 4.18.0-5 +- man: ip-route: Clarify referenced versions are Linux ones + +* Fri Aug 31 2018 Phil Sutter - 4.18.0-4 +- iprule: Fix destination prefix output + +* Thu Aug 23 2018 Phil Sutter - 4.18.0-3 +- Make colored output configurable + +* Thu Aug 16 2018 Phil Sutter - 4.18.0-2 +- Fix ss filter expressions + +* Tue Aug 14 2018 Phil Sutter - 4.18.0-1 +- New version 4.18.0 + +* Fri Jul 13 2018 Fedora Release Engineering - 4.17.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 12 2018 Phil Sutter - 4.17.0-1 +- New version 4.17.0 + +* Fri Jun 01 2018 Phil Sutter - 4.16.0-1 +- New version 4.16.0 + +* Fri Feb 09 2018 Phil Sutter - 4.15.0-1 +- New version 4.15.0 + +* Fri Feb 9 2018 Florian Weimer - 4.14.1-6 +- Use LDFLAGS defaults from redhat-rpm-config + +* Wed Feb 07 2018 Fedora Release Engineering - 4.14.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Dec 11 2017 Phil Sutter - 4.14.1-4 +- Add missing patch files. + +* Mon Dec 11 2017 Phil Sutter - 4.14.1-3 +- Add upstream suggested backports. +- Make use of %%autosetup macro. + +* Wed Nov 15 2017 Phil Sutter - 4.14.1-2 +- Drop unused build dependencies + +* Wed Nov 15 2017 Phil Sutter - 4.14.1-1 +- New version 4.14.1 + +* Tue Sep 19 2017 Phil Sutter - 4.13.0-1 +- New version 4.13.0 + +* Wed Aug 02 2017 Fedora Release Engineering - 4.12.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 4.12.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 21 2017 Phil Sutter - 4.12.0-1 +- New version 4.12.0 + +* Tue May 23 2017 Phil Sutter - 4.11.0-1 +- Add virtual capability to tc subpackage so it's easier found +- New version 4.11.0 + +* Thu May 11 2017 Karsten Hopp - 4.10.0-3 +- don't build docs for module builds to limit dependencies + +* Fri Mar 17 2017 Phil Sutter - 4.10.0-2 +- Add two fixes to 4.10.0 release from upstream. + +* Tue Mar 14 2017 Phil Sutter - 4.10.0-1 +- Ship new header iproute2/bpf_elf.h +- Document content of remaining docs fixup patch in spec file +- Drop patches already applied upstream +- New version 4.10.0 + +* Fri Feb 10 2017 Fedora Release Engineering - 4.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 2 2017 Thomas Woerner - 4.9.0-3 +- Release bump for iptables-1.6.1 (libxtables.so.12) + +* Sat Jan 28 2017 Phil Sutter - 4.9.0-2 +- Fix for failing 'make install' + +* Sat Jan 28 2017 Phil Sutter - 4.9.0-1 +- New version 4.9.0 + +* Fri Jan 13 2017 Phil Sutter - 4.8.0-2 +- Fix segfault in xt action + +* Wed Nov 30 2016 Phil Sutter - 4.8.0-1 +- New version 4.8.0 + +* Wed Aug 10 2016 Phil Sutter - 4.7.0-1 +- New version 4.7.0 + +* Wed May 04 2016 Phil Sutter - 4.6.0-1 +- New version 4.6.0 + +* Wed Apr 13 2016 Thomas Woerner - 4.5.0-4 +- Rebuild for new iptables-1.6.0 with libxtables so bump + +* Fri Apr 08 2016 Phil Sutter - 4.5.0-3 +- Fix upgrade path by adding correct Requires/Obsoletes statements to spec file +- Move README.iproute2+tc into tc subpackage + +* Fri Mar 18 2016 Phil Sutter - 4.5.0-2 +- Split tc into it's own subpackage + +* Fri Mar 18 2016 Phil Sutter - 4.5.0-1 +- New version 4.5.0 + +* Thu Feb 04 2016 Fedora Release Engineering - 4.4.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 19 2016 Phil Sutter - 4.4.0-1 +- New version 4.4.0 + +* Sun Oct 04 2015 Phil Sutter - 4.2.0-4 +- Simplify RPM install stage by using package's install target + +* Sun Oct 04 2015 Phil Sutter - 4.2.0-3 +- Add missing build dependency to libmnl-devel +- Ship tipc utility + +* Thu Sep 24 2015 Phil Sutter - 4.2.0-2 +- Add missing build dependency to libselinux-devel + +* Wed Sep 02 2015 Pavel Šimerda - 4.2.0-1 +- new version 4.2.0 + +* Tue Jul 07 2015 Pavel Šimerda - 4.1.1-1 +- new version 4.1.1 + +* Wed Jun 17 2015 Fedora Release Engineering - 4.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed May 13 2015 Pavel Šimerda - 4.0.0-3 +- remove patch rejected by upstream + +* Mon May 11 2015 Pavel Šimerda - 4.0.0-2 +- Remove patch rejected by upstream + +* Tue Apr 14 2015 Pavel Šimerda - 4.0.0-1 +- new version 4.0.0 + +* Fri Mar 13 2015 Pavel Šimerda - 3.19.0-1 +- new version 3.19.0 + +* Sat Oct 04 2014 Lubomir Rintel - 3.16.0-3 +- Backport fix for ip link add name regression that broke libvirt + +* Sat Aug 16 2014 Fedora Release Engineering - 3.16.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Aug 05 2014 Petr Šabata - 3.16.0-1 +- 3.16 bump + +* Sat Jul 12 2014 Tom Callaway - 3.15.0-2 +- fix license handling + +* Thu Jun 12 2014 Petr Šabata - 3.15.0-1 +- 3.15.0 bump + +* Sat Jun 07 2014 Fedora Release Engineering - 3.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 06 2014 Petr Šabata - 3.14.0-2 +- Fix incorrect references in ss(8), #1092653 + +* Tue Apr 15 2014 Petr Šabata - 3.14.0-1 +- 3.14 bump +- Drop out iplink_have_newlink() fix in favor of upstream's approach + +* Tue Nov 26 2013 Petr Šabata - 3.12.0-2 +- Drop libnl from dependencies (#1034454) + +* Mon Nov 25 2013 Petr Šabata - 3.12.0-1 +- 3.12.0 bump + +* Thu Nov 21 2013 Petr Šabata - 3.11.0-2 +- Fix the rtt time parsing again + +* Tue Oct 22 2013 Petr Šabata - 3.11.0-1 +- 3.11 bump + +* Tue Oct 01 2013 Petr Pisar - 3.10.0-8 +- Close file with bridge monitor file (bug #1011822) + +* Tue Sep 24 2013 Petr Pisar - 3.10.0-7 +- Add tc -OK option +- Document "bridge mdb" and "bridge monitor mdb" + +* Fri Aug 30 2013 Petr Šabata - 3.10.0-6 +- Fix lnstat -i properly this time + +* Thu Aug 29 2013 Petr Šabata - 3.10.0-5 +- Fix an 'ip link' hang (#996537) + +* Tue Aug 13 2013 Petr Šabata - 3.10.0-4 +- lnstat -i: Run indefinitely if the --count isn't specified (#977845) +- Switch to unversioned %%docdir + +* Sat Aug 03 2013 Fedora Release Engineering - 3.10.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 17 2013 Petr Šabata - 3.10.0-2 +- Fix the XFRM patch + +* Wed Jul 17 2013 Petr Šabata - 3.10.0-1 +- 3.10.0 bump +- Drop the SHAREDIR patch and revert to upstream ways (#966445) +- Fix an XFRM regression with FORTIFY_SOURCE + +* Tue Apr 30 2013 Petr Šabata - 3.9.0-1 +- 3.9.0 bump + +* Thu Apr 25 2013 Petr Šabata - 3.8.0-4 +- ATM is available in Fedora only + +* Tue Mar 12 2013 Petr Šabata - 3.8.0-3 +- Mention the "up" argument in documentation and help outputs (#907468) + +* Mon Mar 04 2013 Petr Šabata - 3.8.0-2 +- Bump for 1.4.18 rebuild + +* Tue Feb 26 2013 Petr Šabata - 3.8.0-1 +- 3.8.0 bump + +* Fri Feb 08 2013 Petr Šabata - 3.7.0-2 +- Don't propogate mounts out of ip (#882047) + +* Wed Dec 12 2012 Petr Šabata - 3.7.0-1 +- 3.7.0 bump + +* Mon Nov 19 2012 Petr Šabata - 3.6.0-3 +- Include section 7 manpages (#876857) +- Fix ancient bogus dates in the changelog (correction based upon commits) +- Explicitly require some TeX fonts no longer present in the base distribution + +* Thu Oct 04 2012 Petr Šabata - 3.6.0-2 +- List all interfaces by default + +* Wed Oct 03 2012 Petr Šabata - 3.6.0-1 +- 3.6.0 bump + +* Thu Aug 30 2012 Petr Šabata - 3.5.1-2 +- Remove the explicit iptables dependency (#852840) + +* Tue Aug 14 2012 Petr Šabata - 3.5.1-1 +- 3.5.1 bugfix release bump +- Rename 'br' to 'bridge' + +* Mon Aug 06 2012 Petr Šabata - 3.5.0-2 +- Install the new bridge utility + +* Thu Aug 02 2012 Petr Šabata - 3.5.0-1 +- 3.5.0 bump +- Move to db5. + +* Thu Jul 19 2012 Fedora Release Engineering - 3.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue May 22 2012 Petr Šabata - 3.4.0-1 +- 3.4.0 bump +- Drop the print route patch (included upstream) + +* Mon Apr 30 2012 Petr Šabata - 3.3.0-2 +- Let's install rtmon too... (#814819) + +* Thu Mar 22 2012 Petr Šabata - 3.3.0-1 +- 3.3.0 bump +- Update source URL + +* Mon Feb 27 2012 Petr Šabata - 3.2.0-3 +- Address dangerous /tmp files security issue (CVE-2012-1088, #797881, #797878) + +* Fri Jan 27 2012 Petr Šabata - 3.2.0-2 +- Simplify the spec a bit thanks to the UsrMove feature + +* Fri Jan 06 2012 Petr Šabata - 3.2.0-1 +- 3.2.0 bump +- Removing a useless, now conflicting patch (initcwnd already decumented) + +* Thu Nov 24 2011 Petr Šabata - 3.1.0-1 +- 3.1.0 bump +- Point URL and Source to the new location on kernel.org +- Remove now obsolete defattr +- Dropping various patches now included upstream +- Dropping iproute2-2.6.25-segfault.patch; I fail to understand the reason for + this hack + +* Tue Nov 15 2011 Petr Šabata - 2.6.39-6 +- ss -ul should display UDP CLOSED sockets (#691100) + +* Thu Oct 06 2011 Petr Sabata - 2.6.39-5 +- Fix ss, lnstat and arpd usage and manpages + +* Wed Sep 07 2011 Petr Sabata - 2.6.39-4 +- lnstat should dump (-d) to stdout instead of stderr (#736332) + +* Tue Jul 26 2011 Petr Sabata - 2.6.39-3 +- Rebuild for xtables7 + +* Tue Jul 12 2011 Petr Sabata - 2.6.39-2 +- Rebuild for xtables6 + +* Thu Jun 30 2011 Petr Sabata - 2.6.39-1 +- 2.6.39 bump + +* Wed Apr 27 2011 Petr Sabata - 2.6.38.1-4 +- Link [cr]tstat to lnstat + +* Wed Apr 27 2011 Petr Sabata - 2.6.38.1-3 +- Install ctstat, rtstat and routef manpage symlinks +- Install m_xt & m_ipt tc modules +- Creating devel and virtual static subpackages with libnetlink + +* Thu Apr 21 2011 Petr Sabata - 2.6.38.1-2 +- General cleanup +- Use global instead of define +- Buildroot removal +- Correcting URL and Source links +- Install genl, ifstat, routef, routel and rtpr (rhbz#697319) + +* Fri Mar 18 2011 Petr Sabata - 2.6.38.1-1 +- 2.6.38.1 bump + +* Wed Mar 16 2011 Petr Sabata - 2.6.38-1 +- 2.6.38 bump + +* Wed Feb 09 2011 Fedora Release Engineering - 2.6.37-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jan 31 2011 Petr Sabata - 2.6.37-2 +- man-pages.patch update, ip(8) TYPE whitespace + +* Mon Jan 10 2011 Petr Sabata - 2.6.37-1 +- 2.6.37 upstream release +- ss(8) improvements patch removed (included upstream) + +* Wed Dec 08 2010 Petr Sabata - 2.6.35-10 +- fix a typo in ss(8) improvements patch, rhbz#661267 + +* Tue Nov 30 2010 Petr Sabata - 2.6.35-9 +- ss(8) improvements patch by jpopelka; should be included in 2.6.36 + +* Tue Nov 09 2010 Petr Sabata - 2.6.35-8 +- rhbz#641599, use the versioned path, man-pages.patch update, prep update + +* Tue Oct 12 2010 Petr Sabata - 2.6.35-7 +- Do not segfault if peer name is omitted when creating a peer veth link, rhbz#642322 + +* Mon Oct 11 2010 Petr Sabata - 2.6.35-6 +- Man-pages update, rhbz#641599 + +* Wed Sep 29 2010 jkeating - 2.6.35-5 +- Rebuilt for gcc bug 634757 + +* Tue Sep 21 2010 Petr Sabata - 2.6.35-4 +- Modified man-pages.patch to fix cbq manpage, rhbz#635877 + +* Tue Sep 21 2010 Petr Sabata - 2.6.35-3 +- Don't print routes with negative metric fix, rhbz#628739 + +* Wed Aug 18 2010 Petr Sabata - 2.6.35-2 +- 'ip route get' fix, iproute2-2.6.35-print-route.patch +- rhbz#622782 + +* Thu Aug 05 2010 Petr Sabata - 2.6.35-1 +- 2.6.35 version bump +- iproute2-tc-priority.patch removed (included in upstream now) + +* Thu Jul 08 2010 Petr Sabata - 2.6.34-5 +- Licensing guidelines compliance fix + +* Wed Jul 07 2010 Petr Sabata - 2.6.34-4 +- Requires: iptables >= 1.4.5, BuildRequires: iptables-devel >= 1.4.5 + +* Thu Jul 01 2010 Petr Sabata - 2.6.34-3 +- Build now runs ./configure to regenerate Makefile for ipt/xt detection + +* Mon Jun 21 2010 Petr Sabata - 2.6.34-2 +- iproute-tc-priority.patch, rhbz#586112 + +* Mon Jun 21 2010 Petr Sabata - 2.6.34-1 +- 2.6.34 version bump + +* Tue Apr 20 2010 Marcela Mašláňová - 2.6.33-2 +- 578729 6rd tunnel correctly 3979ef91de9ed17d21672aaaefd6c228485135a2 +- change BR texlive to tex according to guidelines + +* Thu Feb 25 2010 Marcela Mašláňová - 2.6.33-1 +- update + +* Tue Jan 26 2010 Marcela Mašláňová - 2.6.32-2 +- add macvlan aka VESA support d63a9b2b1e4e3eab0d0577d0a0f412d50be1e0a7 +- kernel headers 2.6.33 ab322673298bd0b8927cdd9d11f3d36af5941b93 + are needed for macvlan features and probably for other added later. +- fix number of release which contains 2.6.32 kernel headers and features + but it was released as 2.6.31 + +* Mon Jan 4 2010 Marcela Mašláňová - 2.6.31-1 +- update to 2.6.31 + +* Fri Nov 27 2009 Marcela Mašláňová - 2.6.29-5.1.20091106gita7a9ddbb +- 539232 patch cbq initscript + +* Fri Nov 27 2009 Marcela Mašláňová - 2.6.29-5.0.20091106gita7a9ddbb +- snapshot with kernel headers for 2.6.32 + +* Fri Oct 9 2009 Marcela Mašláňová - 2.6.29-5.0.20091009gitdaf49fd6 +- new official version isn't available but it's needed -> switch to git snapshots + +* Thu Sep 24 2009 Marcela Mašláňová - 2.6.29-5 +- create missing man pages + +* Fri Jul 24 2009 Fedora Release Engineering - 2.6.29-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Apr 23 2009 Marcela Mašláňová - 2.6.29-3 +- new iptables (xtables) bring problems to tc, when ipt is used. + rhbz#497344 still broken. tc_modules.patch brings correct paths to + xtables, but that doesn't fix whole issue. +- 497355 ip should allow creation of an IPsec SA with 'proto any' + and specified sport and dport as selectors + +* Tue Apr 14 2009 Marcela Mašláňová - 2.6.29-2 +- c3651bf4763d7247e3edd4e20526a85de459041b ip6tunnel: Fix no default + display of ip4ip6 tunnels +- e48f73d6a5e90d2f883e15ccedf4f53d26bb6e74 missing arpd directory + +* Wed Mar 25 2009 Marcela Mašláňová - 2.6.29-1 +- update to 2.6.29 +- remove DDR patch which became part of sourc +- add patch with correct headers 1957a322c9932e1a1d2ca1fd37ce4b335ceb7113 + +* Wed Feb 25 2009 Fedora Release Engineering - 2.6.28-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Feb 4 2009 Marcela Mašláňová - 2.6.28-2 +- 483484 install distribution files into /usr/share and also fixed + install paths in spec +- add the latest change from git which add DRR support + c86f34942a0ce9f8203c0c38f9fe9604f96be706 + +* Mon Jan 19 2009 Marcela Mašláňová - 2.6.28-1 +- previous two patches were included into 2.6.28 release. +- update + +* Mon Jan 12 2009 Marcela Mašláňová - 2.6.27-2 +- 475130 - Negative preferred lifetimes of IPv6 prefixes/addresses + displayed incorrectly +- 472878 - “ip maddr show” in IB interface causes a stack corruption +- both patches will be probably in iproute v2.6.28 + +* Thu Dec 4 2008 Marcela Maslanova - 2.6.27-1 +- aead support was included into upstream version +- patch for moving libs is now deprecated +- update to 2.6.27 + +* Tue Aug 12 2008 Marcela Maslanova - 2.6.26-1 +- update to 2.6.26 +- clean patches + +* Tue Jul 22 2008 Marcela Maslanova - 2.6.25-5 +- fix iproute2-2.6.25-segfault.patch + +* Thu Jul 10 2008 Tom "spot" Callaway - 2.6.25-4 +- rebuild for new db4-4.7 + +* Thu Jul 3 2008 Marcela Maslanova - 2.6.25-3 +- 449933 instead of failing strncpy use copying byte after byte + +* Wed May 14 2008 Marcela Maslanova - 2.6.25-2 +- allow replay setting, solve also 444724 + +* Mon Apr 21 2008 Marcela Maslanova - 2.6.25-1 +- update +- remove patch for backward compatibility +- add patch for AEAD compatibility + +* Thu Feb 21 2008 Marcela Maslanova - 2.6.23-4 +- add creating ps file again. Fix was done in texlive + +* Wed Feb 6 2008 Marcela Maslanova - 2.6.23-3 +- rebuild without tetex files. It isn't working in rawhide yet. Added + new source for ps files. +- #431179 backward compatibility for previous iproute versions + +* Mon Jan 21 2008 Marcela Maslanova - 2.6.23-2 +- rebuild with fix tetex and linuxdoc-tools -> manual pdf +- clean unnecessary patches +- add into spec *.so objects, new BR linux-atm-libs-devel + +* Wed Oct 31 2007 Marcela Maslanova - 2.6.23-1 +- new version from upstrem 2.3.23 + +* Tue Oct 23 2007 Marcela Maslanova - 2.6.22-5 +- move files from /usr/lib/tc to /usr/share/tc +- remove listing files twice + +* Fri Aug 31 2007 Marcela Maslanova - 2.6.22-3 +- package review #225903 + +* Mon Aug 27 2007 Jeremy Katz - 2.6.22-2 +- rebuild for new db4 + +* Wed Jul 11 2007 Radek Vokál - 2.6.22-1 +- upgrade to 2.6.22 + +* Mon Mar 19 2007 Radek Vokál - 2.6.20-2 +- fix broken tc-pfifo man page (#232891) + +* Thu Mar 15 2007 Radek Vokál - 2.6.20-1 +- upgrade to 2.6.20 + +* Fri Dec 15 2006 Radek Vokál - 2.6.19-1 +- upgrade to 2.6.19 + +* Mon Dec 11 2006 Radek Vokál - 2.6.18-5 +- fix snapshot version + +* Fri Dec 1 2006 Radek Vokál - 2.6.18-4 +- spec file cleanup +- one more rebuilt against db4 + +* Thu Nov 16 2006 Radek Vokál - 2.6.18-3 +- fix defective manpage for tc-pfifo (#215399) + +* Mon Nov 13 2006 Radek Vokál - 2.6.18-2 +- rebuilt against new db4 + +* Tue Oct 3 2006 Radek Vokal - 2.6.18-1 +- upgrade to upstream 2.6.18 +- initcwnd patch merged +- bug fix for xfrm monitor +- alignment fixes for cris +- documentation corrections + +* Mon Oct 2 2006 Radek Vokal - 2.6.16-7 +- fix ip.8 man page, add initcwnd option + +* Sun Oct 01 2006 Jesse Keating - 2.6.16-6 +- rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Tue Sep 19 2006 Radek Vokal - 2.6.16-5 +- fix crash when resolving ip address + +* Mon Aug 21 2006 Radek Vokál - 2.6.16-4 +- add LOWER_UP and DORMANT flags (#202199) +- use dist tag + +* Wed Jul 12 2006 Jesse Keating - 2.6.16-3.1 +- rebuild + +* Mon Jun 26 2006 Radek Vokál - 2.6.16-3 +- improve handling of initcwnd value (#179719) + +* Sun May 28 2006 Radek Vokál - 2.6.16-2 +- fix BuildRequires: flex (#193403) + +* Sun Mar 26 2006 Radek Vokál - 2.6.16-1 +- upgrade to 2.6.16-060323 +- don't hardcode /usr/lib in tc (#186607) + +* Wed Feb 22 2006 Radek Vokál - 2.6.15-2 +- own /usr/lib/tc (#181953) +- obsoletes shapecfg (#182284) + +* Fri Feb 10 2006 Jesse Keating - 2.6.15-1.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 2.6.15-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Tue Jan 17 2006 Radek Vokal 2.6.15-1 +- upgrade to 2.6.15-060110 + +* Mon Dec 12 2005 Radek Vokal 2.6.14-11 +- rebuilt + +* Fri Dec 09 2005 Radek Vokal 2.6.14-10 +- remove backup of config files (#175302) + +* Fri Nov 11 2005 Radek Vokal 2.6.14-9 +- use tc manpages and cbq.init from source tarball (#172851) + +* Thu Nov 10 2005 Radek Vokal 2.6.14-8 +- new upstream source + +* Mon Oct 31 2005 Radek Vokal 2.6.14-7 +- add warning to ip tunnel add command (#128107) + +* Fri Oct 07 2005 Bill Nottingham 2.6.14-6 +- update from upstream (appears to fix #170111) + +* Fri Oct 07 2005 Radek Vokal 2.6.14-5 +- update from upstream +- fixed host_len size for memcpy (#168903) + +* Fri Sep 23 2005 Radek Vokal 2.6.14-4 +- add RPM_OPT_FLAGS + +* Mon Sep 19 2005 Radek Vokal 2.6.14-3 +- forget to apply the patch :( + +* Mon Sep 19 2005 Radek Vokal 2.6.14-2 +- make ip help work again (#168449) + +* Wed Sep 14 2005 Radek Vokal 2.6.14-1 +- upgrade to ss050901 for 2.6.14 kernel headers + +* Fri Aug 26 2005 Radek Vokal 2.6.13-3 +- added /sbin/cbq script and sample configuration files (#166301) + +* Fri Aug 19 2005 Radek Vokal 2.6.13-2 +- upgrade to iproute2-050816 + +* Thu Aug 11 2005 Radek Vokal 2.6.13-1 +- update to snapshot for 2.6.13+ kernel + +* Tue May 24 2005 Radek Vokal 2.6.11-2 +- removed useless initvar patch (#150798) +- new upstream source + +* Tue Mar 15 2005 Radek Vokal 2.6.11-1 +- update to iproute-2.6.11 + +* Fri Mar 04 2005 Radek Vokal 2.6.10-2 +- gcc4 rebuilt + +* Wed Feb 16 2005 Radek Vokal 2.6.10-1 +- update to iproute-2.6.10 + +* Thu Dec 23 2004 Radek Vokal 2.6.9-6 +- added arpd into sbin + +* Mon Nov 29 2004 Radek Vokal 2.6.9-5 +- debug info removed from makefile and from spec (#140891) + +* Tue Nov 16 2004 Radek Vokal 2.6.9-4 +- source file updated from snapshot version +- endian patch adding + +* Sat Sep 18 2004 Joshua Blanton 2.6.9-3 +- added installation of netem module for tc + +* Mon Sep 06 2004 Radek Vokal 2.6.9-2 +- fixed possible buffer owerflow, path by Steve Grubb + +* Wed Sep 01 2004 Radek Vokal 2.6.9-1 +- updated to iproute-2.6.9, spec file change, patches cleared + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Wed May 26 2004 Phil Knirsch 2.4.7-16 +- Took tons of manpages from debian, much more complete (#123952). + +* Thu May 06 2004 Phil Knirsch 2.4.7-15 +- rebuilt + +* Thu May 06 2004 Phil Knirsch 2.4.7-13.2 +- Built security errata version for FC1. + +* Wed Apr 21 2004 Phil Knirsch 2.4.7-14 +- Fixed -f option for ss (#118355). +- Small description fix (#110997). +- Added initialization of some vars (#74961). +- Added patch to initialize "default" rule as well (#60693). + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Wed Nov 05 2003 Phil Knirsch 2.4.7-12 +- Security errata for netlink (CAN-2003-0856). + +* Thu Oct 23 2003 Phil Knirsch +- Updated to latest version. Used by other distros, so seems stable. ;-) +- Quite a few patches needed updating in that turn. +- Added ss (#107363) and several other new nifty tools. + +* Tue Jun 17 2003 Phil Knirsch +- rebuilt + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Thu Jan 16 2003 Phil Knirsch 2.4.7-7 +- Added htb3-tc patch from http://luxik.cdi.cz/~devik/qos/htb/ (#75486). + +* Fri Oct 11 2002 Bill Nottingham 2.4.7-6 +- remove flags patch at author's request + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Wed Jun 19 2002 Phil Knirsch 2.4.7-4 +- Don't forcibly strip binaries + +* Mon May 27 2002 Phil Knirsch 2.4.7-3 +- Fixed missing diffserv and atm support in config (#57278). +- Fixed inconsistent numeric base problem for command line (#65473). + +* Tue May 14 2002 Phil Knirsch 2.4.7-2 +- Added patch to fix crosscompiling by Adrian Linkins. + +* Fri Mar 15 2002 Phil Knirsch 2.4.7-1 +- Update to latest stable release 2.4.7-now-ss010824. +- Added simple man page for ip. + +* Wed Aug 8 2001 Bill Nottingham +- allow setting of allmulti & promisc flags (#48669) + +* Mon Jul 02 2001 Than Ngo +- fix build problem in beehive if kernel-sources is not installed + +* Fri May 25 2001 Helge Deller +- updated to iproute2-2.2.4-now-ss001007.tar.gz +- bzip2 source tar file +- "License" replaces "Copyright" +- added "BuildPrereq: tetex-latex tetex-dvips psutils" +- rebuilt for 7.2 + +* Tue May 1 2001 Bill Nottingham +- use the system headers - the included ones are broken +- ETH_P_ECHO went away + +* Sat Jan 6 2001 Jeff Johnson +- test for specific KERNEL_INCLUDE directories. + +* Thu Oct 12 2000 Than Ngo +- rebuild for 7.1 + +* Thu Oct 12 2000 Than Ngo +- add default configuration files for iproute (Bug #10549, #18887) + +* Tue Jul 25 2000 Jakub Jelinek +- fix include-glibc/ to cope with glibc 2.2 new resolver headers + +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Sun Jun 18 2000 Than Ngo +- rebuilt in the new build environment +- use RPM macros +- handle RPM_OPT_FLAGS + +* Sat Jun 03 2000 Than Ngo +- fix iproute to build with new glibc + +* Fri May 26 2000 Ngo Than +- update to 2.2.4-now-ss000305 +- add configuration files + +* Mon Sep 13 1999 Bill Nottingham +- strip binaries + +* Mon Aug 16 1999 Cristian Gafton +- first build diff --git a/rt_dsfield.deprecated b/rt_dsfield.deprecated deleted file mode 100644 index c8eec63..0000000 --- a/rt_dsfield.deprecated +++ /dev/null @@ -1,17 +0,0 @@ - -# Deprecated values dropped upstream -# Kept in RHEL for backwards-compatibility -0x00 default -0x10 lowdelay -0x08 throughput -0x04 reliability -# This value overlap with ECT, do not use it! -0x02 mincost -# These values seems do not want to die, Cisco likes them by a strange reason. -0x20 priority -0x40 immediate -0x60 flash -0x80 flash-override -0xa0 critical -0xc0 internet -0xe0 network diff --git a/sources b/sources index 9ad54ed..108351d 100644 --- a/sources +++ b/sources @@ -1,6 +1 @@ -SHA512 (iproute2-6.8.0.tar.xz) = 54e50340a73c8810d69bfd54704b469149731634a97d94da08b5a305592a812131a441e5b646e32b480d61840e2ade29387e54b934effeee8ded4f06e557a5c0 -SHA512 (iproute2-6.10.0.tar.xz) = 706479aa37a25fcf30c525c6abd85e0861e484d046e0636a28dbc52b958d45c9dba70b912f530dedd4b0b496e4b98969e23501bbbb41d3de50810bae014fcb41 -SHA512 (iproute2-6.12.0.tar.xz) = dbd6afb8162a6086e4be9045b8dc53aa563bd4b7abaf43ee13cd7d493730ff0b90e6985f68c6f42d64f4af6a692d0589e0cefd2f24045ec1c10418cfb73940b2 -SHA512 (iproute2-6.14.0.tar.xz) = e79049bdca0e0381f0a93a40e4d597ce59fb509dabc6e8b04a510ff9953f091c67577d6faa62967bd197bf62ab6e56d928558270a1390621431acb237b77fa46 -SHA512 (iproute2-6.16.0.tar.xz) = 88930ea1a3a901594a69dc04e533bfd1de0f5b79f176dedb45f11f01035bd680edccc8e04e56d0922ee430580581c646473a3baa941254739878f7ab946f17df -SHA512 (iproute2-6.17.0.tar.xz) = 3d83d49233c1d984f15d285a46e2ec0eeb820c7cb84cfc84866921f37e8a57d31bc3953be07e8c79ed6079f326a25c3a85f591b0d67f9f689c0c70ccdb0fef77 +SHA512 (iproute2-5.2.0.tar.xz) = 82bbeae29d98129d822c95ff7523186569e32c66132b8d781d501d61f396b04d122e3d13057dd4236455264008e5bfac7cb63c325908fc1c46d416cbde6ac7e1