1- diff -urN work/iproute2-4.16 .0/include/uapi/linux/fib_rules.h work/iproute2-4.16 .0/include/uapi/linux/fib_rules.h
2- --- work/iproute2-4.16 .0/include/uapi/linux/fib_rules.h 2018-04-02 19:06:08.000000000 +0200
3- +++ work/iproute2-4.16 .0/include/uapi/linux/fib_rules.h 2018-04-20 21:08:59.358439672 +0200
4- @@ -54 ,6 +54 ,9 @@
1+ diff -urN work/iproute2-4.18 .0/include/uapi/linux/fib_rules.h work/iproute2-4.18 .0/include/uapi/linux/fib_rules.h
2+ --- work/iproute2-4.18 .0/include/uapi/linux/fib_rules.h 2018-04-02 19:06:08.000000000 +0200
3+ +++ work/iproute2-4.18 .0/include/uapi/linux/fib_rules.h 2018-04-20 21:08:59.358439672 +0200
4+ @@ -59 ,6 +59 ,9 @@
55 FRA_SUPPRESS_PREFIXLEN,
66 FRA_TABLE, /* Extended table id */
77 FRA_FWMASK, /* mask for netfilter mark */
@@ -11,9 +11,9 @@ diff -urN work/iproute2-4.16.0/include/uapi/linux/fib_rules.h work/iproute2-4.16
1111 FRA_OIFNAME,
1212 FRA_PAD,
1313 FRA_L3MDEV, /* iif or oif is l3mdev goto its table */
14- diff -urN work/iproute2-4.16 .0/include/uapi/linux/netfilter_ipv4/ip_tables.h work/iproute2-4.16 .0/include/uapi/linux/netfilter_ipv4/ip_tables.h
15- --- work/iproute2-4.16 .0/include/uapi/linux/netfilter_ipv4/ip_tables.h 2018-04-02 19:06:08.000000000 +0200
16- +++ work/iproute2-4.16 .0/include/uapi/linux/netfilter_ipv4/ip_tables.h 2018-04-20 21:17:03.765089515 +0200
14+ diff -urN work/iproute2-4.18 .0/include/uapi/linux/netfilter_ipv4/ip_tables.h work/iproute2-4.18 .0/include/uapi/linux/netfilter_ipv4/ip_tables.h
15+ --- work/iproute2-4.18 .0/include/uapi/linux/netfilter_ipv4/ip_tables.h 2018-04-02 19:06:08.000000000 +0200
16+ +++ work/iproute2-4.18 .0/include/uapi/linux/netfilter_ipv4/ip_tables.h 2018-04-20 21:17:03.765089515 +0200
1717@@ -15,47 +15,130 @@
1818
1919 #ifndef _IPTABLES_H
@@ -360,10 +360,18 @@ diff -urN work/iproute2-4.16.0/include/uapi/linux/netfilter_ipv4/ip_tables.h wor
360360+ #define IPT_ALIGN(s) (((s) + (__alignof__(struct ipt_entry)-1)) & ~(__alignof__(struct ipt_entry)-1))
361361+ #endif /*__KERNEL__*/
362362 #endif /* _IPTABLES_H */
363- diff -urN work/iproute2-4.16.0/include/uapi/linux/rtnetlink.h work/iproute2-4.16.0/include/uapi/linux/rtnetlink.h
364- --- work/iproute2-4.16.0/include/uapi/linux/rtnetlink.h 2018-04-02 19:06:08.000000000 +0200
365- +++ work/iproute2-4.16.0/include/uapi/linux/rtnetlink.h 2018-04-20 21:17:26.501019155 +0200
366- @@ -317,6 +317,9 @@
363+ diff -urN work/iproute2-4.18.0/include/uapi/linux/rtnetlink.h work/iproute2-4.18.0/include/uapi/linux/rtnetlink.h
364+ --- work/iproute2-4.18.0/include/uapi/linux/rtnetlink.h 2018-08-13 21:11:32.000000000 +0200
365+ +++ work/iproute2-4.18.0/include/uapi/linux/rtnetlink.h 2018-10-06 23:57:22.539399817 +0200
366+ @@ -221,6 +221,7 @@
367+ RTN_THROW, /* Not in this table */
368+ RTN_NAT, /* Translate this address */
369+ RTN_XRESOLVE, /* Use external resolver */
370+ + RTN_FAILED_POLICY, /* Source address failed policy */
371+ __RTN_MAX
372+ };
373+
374+ @@ -322,6 +323,9 @@
367375 RTA_MP_ALGO, /* no longer used */
368376 RTA_TABLE,
369377 RTA_MARK,
@@ -373,9 +381,9 @@ diff -urN work/iproute2-4.16.0/include/uapi/linux/rtnetlink.h work/iproute2-4.16
373381 RTA_MFC_STATS,
374382 RTA_VIA,
375383 RTA_NEWDST,
376- diff -urN work/iproute2-4.16 .0/ip/ip6tunnel.c work/iproute2-4.16 .0/ip/ip6tunnel.c
377- --- work/iproute2-4.16 .0/ip/ip6tunnel.c 2018-04-02 19:06:08 .000000000 +0200
378- +++ work/iproute2-4.16 .0/ip/ip6tunnel.c 2018-04-20 21:18:07.068892928 +0200
384+ diff -urN work/iproute2-4.18 .0/ip/ip6tunnel.c work/iproute2-4.18 .0/ip/ip6tunnel.c
385+ --- work/iproute2-4.18 .0/ip/ip6tunnel.c 2018-08-13 21:11:32 .000000000 +0200
386+ +++ work/iproute2-4.18 .0/ip/ip6tunnel.c 2018-10-06 23:31:20.836129558 +0200
379387@@ -42,6 +42,9 @@
380388
381389 #define DEFAULT_TNL_HOP_LIMIT (64)
@@ -386,10 +394,10 @@ diff -urN work/iproute2-4.16.0/ip/ip6tunnel.c work/iproute2-4.16.0/ip/ip6tunnel.
386394 static void usage(void) __attribute__((noreturn));
387395
388396 static void usage(void)
389- diff -urN work/iproute2-4.16 .0/ip/iprule.c work/iproute2-4.16 .0/ip/iprule.c
390- --- work/iproute2-4.16 .0/ip/iprule.c 2018-04-02 19:06:08 .000000000 +0200
391- +++ work/iproute2-4.16 .0/ip/iprule.c 2018-04-20 21:19:58.532542503 +0200
392- @@ -44 ,6 +44 ,9 @@
397+ diff -urN work/iproute2-4.18 .0/ip/iprule.c work/iproute2-4.18 .0/ip/iprule.c
398+ --- work/iproute2-4.18 .0/ip/iprule.c 2018-08-13 21:11:32 .000000000 +0200
399+ +++ work/iproute2-4.18 .0/ip/iprule.c 2018-10-06 23:36:15.851236079 +0200
400+ @@ -45 ,6 +45 ,9 @@
393401 " ip rule { flush | save | restore }\n"
394402 " ip rule [ list [ SELECTOR ]]\n"
395403 "SELECTOR := [ not ] [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK[/MASK] ]\n"
@@ -398,10 +406,10 @@ diff -urN work/iproute2-4.16.0/ip/iprule.c work/iproute2-4.16.0/ip/iprule.c
398406+ #endif
399407 " [ iif STRING ] [ oif STRING ] [ pref NUMBER ] [ l3mdev ]\n"
400408 " [ uidrange NUMBER-NUMBER ]\n"
401- "ACTION := [ table TABLE_ID ]\n"
402- @@ -249 ,6 +252 ,16 @@
403- else
404- fprintf(fp, "fwmark 0x%x ", mark);
409+ " [ ipproto PROTOCOL ]\n"
410+ @@ -269 ,6 +272 ,16 @@
411+ print_0xhex(PRINT_ANY, "fwmark", "fwmark 0x%x ", mark);
412+ }
405413 }
406414+ #ifdef _SC_BUILD_
407415+ if (tb[RTA_SCMARK]) {
@@ -415,8 +423,8 @@ diff -urN work/iproute2-4.16.0/ip/iprule.c work/iproute2-4.16.0/ip/iprule.c
415423+ #endif
416424
417425 if (tb[FRA_IFNAME]) {
418- fprintf(fp, "iif %s ", rta_getattr_str(tb[FRA_IFNAME]));
419- @@ -654 ,7 +667 ,22 @@
426+ if (!is_json_context())
427+ @@ -758 ,7 +771 ,22 @@
420428 addattr32(&req.n, sizeof(req),
421429 FRA_FWMASK, fwmask);
422430 }
@@ -440,10 +448,10 @@ diff -urN work/iproute2-4.16.0/ip/iprule.c work/iproute2-4.16.0/ip/iprule.c
440448 __u32 realm;
441449
442450 NEXT_ARG();
443- diff -urN work/iproute2-4.16 .0/tc/f_fw.c work/iproute2-4.16 .0/tc/f_fw.c
444- --- work/iproute2-4.16 .0/tc/f_fw.c 2018-04-02 19:06:08 .000000000 +0200
445- +++ work/iproute2-4.16 .0/tc/f_fw.c 2018-04-20 21:21:16.020296574 +0200
446- @@ -109 ,6 +109 ,11 @@
451+ diff -urN work/iproute2-4.18 .0/tc/f_fw.c work/iproute2-4.18 .0/tc/f_fw.c
452+ --- work/iproute2-4.18 .0/tc/f_fw.c 2018-08-13 21:11:32 .000000000 +0200
453+ +++ work/iproute2-4.18 .0/tc/f_fw.c 2018-10-06 23:38:43.522788844 +0200
454+ @@ -108 ,6 +108 ,11 @@
447455 }
448456 strncpy(d, *argv, sizeof(d) - 1);
449457 addattr_l(n, MAX_MSG, TCA_FW_INDEV, d, strlen(d) + 1);
@@ -455,10 +463,10 @@ diff -urN work/iproute2-4.16.0/tc/f_fw.c work/iproute2-4.16.0/tc/f_fw.c
455463 } else if (strcmp(*argv, "help") == 0) {
456464 explain();
457465 return -1;
458- diff -urN work/iproute2-4.16 .0/tc/Makefile work/iproute2-4.16 .0/tc/Makefile
459- --- work/iproute2-4.16 .0/tc/Makefile 2018-04-02 19:06:08 .000000000 +0200
460- +++ work/iproute2-4.16 .0/tc/Makefile 2018-04-20 21:20:48.212385006 +0200
461- @@ -111 ,7 +111 ,7 @@
466+ diff -urN work/iproute2-4.18 .0/tc/Makefile work/iproute2-4.18 .0/tc/Makefile
467+ --- work/iproute2-4.18 .0/tc/Makefile 2018-08-13 21:11:32 .000000000 +0200
468+ +++ work/iproute2-4.18 .0/tc/Makefile 2018-10-06 23:59:22.967035093 +0200
469+ @@ -112 ,7 +112 ,7 @@
462470 TCLIB += tc_estimator.o
463471 TCLIB += tc_stab.o
464472
@@ -467,19 +475,18 @@ diff -urN work/iproute2-4.16.0/tc/Makefile work/iproute2-4.16.0/tc/Makefile
467475 ifneq ($(IPT_LIB_DIR),)
468476 CFLAGS += -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\"
469477 endif
470- diff -urN work/iproute2-4.16.0/tc/tc_util.c work/iproute2-4.16.0/tc/tc_util.c
471- --- work/iproute2-4.16.0/tc/tc_util.c 2018-04-02 19:06:08.000000000 +0200
472- +++ work/iproute2-4.16.0/tc/tc_util.c 2018-04-20 21:21:55.276171451 +0200
473- @@ -71,7 +71,7 @@
474-
478+ diff -urN work/iproute2-4.18.0/tc/tc_util.c work/iproute2-4.18.0/tc/tc_util.c
479+ --- work/iproute2-4.18.0/tc/tc_util.c 2018-08-13 21:11:32.000000000 +0200
480+ +++ work/iproute2-4.18.0/tc/tc_util.c 2018-10-06 23:41:07.470352887 +0200
481+ @@ -72,6 +72,7 @@
475482 return lib_dir;
476483 }
477- -
484+
478485+ #define rint(x) x
479486 int get_qdisc_handle(__u32 *h, const char *str)
480487 {
481488 __u32 maj;
482- @@ -257,7 +257 ,9 @@
489+ @@ -257,7 +258 ,9 @@
483490 int get_rate(unsigned int *rate, const char *str)
484491 {
485492 char *p;
0 commit comments