aboutsummaryrefslogtreecommitdiffstats
path: root/core/busybox/busybox-1.12.1-iproute-metric.patch
diff options
context:
space:
mode:
Diffstat (limited to 'core/busybox/busybox-1.12.1-iproute-metric.patch')
-rw-r--r--core/busybox/busybox-1.12.1-iproute-metric.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/core/busybox/busybox-1.12.1-iproute-metric.patch b/core/busybox/busybox-1.12.1-iproute-metric.patch
new file mode 100644
index 0000000000..01a24ac84b
--- /dev/null
+++ b/core/busybox/busybox-1.12.1-iproute-metric.patch
@@ -0,0 +1,36 @@
+Index: networking/libiproute/iproute.c
+===================================================================
+--- networking/libiproute/iproute.c (revision 23582)
++++ networking/libiproute/iproute.c (working copy)
+@@ -291,7 +291,7 @@
+ {
+ static const char keywords[] ALIGN1 =
+ "src\0""via\0""mtu\0""lock\0""protocol\0"USE_FEATURE_IP_RULE("table\0")
+- "dev\0""oif\0""to\0";
++ "dev\0""oif\0""to\0""metric\0";
+ enum {
+ ARG_src,
+ ARG_via,
+@@ -300,7 +300,8 @@
+ USE_FEATURE_IP_RULE(ARG_table,)
+ ARG_dev,
+ ARG_oif,
+- ARG_to
++ ARG_to,
++ ARG_metric,
+ };
+ enum {
+ gw_ok = 1 << 0,
+@@ -387,6 +388,12 @@
+ } else if (arg == ARG_dev || arg == ARG_oif) {
+ NEXT_ARG();
+ d = *argv;
++ } else if (arg == ARG_metric) {
++ uint32_t metric;
++ NEXT_ARG();
++ if (get_u32(&metric, *argv, 0))
++ invarg(*argv, "metric");
++ addattr32(&req.n, sizeof(req), RTA_PRIORITY, metric);
+ } else {
+ int type;
+ inet_prefix dst;