* [PATCH 1/2] iproute2: backport version 4.9.0 @ 2017-07-19 17:07 Jacob Stiffler 2017-07-19 17:07 ` [PATCH 2/2] iproute2: add hsr/prp support Jacob Stiffler 2017-07-19 17:20 ` [PATCH 1/2] iproute2: backport version 4.9.0 Denys Dmytriyenko 0 siblings, 2 replies; 4+ messages in thread From: Jacob Stiffler @ 2017-07-19 17:07 UTC (permalink / raw) To: meta-arago * Backport iproute2 4.9.0 from oe-core. * Recipes were directly copied from commit eac08770b1ea3ca6640941dc8fd03fc3fa5ff869 Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> --- .../recipes-connectivity/iproute2/iproute2.inc | 48 ++++++++ .../iproute2/0001-iproute2-de-bash-scripts.patch | 64 ++++++++++ .../iproute2/iproute2/configure-cross.patch | 32 +++++ .../iproute2/iproute2/iproute2-4.9.0-musl.patch | 131 +++++++++++++++++++++ .../iproute2/iproute2_4.9.0.bb | 14 +++ 5 files changed, 289 insertions(+) create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2/configure-cross.patch create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc b/meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc new file mode 100644 index 0000000..ce64888 --- /dev/null +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc @@ -0,0 +1,48 @@ +SUMMARY = "TCP / IP networking and traffic control utilities" +DESCRIPTION = "Iproute2 is a collection of utilities for controlling \ +TCP / IP networking and traffic control in Linux. Of the utilities ip \ +and tc are the most important. ip controls IPv4 and IPv6 \ +configuration and tc stands for traffic control." +HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" +SECTION = "base" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ + file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817" + +DEPENDS = "flex-native bison-native iptables elfutils" + +inherit update-alternatives bash-completion pkgconfig + +EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip bridge misc genl' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'" + +do_configure_append () { + sh configure ${STAGING_INCDIR} + # Explicitly disable ATM support + sed -i -e '/TC_CONFIG_ATM/d' Config +} + +do_install () { + oe_runmake DESTDIR=${D} install + mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2 + install -d ${D}${datadir} + mv ${D}/share/* ${D}${datadir}/ || true + rm ${D}/share -rf || true +} + +# The .so files in iproute2-tc are modules, not traditional libraries +INSANE_SKIP_${PN}-tc = "dev-so" + +PACKAGES =+ "${PN}-tc ${PN}-lnstat ${PN}-ifstat ${PN}-genl ${PN}-rtacct ${PN}-nstat ${PN}-ss" +FILES_${PN}-tc = "${base_sbindir}/tc* \ + ${libdir}/tc/*.so" +FILES_${PN}-lnstat = "${base_sbindir}/lnstat ${base_sbindir}/ctstat ${base_sbindir}/rtstat" +FILES_${PN}-ifstat = "${base_sbindir}/ifstat" +FILES_${PN}-genl = "${base_sbindir}/genl" +FILES_${PN}-rtacct = "${base_sbindir}/rtacct" +FILES_${PN}-nstat = "${base_sbindir}/nstat" +FILES_${PN}-ss = "${base_sbindir}/ss" + +ALTERNATIVE_${PN} = "ip" +ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}" +ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip" +ALTERNATIVE_PRIORITY = "100" diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch new file mode 100644 index 0000000..39c7d40 --- /dev/null +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch @@ -0,0 +1,64 @@ +Subject: [PATCH] iproute2: de-bash scripts + +de-bash these two scripts to make iproute2 not depend on bash. + +Upstream-Status: Pending + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> + +--- + ip/ifcfg | 15 ++++++++------- + ip/rtpr | 2 +- + 2 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/ip/ifcfg b/ip/ifcfg +index 083d9df..60bcf1f 100644 +--- a/ip/ifcfg ++++ b/ip/ifcfg +@@ -1,12 +1,13 @@ +-#! /bin/bash ++#! /bin/sh + + CheckForwarding () { +- local sbase fwd ++ local sbase fwd forwarding + sbase=/proc/sys/net/ipv4/conf + fwd=0 + if [ -d $sbase ]; then + for dir in $sbase/*/forwarding; do +- fwd=$[$fwd + `cat $dir`] ++ forwarding=`cat $dir` ++ fwd=$(($fwd+$forwarding)) + done + else + fwd=2 +@@ -127,12 +128,12 @@ fi + arping -q -A -c 1 -I $dev $ipaddr + noarp=$? + ( sleep 2 ; +- arping -q -U -c 1 -I $dev $ipaddr ) >& /dev/null </dev/null & ++ arping -q -U -c 1 -I $dev $ipaddr ) > /dev/null 2>&1 </dev/null & + +-ip route add unreachable 224.0.0.0/24 >& /dev/null +-ip route add unreachable 255.255.255.255 >& /dev/null ++ip route add unreachable 224.0.0.0/24 > /dev/null 2>&1 ++ip route add unreachable 255.255.255.255 > /dev/null 2>&1 + if [ `ip link ls $dev | grep -c MULTICAST` -ge 1 ]; then +- ip route add 224.0.0.0/4 dev $dev scope global >& /dev/null ++ ip route add 224.0.0.0/4 dev $dev scope global > /dev/null 2>&1 + fi + + if [ $fwd -eq 0 ]; then +diff --git a/ip/rtpr b/ip/rtpr +index c3629fd..674198d 100644 +--- a/ip/rtpr ++++ b/ip/rtpr +@@ -1,4 +1,4 @@ +-#! /bin/bash ++#! /bin/sh + + exec tr "[\\\\]" "[ + ]" +-- +1.7.9.5 + diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2/configure-cross.patch b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/configure-cross.patch new file mode 100644 index 0000000..866609c --- /dev/null +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/configure-cross.patch @@ -0,0 +1,32 @@ +From 85b0589b4843c03e8e6fd9416d71ea449a73c5c0 Mon Sep 17 00:00:00 2001 +From: Koen Kooi <koen@dominion.thruhere.net> +Date: Thu, 3 Nov 2011 10:46:16 +0100 +Subject: [PATCH] make configure cross compile safe + +According to Kevin Tian: +Upstream-Status: Pending + +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> +Signed-off-by: Shane Wang <shane.wang@intel.com> + +Index: iproute2-3.7.0/configure +=================================================================== +--- iproute2-3.7.0.orig/configure ++++ iproute2-3.7.0/configure +@@ -2,6 +2,7 @@ + # This is not an autconf generated configure + # + INCLUDE=${1:-"$PWD/include"} ++SYSROOT=$1 + + # Make a temp directory in build tree. + TMPDIR=$(mktemp -d config.XXXXXX) +@@ -158,7 +159,7 @@ check_ipt_lib_dir() + return + fi + +- for dir in /lib /usr/lib /usr/local/lib ++ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib + do + for file in $dir/{xtables,iptables}/lib*t_*so ; do + if [ -f $file ]; then diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch new file mode 100644 index 0000000..737a90c --- /dev/null +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch @@ -0,0 +1,131 @@ +Subject: [PATCH] Avoid in6_addr redefinition + +Due to both <netinet/in.h> and <linux/in6.h> being included, the +in6_addr is being redefined: once from the C library headers and once +from the kernel headers. This causes some build failures with for +example the musl C library. + +In order to fix this, use just the C library header <netinet/in.h>. +Original patch taken from +http://git.alpinelinux.org/cgit/aports/tree/main/iproute2/musl-fixes.patch. + +(Refreshed the patch for 4.9 release) + +Upstream-Status: Pending + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Signed-off-by: Maxin B. John <maxin.john@intel.com> +Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> +--- + include/libiptc/ipt_kernel_headers.h | 1 - + include/linux/if_bridge.h | 1 - + include/linux/if_tunnel.h | 2 -- + include/linux/netfilter.h | 2 -- + include/linux/netfilter_ipv4/ip_tables.h | 1 - + include/linux/xfrm.h | 1 - + include/utils.h | 1 + + ip/ip6tunnel.c | 1 - + 8 files changed, 1 insertion(+), 9 deletions(-) + +diff --git a/include/libiptc/ipt_kernel_headers.h b/include/libiptc/ipt_kernel_headers.h +index a5963e9..42f8610 100644 +--- a/include/libiptc/ipt_kernel_headers.h ++++ b/include/libiptc/ipt_kernel_headers.h +@@ -6,7 +6,6 @@ + #include <limits.h> + + #include <netinet/ip.h> +-#include <netinet/in.h> + #include <netinet/ip_icmp.h> + #include <netinet/tcp.h> + #include <netinet/udp.h> +diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h +index b7393dd..a7028ab 100644 +--- a/include/linux/if_bridge.h ++++ b/include/linux/if_bridge.h +@@ -15,7 +15,6 @@ + + #include <linux/types.h> + #include <linux/if_ether.h> +-#include <linux/in6.h> + + #define SYSFS_BRIDGE_ATTR "bridge" + #define SYSFS_BRIDGE_FDB "brforward" +diff --git a/include/linux/if_tunnel.h b/include/linux/if_tunnel.h +index 4f975f5..2680646 100644 +--- a/include/linux/if_tunnel.h ++++ b/include/linux/if_tunnel.h +@@ -2,9 +2,7 @@ + #define _IF_TUNNEL_H_ + + #include <linux/types.h> +-#include <linux/if.h> + #include <linux/ip.h> +-#include <linux/in6.h> + #include <asm/byteorder.h> + + +diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h +index b71b4c9..3e4e6ae 100644 +--- a/include/linux/netfilter.h ++++ b/include/linux/netfilter.h +@@ -4,8 +4,6 @@ + #include <linux/types.h> + + #include <linux/sysctl.h> +-#include <linux/in.h> +-#include <linux/in6.h> + + /* Responses from hook functions. */ + #define NF_DROP 0 +diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h +index 456fb86..38542b4 100644 +--- a/include/linux/netfilter_ipv4/ip_tables.h ++++ b/include/linux/netfilter_ipv4/ip_tables.h +@@ -17,7 +17,6 @@ + + #include <linux/types.h> + +-#include <linux/if.h> + #include <linux/netfilter_ipv4.h> + + #include <linux/netfilter/x_tables.h> +diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h +index d2dd1fd..8c72966 100644 +--- a/include/linux/xfrm.h ++++ b/include/linux/xfrm.h +@@ -1,7 +1,6 @@ + #ifndef _LINUX_XFRM_H + #define _LINUX_XFRM_H + +-#include <linux/in6.h> + #include <linux/types.h> + + /* All of the structures in this file may not change size as they are +diff --git a/include/utils.h b/include/utils.h +index 1b4f939..d10840b 100644 +--- a/include/utils.h ++++ b/include/utils.h +@@ -1,6 +1,7 @@ + #ifndef __UTILS_H__ + #define __UTILS_H__ 1 + ++#include <sys/param.h> /* MAXPATHLEN */ + #include <sys/types.h> + #include <asm/types.h> + #include <resolv.h> +diff --git a/ip/ip6tunnel.c b/ip/ip6tunnel.c +index b1c0ae6..8fa4eb2 100644 +--- a/ip/ip6tunnel.c ++++ b/ip/ip6tunnel.c +@@ -28,7 +28,6 @@ + #include <arpa/inet.h> + #include <sys/ioctl.h> + #include <linux/ip.h> +-#include <linux/if.h> + #include <linux/if_arp.h> + #include <linux/if_tunnel.h> + #include <linux/ip6_tunnel.h> +-- +2.7.4 + diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb b/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb new file mode 100644 index 0000000..808e550 --- /dev/null +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb @@ -0,0 +1,14 @@ +require iproute2.inc + +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ + file://configure-cross.patch \ + file://0001-iproute2-de-bash-scripts.patch \ + file://iproute2-4.9.0-musl.patch \ + " + +SRC_URI[md5sum] = "44a8371a4b2c40e48e4c9f98cbd41391" +SRC_URI[sha256sum] = "c0f30f043f7767cc1b2cd2197b08d4e9b2392c95823fabe30bbce308c30116c4" + +# CFLAGS are computed in Makefile and reference CCOPTS +# +EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'" -- 2.7.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] iproute2: add hsr/prp support 2017-07-19 17:07 [PATCH 1/2] iproute2: backport version 4.9.0 Jacob Stiffler @ 2017-07-19 17:07 ` Jacob Stiffler 2017-07-19 17:20 ` [PATCH 1/2] iproute2: backport version 4.9.0 Denys Dmytriyenko 1 sibling, 0 replies; 4+ messages in thread From: Jacob Stiffler @ 2017-07-19 17:07 UTC (permalink / raw) To: meta-arago Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> --- .../0001-ip-HSR-Fix-cut-and-paste-error.patch | 27 +++ .../0002-add-support-for-prp-similar-to-hsr.patch | 221 +++++++++++++++++++++ .../iproute2/iproute2_4.9.0.bb | 2 + 3 files changed, 250 insertions(+) create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-ip-HSR-Fix-cut-and-paste-error.patch create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2/0002-add-support-for-prp-similar-to-hsr.patch diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-ip-HSR-Fix-cut-and-paste-error.patch b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-ip-HSR-Fix-cut-and-paste-error.patch new file mode 100644 index 0000000..25249ab --- /dev/null +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-ip-HSR-Fix-cut-and-paste-error.patch @@ -0,0 +1,27 @@ +From 3f586aee3d617b1281d5c535caafd9f09d06f5fb Mon Sep 17 00:00:00 2001 +From: Ralf Baechle <ralf@linux-mips.org> +Date: Mon, 6 Feb 2017 21:47:35 +0100 +Subject: [PATCH 1/2] ip: HSR: Fix cut and paste error + +Fixes: 5c0aec93a516 ("ip: Add HSR support") +Signed-off-by: Ralf Baechle <ralf@linux-mips.org> +--- + ip/iplink_hsr.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ip/iplink_hsr.c b/ip/iplink_hsr.c +index cb744eb..696b2c9 100644 +--- a/ip/iplink_hsr.c ++++ b/ip/iplink_hsr.c +@@ -144,7 +144,7 @@ static void hsr_print_help(struct link_util *lu, int argc, char **argv, + + struct link_util hsr_link_util = { + .id = "hsr", +- .maxattr = IFLA_VLAN_MAX, ++ .maxattr = IFLA_HSR_MAX, + .parse_opt = hsr_parse_opt, + .print_opt = hsr_print_opt, + .print_help = hsr_print_help, +-- +1.9.1 + diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0002-add-support-for-prp-similar-to-hsr.patch b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0002-add-support-for-prp-similar-to-hsr.patch new file mode 100644 index 0000000..d0d74b5 --- /dev/null +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0002-add-support-for-prp-similar-to-hsr.patch @@ -0,0 +1,221 @@ +From c245063217c7c27c3b324c1faba3b69b50c50fd1 Mon Sep 17 00:00:00 2001 +From: Murali Karicheri <m-karicheri2@ti.com> +Date: Wed, 12 Apr 2017 16:23:37 -0400 +Subject: [PATCH 2/2] add support for prp similar to hsr + +prp protocol is similar to hsr in many aspects and this patch add a +command type prp to create prp interface using two slave interfaces +similar to hsr + +Signed-off-by: Murali Karicheri <m-karicheri2@ti.com> + +Conflicts: + include/linux/if_link.h + ip/Makefile +--- + include/linux/if_link.h | 14 ++++- + ip/Makefile | 2 +- + ip/iplink_prp.c | 141 ++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 154 insertions(+), 3 deletions(-) + create mode 100644 ip/iplink_prp.c + +diff --git a/include/linux/if_link.h b/include/linux/if_link.h +index 20965c9..6b9b59b 100644 +--- a/include/linux/if_link.h ++++ b/include/linux/if_link.h +@@ -810,7 +810,6 @@ enum { + + + /* HSR section */ +- + enum { + IFLA_HSR_UNSPEC, + IFLA_HSR_SLAVE1, +@@ -821,7 +820,6 @@ enum { + IFLA_HSR_VERSION, /* HSR version */ + __IFLA_HSR_MAX, + }; +- + #define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1) + + /* STATS section */ +@@ -881,4 +879,16 @@ enum { + + #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1) + ++/* PRP section */ ++enum { ++ IFLA_PRP_UNSPEC, ++ IFLA_PRP_SLAVE1, ++ IFLA_PRP_SLAVE2, ++ IFLA_PRP_MULTICAST_SPEC, /* Last byte of supervision addr */ ++ IFLA_PRP_SUPERVISION_ADDR, /* Supervision frame multicast addr */ ++ IFLA_PRP_SEQ_NR, ++ __IFLA_PRP_MAX, ++}; ++#define IFLA_PRP_MAX (__IFLA_PRP_MAX - 1) ++ + #endif /* _LINUX_IF_LINK_H */ +diff --git a/ip/Makefile b/ip/Makefile +index 86c8cdc..95f0fa5 100644 +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -6,7 +6,7 @@ IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o ipnetns.o \ + iplink_macvlan.o ipl2tp.o link_vti.o link_vti6.o \ + iplink_vxlan.o tcp_metrics.o iplink_ipoib.o ipnetconf.o link_ip6tnl.o \ + link_iptnl.o link_gre6.o iplink_bond.o iplink_bond_slave.o iplink_hsr.o \ +- iplink_bridge.o iplink_bridge_slave.o ipfou.o iplink_ipvlan.o \ ++ iplink_prp.o iplink_bridge.o iplink_bridge_slave.o ipfou.o iplink_ipvlan.o \ + iplink_geneve.o iplink_vrf.o iproute_lwtunnel.o ipmacsec.o ipila.o + + RTMONOBJ=rtmon.o +diff --git a/ip/iplink_prp.c b/ip/iplink_prp.c +new file mode 100644 +index 0000000..c1e5a3b +--- /dev/null ++++ b/ip/iplink_prp.c +@@ -0,0 +1,141 @@ ++/* ++ * iplink_prp.c PRP device support ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version ++ * 2 of the License, or (at your option) any later version. ++ * ++ * Authors: Murali Karicheri <m-karicheri2@ti.com> ++ * ++ * Based on iplink_hsr.c by Arvid Brodin <arvid.brodin@alten.se> ++ */ ++ ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include <sys/socket.h> /* Needed by linux/if.h for some reason */ ++#include <linux/if.h> ++#include <linux/if_arp.h> ++#include "rt_names.h" ++#include "utils.h" ++#include "ip_common.h" ++ ++static void print_usage(FILE *f) ++{ ++ fprintf(f, ++"Usage:\tip link add name NAME type prp slave1 SLAVE1-IF slave2 SLAVE2-IF\n" ++"\t[ supervision ADDR-BYTE ]\n" ++"\n" ++"NAME\n" ++" name of new prp device (e.g. prp0)\n" ++"SLAVE1-IF, SLAVE2-IF\n" ++" the two slave devices bound to the PRP device\n" ++"ADDR-BYTE\n" ++" 0-255; the last byte of the multicast address used for HSR supervision\n" ++" frames (default = 0)\n"); ++} ++ ++static void usage(void) ++{ ++ print_usage(stderr); ++} ++ ++static int prp_parse_opt(struct link_util *lu, int argc, char **argv, ++ struct nlmsghdr *n) ++{ ++ int ifindex; ++ unsigned char multicast_spec; ++ ++ while (argc > 0) { ++ if (matches(*argv, "supervision") == 0) { ++ NEXT_ARG(); ++ if (get_u8(&multicast_spec, *argv, 0)) ++ invarg("ADDR-BYTE is invalid", *argv); ++ addattr_l(n, 1024, IFLA_HSR_MULTICAST_SPEC, ++ &multicast_spec, 1); ++ } else if (matches(*argv, "slave1") == 0) { ++ NEXT_ARG(); ++ ifindex = ll_name_to_index(*argv); ++ if (ifindex == 0) ++ invarg("No such interface", *argv); ++ addattr_l(n, 1024, IFLA_HSR_SLAVE1, &ifindex, 4); ++ } else if (matches(*argv, "slave2") == 0) { ++ NEXT_ARG(); ++ ifindex = ll_name_to_index(*argv); ++ if (ifindex == 0) ++ invarg("No such interface", *argv); ++ addattr_l(n, 1024, IFLA_HSR_SLAVE2, &ifindex, 4); ++ } else if (matches(*argv, "help") == 0) { ++ usage(); ++ return -1; ++ } else { ++ fprintf(stderr, "prp: what is \"%s\"?\n", *argv); ++ usage(); ++ return -1; ++ } ++ argc--, argv++; ++ } ++ ++ return 0; ++} ++ ++static void prp_print_opt(struct link_util *lu, FILE *f, struct rtattr *tb[]) ++{ ++ SPRINT_BUF(b1); ++ ++ if (!tb) ++ return; ++ ++ if (tb[IFLA_HSR_SLAVE1] && ++ RTA_PAYLOAD(tb[IFLA_HSR_SLAVE1]) < sizeof(__u32)) ++ return; ++ if (tb[IFLA_HSR_SLAVE2] && ++ RTA_PAYLOAD(tb[IFLA_HSR_SLAVE2]) < sizeof(__u32)) ++ return; ++ if (tb[IFLA_HSR_SEQ_NR] && ++ RTA_PAYLOAD(tb[IFLA_HSR_SEQ_NR]) < sizeof(__u16)) ++ return; ++ if (tb[IFLA_HSR_SUPERVISION_ADDR] && ++ RTA_PAYLOAD(tb[IFLA_HSR_SUPERVISION_ADDR]) < ETH_ALEN) ++ return; ++ ++ fprintf(f, "slave1 "); ++ if (tb[IFLA_HSR_SLAVE1]) ++ fprintf(f, "%s ", ++ ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE1]))); ++ else ++ fprintf(f, "<none> "); ++ ++ fprintf(f, "slave2 "); ++ if (tb[IFLA_HSR_SLAVE2]) ++ fprintf(f, "%s ", ++ ll_index_to_name(rta_getattr_u32(tb[IFLA_HSR_SLAVE2]))); ++ else ++ fprintf(f, "<none> "); ++ ++ if (tb[IFLA_HSR_SEQ_NR]) ++ fprintf(f, "sequence %d ", ++ rta_getattr_u16(tb[IFLA_HSR_SEQ_NR])); ++ ++ if (tb[IFLA_HSR_SUPERVISION_ADDR]) ++ fprintf(f, "supervision %s ", ++ ll_addr_n2a(RTA_DATA(tb[IFLA_HSR_SUPERVISION_ADDR]), ++ RTA_PAYLOAD(tb[IFLA_HSR_SUPERVISION_ADDR]), ++ ARPHRD_VOID, ++ b1, sizeof(b1))); ++} ++ ++static void prp_print_help(struct link_util *lu, int argc, char **argv, ++ FILE *f) ++{ ++ print_usage(f); ++} ++ ++struct link_util prp_link_util = { ++ .id = "prp", ++ .maxattr = IFLA_VLAN_MAX, ++ .parse_opt = prp_parse_opt, ++ .print_opt = prp_print_opt, ++ .print_help = prp_print_help, ++}; +-- +1.9.1 + diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb b/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb index 808e550..f92ea31 100644 --- a/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb @@ -4,6 +4,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ file://configure-cross.patch \ file://0001-iproute2-de-bash-scripts.patch \ file://iproute2-4.9.0-musl.patch \ + file://0001-ip-HSR-Fix-cut-and-paste-error.patch \ + file://0002-add-support-for-prp-similar-to-hsr.patch \ " SRC_URI[md5sum] = "44a8371a4b2c40e48e4c9f98cbd41391" -- 2.7.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] iproute2: backport version 4.9.0 2017-07-19 17:07 [PATCH 1/2] iproute2: backport version 4.9.0 Jacob Stiffler 2017-07-19 17:07 ` [PATCH 2/2] iproute2: add hsr/prp support Jacob Stiffler @ 2017-07-19 17:20 ` Denys Dmytriyenko 2017-07-19 17:42 ` Stiffler, Jacob 1 sibling, 1 reply; 4+ messages in thread From: Denys Dmytriyenko @ 2017-07-19 17:20 UTC (permalink / raw) To: Jacob Stiffler; +Cc: meta-arago Thanks! The pristine 4.9 updated recipe should probably go into meta-arago-extras and the followup patch as bbappend in meta-arago-distro. -- Denys On Wed, Jul 19, 2017 at 01:07:47PM -0400, Jacob Stiffler wrote: > * Backport iproute2 4.9.0 from oe-core. > * Recipes were directly copied from commit > eac08770b1ea3ca6640941dc8fd03fc3fa5ff869 > > Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> > --- > .../recipes-connectivity/iproute2/iproute2.inc | 48 ++++++++ > .../iproute2/0001-iproute2-de-bash-scripts.patch | 64 ++++++++++ > .../iproute2/iproute2/configure-cross.patch | 32 +++++ > .../iproute2/iproute2/iproute2-4.9.0-musl.patch | 131 +++++++++++++++++++++ > .../iproute2/iproute2_4.9.0.bb | 14 +++ > 5 files changed, 289 insertions(+) > create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc > create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch > create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2/configure-cross.patch > create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch > create mode 100644 meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb > > diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc b/meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc > new file mode 100644 > index 0000000..ce64888 > --- /dev/null > +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc > @@ -0,0 +1,48 @@ > +SUMMARY = "TCP / IP networking and traffic control utilities" > +DESCRIPTION = "Iproute2 is a collection of utilities for controlling \ > +TCP / IP networking and traffic control in Linux. Of the utilities ip \ > +and tc are the most important. ip controls IPv4 and IPv6 \ > +configuration and tc stands for traffic control." > +HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" > +SECTION = "base" > +LICENSE = "GPLv2+" > +LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ > + file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817" > + > +DEPENDS = "flex-native bison-native iptables elfutils" > + > +inherit update-alternatives bash-completion pkgconfig > + > +EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip bridge misc genl' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'" > + > +do_configure_append () { > + sh configure ${STAGING_INCDIR} > + # Explicitly disable ATM support > + sed -i -e '/TC_CONFIG_ATM/d' Config > +} > + > +do_install () { > + oe_runmake DESTDIR=${D} install > + mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2 > + install -d ${D}${datadir} > + mv ${D}/share/* ${D}${datadir}/ || true > + rm ${D}/share -rf || true > +} > + > +# The .so files in iproute2-tc are modules, not traditional libraries > +INSANE_SKIP_${PN}-tc = "dev-so" > + > +PACKAGES =+ "${PN}-tc ${PN}-lnstat ${PN}-ifstat ${PN}-genl ${PN}-rtacct ${PN}-nstat ${PN}-ss" > +FILES_${PN}-tc = "${base_sbindir}/tc* \ > + ${libdir}/tc/*.so" > +FILES_${PN}-lnstat = "${base_sbindir}/lnstat ${base_sbindir}/ctstat ${base_sbindir}/rtstat" > +FILES_${PN}-ifstat = "${base_sbindir}/ifstat" > +FILES_${PN}-genl = "${base_sbindir}/genl" > +FILES_${PN}-rtacct = "${base_sbindir}/rtacct" > +FILES_${PN}-nstat = "${base_sbindir}/nstat" > +FILES_${PN}-ss = "${base_sbindir}/ss" > + > +ALTERNATIVE_${PN} = "ip" > +ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}" > +ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip" > +ALTERNATIVE_PRIORITY = "100" > diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch > new file mode 100644 > index 0000000..39c7d40 > --- /dev/null > +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch > @@ -0,0 +1,64 @@ > +Subject: [PATCH] iproute2: de-bash scripts > + > +de-bash these two scripts to make iproute2 not depend on bash. > + > +Upstream-Status: Pending > + > +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> > + > +--- > + ip/ifcfg | 15 ++++++++------- > + ip/rtpr | 2 +- > + 2 files changed, 9 insertions(+), 8 deletions(-) > + > +diff --git a/ip/ifcfg b/ip/ifcfg > +index 083d9df..60bcf1f 100644 > +--- a/ip/ifcfg > ++++ b/ip/ifcfg > +@@ -1,12 +1,13 @@ > +-#! /bin/bash > ++#! /bin/sh > + > + CheckForwarding () { > +- local sbase fwd > ++ local sbase fwd forwarding > + sbase=/proc/sys/net/ipv4/conf > + fwd=0 > + if [ -d $sbase ]; then > + for dir in $sbase/*/forwarding; do > +- fwd=$[$fwd + `cat $dir`] > ++ forwarding=`cat $dir` > ++ fwd=$(($fwd+$forwarding)) > + done > + else > + fwd=2 > +@@ -127,12 +128,12 @@ fi > + arping -q -A -c 1 -I $dev $ipaddr > + noarp=$? > + ( sleep 2 ; > +- arping -q -U -c 1 -I $dev $ipaddr ) >& /dev/null </dev/null & > ++ arping -q -U -c 1 -I $dev $ipaddr ) > /dev/null 2>&1 </dev/null & > + > +-ip route add unreachable 224.0.0.0/24 >& /dev/null > +-ip route add unreachable 255.255.255.255 >& /dev/null > ++ip route add unreachable 224.0.0.0/24 > /dev/null 2>&1 > ++ip route add unreachable 255.255.255.255 > /dev/null 2>&1 > + if [ `ip link ls $dev | grep -c MULTICAST` -ge 1 ]; then > +- ip route add 224.0.0.0/4 dev $dev scope global >& /dev/null > ++ ip route add 224.0.0.0/4 dev $dev scope global > /dev/null 2>&1 > + fi > + > + if [ $fwd -eq 0 ]; then > +diff --git a/ip/rtpr b/ip/rtpr > +index c3629fd..674198d 100644 > +--- a/ip/rtpr > ++++ b/ip/rtpr > +@@ -1,4 +1,4 @@ > +-#! /bin/bash > ++#! /bin/sh > + > + exec tr "[\\\\]" "[ > + ]" > +-- > +1.7.9.5 > + > diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2/configure-cross.patch b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/configure-cross.patch > new file mode 100644 > index 0000000..866609c > --- /dev/null > +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/configure-cross.patch > @@ -0,0 +1,32 @@ > +From 85b0589b4843c03e8e6fd9416d71ea449a73c5c0 Mon Sep 17 00:00:00 2001 > +From: Koen Kooi <koen@dominion.thruhere.net> > +Date: Thu, 3 Nov 2011 10:46:16 +0100 > +Subject: [PATCH] make configure cross compile safe > + > +According to Kevin Tian: > +Upstream-Status: Pending > + > +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> > +Signed-off-by: Shane Wang <shane.wang@intel.com> > + > +Index: iproute2-3.7.0/configure > +=================================================================== > +--- iproute2-3.7.0.orig/configure > ++++ iproute2-3.7.0/configure > +@@ -2,6 +2,7 @@ > + # This is not an autconf generated configure > + # > + INCLUDE=${1:-"$PWD/include"} > ++SYSROOT=$1 > + > + # Make a temp directory in build tree. > + TMPDIR=$(mktemp -d config.XXXXXX) > +@@ -158,7 +159,7 @@ check_ipt_lib_dir() > + return > + fi > + > +- for dir in /lib /usr/lib /usr/local/lib > ++ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib > + do > + for file in $dir/{xtables,iptables}/lib*t_*so ; do > + if [ -f $file ]; then > diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch > new file mode 100644 > index 0000000..737a90c > --- /dev/null > +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch > @@ -0,0 +1,131 @@ > +Subject: [PATCH] Avoid in6_addr redefinition > + > +Due to both <netinet/in.h> and <linux/in6.h> being included, the > +in6_addr is being redefined: once from the C library headers and once > +from the kernel headers. This causes some build failures with for > +example the musl C library. > + > +In order to fix this, use just the C library header <netinet/in.h>. > +Original patch taken from > +http://git.alpinelinux.org/cgit/aports/tree/main/iproute2/musl-fixes.patch. > + > +(Refreshed the patch for 4.9 release) > + > +Upstream-Status: Pending > + > +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > +Signed-off-by: Maxin B. John <maxin.john@intel.com> > +Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> > +--- > + include/libiptc/ipt_kernel_headers.h | 1 - > + include/linux/if_bridge.h | 1 - > + include/linux/if_tunnel.h | 2 -- > + include/linux/netfilter.h | 2 -- > + include/linux/netfilter_ipv4/ip_tables.h | 1 - > + include/linux/xfrm.h | 1 - > + include/utils.h | 1 + > + ip/ip6tunnel.c | 1 - > + 8 files changed, 1 insertion(+), 9 deletions(-) > + > +diff --git a/include/libiptc/ipt_kernel_headers.h b/include/libiptc/ipt_kernel_headers.h > +index a5963e9..42f8610 100644 > +--- a/include/libiptc/ipt_kernel_headers.h > ++++ b/include/libiptc/ipt_kernel_headers.h > +@@ -6,7 +6,6 @@ > + #include <limits.h> > + > + #include <netinet/ip.h> > +-#include <netinet/in.h> > + #include <netinet/ip_icmp.h> > + #include <netinet/tcp.h> > + #include <netinet/udp.h> > +diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h > +index b7393dd..a7028ab 100644 > +--- a/include/linux/if_bridge.h > ++++ b/include/linux/if_bridge.h > +@@ -15,7 +15,6 @@ > + > + #include <linux/types.h> > + #include <linux/if_ether.h> > +-#include <linux/in6.h> > + > + #define SYSFS_BRIDGE_ATTR "bridge" > + #define SYSFS_BRIDGE_FDB "brforward" > +diff --git a/include/linux/if_tunnel.h b/include/linux/if_tunnel.h > +index 4f975f5..2680646 100644 > +--- a/include/linux/if_tunnel.h > ++++ b/include/linux/if_tunnel.h > +@@ -2,9 +2,7 @@ > + #define _IF_TUNNEL_H_ > + > + #include <linux/types.h> > +-#include <linux/if.h> > + #include <linux/ip.h> > +-#include <linux/in6.h> > + #include <asm/byteorder.h> > + > + > +diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h > +index b71b4c9..3e4e6ae 100644 > +--- a/include/linux/netfilter.h > ++++ b/include/linux/netfilter.h > +@@ -4,8 +4,6 @@ > + #include <linux/types.h> > + > + #include <linux/sysctl.h> > +-#include <linux/in.h> > +-#include <linux/in6.h> > + > + /* Responses from hook functions. */ > + #define NF_DROP 0 > +diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h > +index 456fb86..38542b4 100644 > +--- a/include/linux/netfilter_ipv4/ip_tables.h > ++++ b/include/linux/netfilter_ipv4/ip_tables.h > +@@ -17,7 +17,6 @@ > + > + #include <linux/types.h> > + > +-#include <linux/if.h> > + #include <linux/netfilter_ipv4.h> > + > + #include <linux/netfilter/x_tables.h> > +diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h > +index d2dd1fd..8c72966 100644 > +--- a/include/linux/xfrm.h > ++++ b/include/linux/xfrm.h > +@@ -1,7 +1,6 @@ > + #ifndef _LINUX_XFRM_H > + #define _LINUX_XFRM_H > + > +-#include <linux/in6.h> > + #include <linux/types.h> > + > + /* All of the structures in this file may not change size as they are > +diff --git a/include/utils.h b/include/utils.h > +index 1b4f939..d10840b 100644 > +--- a/include/utils.h > ++++ b/include/utils.h > +@@ -1,6 +1,7 @@ > + #ifndef __UTILS_H__ > + #define __UTILS_H__ 1 > + > ++#include <sys/param.h> /* MAXPATHLEN */ > + #include <sys/types.h> > + #include <asm/types.h> > + #include <resolv.h> > +diff --git a/ip/ip6tunnel.c b/ip/ip6tunnel.c > +index b1c0ae6..8fa4eb2 100644 > +--- a/ip/ip6tunnel.c > ++++ b/ip/ip6tunnel.c > +@@ -28,7 +28,6 @@ > + #include <arpa/inet.h> > + #include <sys/ioctl.h> > + #include <linux/ip.h> > +-#include <linux/if.h> > + #include <linux/if_arp.h> > + #include <linux/if_tunnel.h> > + #include <linux/ip6_tunnel.h> > +-- > +2.7.4 > + > diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb b/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb > new file mode 100644 > index 0000000..808e550 > --- /dev/null > +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb > @@ -0,0 +1,14 @@ > +require iproute2.inc > + > +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ > + file://configure-cross.patch \ > + file://0001-iproute2-de-bash-scripts.patch \ > + file://iproute2-4.9.0-musl.patch \ > + " > + > +SRC_URI[md5sum] = "44a8371a4b2c40e48e4c9f98cbd41391" > +SRC_URI[sha256sum] = "c0f30f043f7767cc1b2cd2197b08d4e9b2392c95823fabe30bbce308c30116c4" > + > +# CFLAGS are computed in Makefile and reference CCOPTS > +# > +EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'" > -- > 2.7.4 > > _______________________________________________ > meta-arago mailing list > meta-arago@arago-project.org > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] iproute2: backport version 4.9.0 2017-07-19 17:20 ` [PATCH 1/2] iproute2: backport version 4.9.0 Denys Dmytriyenko @ 2017-07-19 17:42 ` Stiffler, Jacob 0 siblings, 0 replies; 4+ messages in thread From: Stiffler, Jacob @ 2017-07-19 17:42 UTC (permalink / raw) To: Dmytriyenko, Denys; +Cc: meta-arago@arago-project.org Alright, I'll make the change now. > -----Original Message----- > From: Dmytriyenko, Denys > Sent: Wednesday, July 19, 2017 1:21 PM > To: Stiffler, Jacob > Cc: meta-arago@arago-project.org > Subject: Re: [meta-arago] [PATCH 1/2] iproute2: backport version 4.9.0 > > Thanks! > The pristine 4.9 updated recipe should probably go into meta-arago-extras > and the followup patch as bbappend in meta-arago-distro. > > -- > Denys > > > On Wed, Jul 19, 2017 at 01:07:47PM -0400, Jacob Stiffler wrote: > > * Backport iproute2 4.9.0 from oe-core. > > * Recipes were directly copied from commit > > eac08770b1ea3ca6640941dc8fd03fc3fa5ff869 > > > > Signed-off-by: Jacob Stiffler <j-stiffler@ti.com> > > --- > > .../recipes-connectivity/iproute2/iproute2.inc | 48 ++++++++ > > .../iproute2/0001-iproute2-de-bash-scripts.patch | 64 ++++++++++ > > .../iproute2/iproute2/configure-cross.patch | 32 +++++ > > .../iproute2/iproute2/iproute2-4.9.0-musl.patch | 131 > +++++++++++++++++++++ > > .../iproute2/iproute2_4.9.0.bb | 14 +++ > > 5 files changed, 289 insertions(+) > > create mode 100644 meta-arago-distro/recipes- > connectivity/iproute2/iproute2.inc > > create mode 100644 meta-arago-distro/recipes- > connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch > > create mode 100644 meta-arago-distro/recipes- > connectivity/iproute2/iproute2/configure-cross.patch > > create mode 100644 meta-arago-distro/recipes- > connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch > > create mode 100644 meta-arago-distro/recipes- > connectivity/iproute2/iproute2_4.9.0.bb > > > > diff --git a/meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc > b/meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc > > new file mode 100644 > > index 0000000..ce64888 > > --- /dev/null > > +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2.inc > > @@ -0,0 +1,48 @@ > > +SUMMARY = "TCP / IP networking and traffic control utilities" > > +DESCRIPTION = "Iproute2 is a collection of utilities for controlling \ > > +TCP / IP networking and traffic control in Linux. Of the utilities ip \ > > +and tc are the most important. ip controls IPv4 and IPv6 \ > > +configuration and tc stands for traffic control." > > +HOMEPAGE = > "http://www.linuxfoundation.org/collaborate/workgroups/networking/ipr > oute2" > > +SECTION = "base" > > +LICENSE = "GPLv2+" > > +LIC_FILES_CHKSUM = > "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ > > + > file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31 > 817" > > + > > +DEPENDS = "flex-native bison-native iptables elfutils" > > + > > +inherit update-alternatives bash-completion pkgconfig > > + > > +EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} > DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip bridge misc genl' > SBINDIR='${base_sbindir}' LIBDIR='${libdir}'" > > + > > +do_configure_append () { > > + sh configure ${STAGING_INCDIR} > > + # Explicitly disable ATM support > > + sed -i -e '/TC_CONFIG_ATM/d' Config > > +} > > + > > +do_install () { > > + oe_runmake DESTDIR=${D} install > > + mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2 > > + install -d ${D}${datadir} > > + mv ${D}/share/* ${D}${datadir}/ || true > > + rm ${D}/share -rf || true > > +} > > + > > +# The .so files in iproute2-tc are modules, not traditional libraries > > +INSANE_SKIP_${PN}-tc = "dev-so" > > + > > +PACKAGES =+ "${PN}-tc ${PN}-lnstat ${PN}-ifstat ${PN}-genl ${PN}-rtacct > ${PN}-nstat ${PN}-ss" > > +FILES_${PN}-tc = "${base_sbindir}/tc* \ > > + ${libdir}/tc/*.so" > > +FILES_${PN}-lnstat = "${base_sbindir}/lnstat ${base_sbindir}/ctstat > ${base_sbindir}/rtstat" > > +FILES_${PN}-ifstat = "${base_sbindir}/ifstat" > > +FILES_${PN}-genl = "${base_sbindir}/genl" > > +FILES_${PN}-rtacct = "${base_sbindir}/rtacct" > > +FILES_${PN}-nstat = "${base_sbindir}/nstat" > > +FILES_${PN}-ss = "${base_sbindir}/ss" > > + > > +ALTERNATIVE_${PN} = "ip" > > +ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}" > > +ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip" > > +ALTERNATIVE_PRIORITY = "100" > > diff --git a/meta-arago-distro/recipes- > connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch > b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001- > iproute2-de-bash-scripts.patch > > new file mode 100644 > > index 0000000..39c7d40 > > --- /dev/null > > +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2/0001- > iproute2-de-bash-scripts.patch > > @@ -0,0 +1,64 @@ > > +Subject: [PATCH] iproute2: de-bash scripts > > + > > +de-bash these two scripts to make iproute2 not depend on bash. > > + > > +Upstream-Status: Pending > > + > > +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> > > + > > +--- > > + ip/ifcfg | 15 ++++++++------- > > + ip/rtpr | 2 +- > > + 2 files changed, 9 insertions(+), 8 deletions(-) > > + > > +diff --git a/ip/ifcfg b/ip/ifcfg > > +index 083d9df..60bcf1f 100644 > > +--- a/ip/ifcfg > > ++++ b/ip/ifcfg > > +@@ -1,12 +1,13 @@ > > +-#! /bin/bash > > ++#! /bin/sh > > + > > + CheckForwarding () { > > +- local sbase fwd > > ++ local sbase fwd forwarding > > + sbase=/proc/sys/net/ipv4/conf > > + fwd=0 > > + if [ -d $sbase ]; then > > + for dir in $sbase/*/forwarding; do > > +- fwd=$[$fwd + `cat $dir`] > > ++ forwarding=`cat $dir` > > ++ fwd=$(($fwd+$forwarding)) > > + done > > + else > > + fwd=2 > > +@@ -127,12 +128,12 @@ fi > > + arping -q -A -c 1 -I $dev $ipaddr > > + noarp=$? > > + ( sleep 2 ; > > +- arping -q -U -c 1 -I $dev $ipaddr ) >& /dev/null </dev/null & > > ++ arping -q -U -c 1 -I $dev $ipaddr ) > /dev/null 2>&1 </dev/null & > > + > > +-ip route add unreachable 224.0.0.0/24 >& /dev/null > > +-ip route add unreachable 255.255.255.255 >& /dev/null > > ++ip route add unreachable 224.0.0.0/24 > /dev/null 2>&1 > > ++ip route add unreachable 255.255.255.255 > /dev/null 2>&1 > > + if [ `ip link ls $dev | grep -c MULTICAST` -ge 1 ]; then > > +- ip route add 224.0.0.0/4 dev $dev scope global >& /dev/null > > ++ ip route add 224.0.0.0/4 dev $dev scope global > /dev/null 2>&1 > > + fi > > + > > + if [ $fwd -eq 0 ]; then > > +diff --git a/ip/rtpr b/ip/rtpr > > +index c3629fd..674198d 100644 > > +--- a/ip/rtpr > > ++++ b/ip/rtpr > > +@@ -1,4 +1,4 @@ > > +-#! /bin/bash > > ++#! /bin/sh > > + > > + exec tr "[\\\\]" "[ > > + ]" > > +-- > > +1.7.9.5 > > + > > diff --git a/meta-arago-distro/recipes- > connectivity/iproute2/iproute2/configure-cross.patch b/meta-arago- > distro/recipes-connectivity/iproute2/iproute2/configure-cross.patch > > new file mode 100644 > > index 0000000..866609c > > --- /dev/null > > +++ b/meta-arago-distro/recipes- > connectivity/iproute2/iproute2/configure-cross.patch > > @@ -0,0 +1,32 @@ > > +From 85b0589b4843c03e8e6fd9416d71ea449a73c5c0 Mon Sep 17 00:00:00 > 2001 > > +From: Koen Kooi <koen@dominion.thruhere.net> > > +Date: Thu, 3 Nov 2011 10:46:16 +0100 > > +Subject: [PATCH] make configure cross compile safe > > + > > +According to Kevin Tian: > > +Upstream-Status: Pending > > + > > +Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> > > +Signed-off-by: Shane Wang <shane.wang@intel.com> > > + > > +Index: iproute2-3.7.0/configure > > > +================================================================== > = > > +--- iproute2-3.7.0.orig/configure > > ++++ iproute2-3.7.0/configure > > +@@ -2,6 +2,7 @@ > > + # This is not an autconf generated configure > > + # > > + INCLUDE=${1:-"$PWD/include"} > > ++SYSROOT=$1 > > + > > + # Make a temp directory in build tree. > > + TMPDIR=$(mktemp -d config.XXXXXX) > > +@@ -158,7 +159,7 @@ check_ipt_lib_dir() > > + return > > + fi > > + > > +- for dir in /lib /usr/lib /usr/local/lib > > ++ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib > > + do > > + for file in $dir/{xtables,iptables}/lib*t_*so ; do > > + if [ -f $file ]; then > > diff --git a/meta-arago-distro/recipes- > connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch b/meta-arago- > distro/recipes-connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch > > new file mode 100644 > > index 0000000..737a90c > > --- /dev/null > > +++ b/meta-arago-distro/recipes- > connectivity/iproute2/iproute2/iproute2-4.9.0-musl.patch > > @@ -0,0 +1,131 @@ > > +Subject: [PATCH] Avoid in6_addr redefinition > > + > > +Due to both <netinet/in.h> and <linux/in6.h> being included, the > > +in6_addr is being redefined: once from the C library headers and once > > +from the kernel headers. This causes some build failures with for > > +example the musl C library. > > + > > +In order to fix this, use just the C library header <netinet/in.h>. > > +Original patch taken from > > +http://git.alpinelinux.org/cgit/aports/tree/main/iproute2/musl- > fixes.patch. > > + > > +(Refreshed the patch for 4.9 release) > > + > > +Upstream-Status: Pending > > + > > +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free- > electrons.com> > > +Signed-off-by: Maxin B. John <maxin.john@intel.com> > > +Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> > > +--- > > + include/libiptc/ipt_kernel_headers.h | 1 - > > + include/linux/if_bridge.h | 1 - > > + include/linux/if_tunnel.h | 2 -- > > + include/linux/netfilter.h | 2 -- > > + include/linux/netfilter_ipv4/ip_tables.h | 1 - > > + include/linux/xfrm.h | 1 - > > + include/utils.h | 1 + > > + ip/ip6tunnel.c | 1 - > > + 8 files changed, 1 insertion(+), 9 deletions(-) > > + > > +diff --git a/include/libiptc/ipt_kernel_headers.h > b/include/libiptc/ipt_kernel_headers.h > > +index a5963e9..42f8610 100644 > > +--- a/include/libiptc/ipt_kernel_headers.h > > ++++ b/include/libiptc/ipt_kernel_headers.h > > +@@ -6,7 +6,6 @@ > > + #include <limits.h> > > + > > + #include <netinet/ip.h> > > +-#include <netinet/in.h> > > + #include <netinet/ip_icmp.h> > > + #include <netinet/tcp.h> > > + #include <netinet/udp.h> > > +diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h > > +index b7393dd..a7028ab 100644 > > +--- a/include/linux/if_bridge.h > > ++++ b/include/linux/if_bridge.h > > +@@ -15,7 +15,6 @@ > > + > > + #include <linux/types.h> > > + #include <linux/if_ether.h> > > +-#include <linux/in6.h> > > + > > + #define SYSFS_BRIDGE_ATTR "bridge" > > + #define SYSFS_BRIDGE_FDB "brforward" > > +diff --git a/include/linux/if_tunnel.h b/include/linux/if_tunnel.h > > +index 4f975f5..2680646 100644 > > +--- a/include/linux/if_tunnel.h > > ++++ b/include/linux/if_tunnel.h > > +@@ -2,9 +2,7 @@ > > + #define _IF_TUNNEL_H_ > > + > > + #include <linux/types.h> > > +-#include <linux/if.h> > > + #include <linux/ip.h> > > +-#include <linux/in6.h> > > + #include <asm/byteorder.h> > > + > > + > > +diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h > > +index b71b4c9..3e4e6ae 100644 > > +--- a/include/linux/netfilter.h > > ++++ b/include/linux/netfilter.h > > +@@ -4,8 +4,6 @@ > > + #include <linux/types.h> > > + > > + #include <linux/sysctl.h> > > +-#include <linux/in.h> > > +-#include <linux/in6.h> > > + > > + /* Responses from hook functions. */ > > + #define NF_DROP 0 > > +diff --git a/include/linux/netfilter_ipv4/ip_tables.h > b/include/linux/netfilter_ipv4/ip_tables.h > > +index 456fb86..38542b4 100644 > > +--- a/include/linux/netfilter_ipv4/ip_tables.h > > ++++ b/include/linux/netfilter_ipv4/ip_tables.h > > +@@ -17,7 +17,6 @@ > > + > > + #include <linux/types.h> > > + > > +-#include <linux/if.h> > > + #include <linux/netfilter_ipv4.h> > > + > > + #include <linux/netfilter/x_tables.h> > > +diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h > > +index d2dd1fd..8c72966 100644 > > +--- a/include/linux/xfrm.h > > ++++ b/include/linux/xfrm.h > > +@@ -1,7 +1,6 @@ > > + #ifndef _LINUX_XFRM_H > > + #define _LINUX_XFRM_H > > + > > +-#include <linux/in6.h> > > + #include <linux/types.h> > > + > > + /* All of the structures in this file may not change size as they are > > +diff --git a/include/utils.h b/include/utils.h > > +index 1b4f939..d10840b 100644 > > +--- a/include/utils.h > > ++++ b/include/utils.h > > +@@ -1,6 +1,7 @@ > > + #ifndef __UTILS_H__ > > + #define __UTILS_H__ 1 > > + > > ++#include <sys/param.h> /* MAXPATHLEN */ > > + #include <sys/types.h> > > + #include <asm/types.h> > > + #include <resolv.h> > > +diff --git a/ip/ip6tunnel.c b/ip/ip6tunnel.c > > +index b1c0ae6..8fa4eb2 100644 > > +--- a/ip/ip6tunnel.c > > ++++ b/ip/ip6tunnel.c > > +@@ -28,7 +28,6 @@ > > + #include <arpa/inet.h> > > + #include <sys/ioctl.h> > > + #include <linux/ip.h> > > +-#include <linux/if.h> > > + #include <linux/if_arp.h> > > + #include <linux/if_tunnel.h> > > + #include <linux/ip6_tunnel.h> > > +-- > > +2.7.4 > > + > > diff --git a/meta-arago-distro/recipes- > connectivity/iproute2/iproute2_4.9.0.bb b/meta-arago-distro/recipes- > connectivity/iproute2/iproute2_4.9.0.bb > > new file mode 100644 > > index 0000000..808e550 > > --- /dev/null > > +++ b/meta-arago-distro/recipes-connectivity/iproute2/iproute2_4.9.0.bb > > @@ -0,0 +1,14 @@ > > +require iproute2.inc > > + > > +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ > > + file://configure-cross.patch \ > > + file://0001-iproute2-de-bash-scripts.patch \ > > + file://iproute2-4.9.0-musl.patch \ > > + " > > + > > +SRC_URI[md5sum] = "44a8371a4b2c40e48e4c9f98cbd41391" > > +SRC_URI[sha256sum] = > "c0f30f043f7767cc1b2cd2197b08d4e9b2392c95823fabe30bbce308c30116c4" > > + > > +# CFLAGS are computed in Makefile and reference CCOPTS > > +# > > +EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'" > > -- > > 2.7.4 > > > > _______________________________________________ > > meta-arago mailing list > > meta-arago@arago-project.org > > http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-07-19 17:42 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-07-19 17:07 [PATCH 1/2] iproute2: backport version 4.9.0 Jacob Stiffler 2017-07-19 17:07 ` [PATCH 2/2] iproute2: add hsr/prp support Jacob Stiffler 2017-07-19 17:20 ` [PATCH 1/2] iproute2: backport version 4.9.0 Denys Dmytriyenko 2017-07-19 17:42 ` Stiffler, Jacob
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.