[OE-core] [PATCH] iproute2: create symbol link '/bin/ip' to '/sbin/ip.iproute2'

Bai, Haiqing Haiqing.Bai at windriver.com
Fri Jul 13 02:06:41 UTC 2018


Yes,  you are right.

The reasons that why not fix ifupdown like below:
1.  Some packages assume 'iproute' is their default dependency, not only 'ifupdown'.

2. Of course,  the source code of 'ifupdown' is very ugly,  not only  C code but also configure files used lots of shell command with absolute path:
And we  used git://anonscm.debian.org/git/collab-maint/ifupdown.git,  this is in continuous development,  it's sure lots of this kind of code will be pull in in future.
======================================================================================================
hbai at pek-lpgtest5:/buildarea2/hbai/wr/10/build/tmp-glibc/work/core2-64-wrs-linux/ifupdown/0.8.16-r0/git$ grep -rn "execute"
inet6.c:21:  if (!execute("/sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.", ifd, exec) && !ignore_failures) return 0;
inet6.c:24:  if (!execute("-[[/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.use_tempaddr=%privext%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:27:  if (!execute("-/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.accept_ra=%accept_ra%", ifd, exec) && !ignore_failures) return 0;
inet6.c:30:  if (!execute("-/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.autoconf=1", ifd, exec) && !ignore_failures) return 0;
inet6.c:33:  if (!execute("/bin/ip addr flush dev %iface% mngtmpaddr", ifd, exec) && !ignore_failures) return 0;
inet6.c:36:  if (!execute("/bin/ip link set dev %iface% up", ifd, exec) && !ignore_failures) return 0;
inet6.c:39:  if (!execute("/lib/ifupdown/wait-for-ll6.sh", ifd, exec) && !ignore_failures) return 0;
inet6.c:42:  if (!execute("/sbin/dhclient -6 -P -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:45:  if (!execute("/sbin/dhclient -6 -S -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:48:  if (!execute("echo 'No DHCPv6 client software found!' >/dev/stderr; false", ifd, exec) && !ignore_failures) return 0;
inet6.c:54:  if (!execute("/bin/ip -6 addr flush dev %iface% scope global", ifd, exec) && !ignore_failures) return 0;
inet6.c:57:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet6.c:69:  if (!execute("-/bin/ip link set dev %iface% up 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
inet6.c:72:  if (!execute("-/bin/ip addr add dev %iface% ::1 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
inet6.c:78:  if (!execute("-/bin/ip addr del dev %iface% ::1 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
inet6.c:81:  if (!execute("-/bin/ip link set dev %iface% down 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
inet6.c:102:  if (!execute("/sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.", ifd, exec) && !ignore_failures) return 0;
inet6.c:105:  if (!execute("-[[/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.use_tempaddr=%privext%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:108:  if (!execute("-[[/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.accept_ra=%accept_ra%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:111:  if (!execute("-[[/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.autoconf=%autoconf%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:114:  if (!execute("-[[/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.mtu=%mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:117:  if (!execute("/bin/ip addr flush dev %iface% mngtmpaddr", ifd, exec) && !ignore_failures) return 0;
inet6.c:120:  if (!execute("/bin/ip link set dev %iface% [[address %hwaddress%]] up", ifd, exec) && !ignore_failures) return 0;
inet6.c:123:  if (!execute("/bin/ip -6 addr add %address%[[/%netmask%]] [[scope %scope%]] dev %iface% [[preferred_lft %preferred-lifetime%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:126:  if (!execute("/bin/ip -6 addr add %address%[[/%netmask%]] [[scope %scope%]] dev %iface% [[preferred_lft %preferred-lifetime%]] nodad", ifd, exec) && !ignore_failures) return 0;
inet6.c:129:  if (!execute("[[ /bin/ip -6 route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:132:  if (!execute("/lib/ifupdown/settle-dad.sh", ifd, exec) && !ignore_failures) return 0;
inet6.c:138:  if (!execute("[[ /bin/ip -6 route del default via %gateway% [[metric %metric%]] dev %iface% ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:141:  if (!execute("/bin/ip -6 addr del %address%[[/%netmask%]] [[scope %scope%]] dev %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:144:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet6.c:157:  if (!execute("-[[/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.mtu=%mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:160:  if (!execute("[[/bin/ip link set dev %iface% address %hwaddress%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:163:  if (!execute("/bin/ip link set dev %iface% up 2>/dev/null || true", ifd, exec) && !ignore_failures) return 0;
inet6.c:169:  if (!execute("/bin/ip link set dev %iface% down 2>/dev/null || true", ifd, exec) && !ignore_failures) return 0;
inet6.c:186:  if (!execute("/sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.", ifd, exec) && !ignore_failures) return 0;
inet6.c:189:  if (!execute("-[[/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.accept_ra=%accept_ra%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:192:  if (!execute("-[[/sbin/sysctl -q -e -w net.ipv6.conf.%iface/.//%.autoconf=%autoconf%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:195:  if (!execute("/bin/ip addr flush dev %iface% mngtmpaddr", ifd, exec) && !ignore_failures) return 0;
inet6.c:198:  if (!execute("/bin/ip link set dev %iface% [[address %hwaddress%]] up", ifd, exec) && !ignore_failures) return 0;
inet6.c:201:  if (!execute("/lib/ifupdown/wait-for-ll6.sh", ifd, exec) && !ignore_failures) return 0;
inet6.c:204:  if (!execute("/sbin/dhclient -6 -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -P -N -df /var/lib/dhcp/dhclient.%iface%.leases %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:207:  if (!execute("/sbin/dhclient -6 -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:210:  if (!execute("echo 'No DHCPv6 client software found!' >/dev/stderr; false", ifd, exec) && !ignore_failures) return 0;
inet6.c:216:  if (!execute("/sbin/dhclient -6 -r -pf /run/dhclient6.%iface%.pid -lf /var/lib/dhcp/dhclient6.%iface%.leases -I -df /var/lib/dhcp/dhclient.%iface%.leases %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:219:  if (!execute("echo 'No DHCPv6 client software found!' >/dev/stderr; false", ifd, exec) && !ignore_failures) return 0;
inet6.c:222:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet6.c:236:  if (!execute("/sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.", ifd, exec) && !ignore_failures) return 0;
inet6.c:239:  if (!execute("/bin/ip tunnel add %iface% mode sit remote %endpoint% [[local %local%]] \
inet6.c:243:  if (!execute("/bin/ip link set %iface% up [[mtu %mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:246:  if (!execute("[[ /bin/ip addr add %address%[[/%netmask%]] dev %iface% [[preferred_lft %preferred-lifetime%]] ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:249:  if (!execute("[[ /bin/ip route add %gateway% dev %iface% ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:252:  if (!execute("[[ /bin/ip route add ::/0 via %gateway% [[metric %metric%]] dev %iface% onlink ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:258:  if (!execute("/bin/ip tunnel del %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:273:  if (!execute("/sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.", ifd, exec) && !ignore_failures) return 0;
inet6.c:276:  if (!execute("/bin/ip tunnel add %iface% mode sit remote any local %local% \
inet6.c:280:  if (!execute("/bin/ip link set %iface% up [[mtu %mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:283:  if (!execute("/bin/ip addr add 2002:%hexaddress%::1/16 dev %iface% [[preferred_lft %preferred-lifetime%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:286:  if (!execute("/bin/ip route add 2000::/3 via ::192.88.99.1 [[metric %metric%]] dev %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:292:  if (!execute("/bin/ip -6 route flush dev %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:295:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet6.c:298:  if (!execute("/bin/ip tunnel del %iface%", ifd, exec) && !ignore_failures) return 0;
Binary file ifup matches
interfaces.5:227:in which case the commands are executed in the order in which they appear
interfaces.5:341:(\fIup\fR or \fIpost-down\fR) are executed.
Binary file .git/index matches
defn2c.pl:162:                        print "  if (!execute(\"".quote_chars($1)."\", ifd, exec) && !ignore_failures) return 0;\n";
defn2c.pl:166:                        print "  if (!execute(\"".quote_chars($1)."\", ifd, exec) && !ignore_failures) return 0;\n";
defn2c.pl:170:                        print "  if (!execute(\"".quote_chars($1)."\", ifd, exec) && !ignore_failures) return 0;\n";
interfaces.5.pre:227:in which case the commands are executed in the order in which they appear
interfaces.5.pre:341:(\fIup\fR or \fIpost-down\fR) are executed.
.pc/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch/defn2c.pl:162:                        print "  if (!execute(\"".quote_chars($1)."\", ifd, exec) && !ignore_failures) return 0;\n";
.pc/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch/defn2c.pl:166:                        print "  if (!execute(\"".quote_chars($1)."\", ifd, exec) && !ignore_failures) return 0;\n";
.pc/defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch/defn2c.pl:170:                        print "  if (!execute(\"".quote_chars($1)."\", ifd, exec) && !ignore_failures) return 0;\n";
Binary file inet.o matches
Binary file can.o matches
Makefile:12:OBJ := main.o addrfam.o execute.o config.o \
header.h:122:int execute(const char *command, interface_defn *ifd, execfn *exec);
Binary file inet6.o matches
inet.c:17:  if (!execute("/bin/ip link set dev %iface% up", ifd, exec) && !ignore_failures) return 0;
inet.c:23:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet.c:40:  if (!execute("/bin/ip addr add %address%[[/%netmask%]] [[broadcast %broadcast%]] \
inet.c:44:  if (!execute("/bin/ip link set dev %iface% [[mtu %mtu%]] [[address %hwaddress%]] up", ifd, exec) && !ignore_failures) return 0;
inet.c:47:  if (!execute("[[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]", ifd, exec) && !ignore_failures) return 0;
inet.c:53:  if (!execute("[[ /bin/ip route del default via %gateway% [[metric %metric%]] dev %iface% 2>&1 1>/dev/null || true ]]", ifd, exec) && !ignore_failures) return 0;
inet.c:56:  if (!execute("/bin/ip addr del %address%[[/%netmask%]] [[broadcast %broadcast%]] \
inet.c:60:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet.c:73:  if (!execute("[[/bin/ip link set dev %iface% mtu %mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:76:  if (!execute("[[/bin/ip link set dev %iface% address %hwaddress%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:79:  if (!execute("/bin/ip link set dev %iface% up 2>/dev/null || true", ifd, exec) && !ignore_failures) return 0;
inet.c:85:  if (!execute("/bin/ip link set dev %iface% down 2>/dev/null || true", ifd, exec) && !ignore_failures) return 0;
inet.c:98:  if (!execute("[[/bin/ip link set dev %iface% address %hwaddress%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:101:  if (!execute("/sbin/dhclient -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
inet.c:105:  if (!execute("/sbin/pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:108:  if (!execute("/sbin/udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-x hostname:%hostname%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:111:  if (!execute("/sbin/dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
inet.c:115:  if (!execute("echo 'No DHCP client software found!' >/dev/stderr; false", ifd, exec) && !ignore_failures) return 0;
inet.c:121:  if (!execute("/sbin/dhclient -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface%", ifd, exec) && !ignore_failures) return 0;
inet.c:124:  if (!execute("/sbin/pump -i %iface% -r", ifd, exec) && !ignore_failures) return 0;
inet.c:127:  if (!execute("if test -f /run/udhcpc.%iface%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface%.pid); fi", ifd, exec) && !ignore_failures) return 0;
inet.c:130:  if (!execute("/sbin/dhcpcd -k %iface%", ifd, exec) && !ignore_failures) return 0;
inet.c:133:  if (!execute("echo 'No DHCP client software found!' >/dev/stderr; false", ifd, exec) && !ignore_failures) return 0;
inet.c:136:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet.c:148:  if (!execute("/sbin/bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
inet.c:155:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet.c:167:  if (!execute("/bin/ip tunnel add %iface% mode %mode% remote %endpoint% [[local %local%]] \
inet.c:171:  if (!execute("/bin/ip link set %iface% up [[mtu %mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:174:  if (!execute("/bin/ip addr add %address%/%netmask% dev %iface% [[peer %dstaddr%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:177:  if (!execute("[[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]", ifd, exec) && !ignore_failures) return 0;
inet.c:183:  if (!execute("/bin/ip tunnel del %iface%", ifd, exec) && !ignore_failures) return 0;
inet.c:195:  if (!execute("/usr/bin/pon [[%provider%]] [[unit %unit%]] [[%options%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:201:  if (!execute("/usr/bin/poff [[%provider%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:213:  if (!execute("/sbin/start-stop-daemon --start -x /usr/bin/wvdial \
inet.c:220:  if (!execute("/sbin/start-stop-daemon --stop -x /usr/bin/wvdial \
inet.c:233:  if (!execute("/usr/sbin/avahi-autoipd -D %iface%", ifd, exec) && !ignore_failures) return 0;
inet.c:239:  if (!execute("/usr/sbin/avahi-autoipd --kill %iface%", ifd, exec) && !ignore_failures) return 0;
Binary file link.o matches
examples/network-interfaces:31:# weird broadcast address: (the "up" lines are executed verbatim when the
examples/network-interfaces:49:# removed from the interfaces state so you will see it up until you execute:
examples/generate-interfaces.pl:27:open (IFC,"ifconfig -a | ") || die ("Could not execute ifconfig: $!\n");
examples/generate-interfaces.pl:64:open (ROU,"route -n | ") || die ("Could not execute route: $!\n");
debian/changelog:1191:       it to release the DHCP release an execute the hook script before
contrib/ifstate-check:35:open (IPLINK,"ip link show|") || die ("Could not execute ip: $!\n");
ipx.c:17:  if (!execute("ipx_interface add %iface% %frame% %netnum%", ifd, exec) && !ignore_failures) return 0;
ipx.c:23:  if (!execute("ipx_interface del %iface% %frame%", ifd, exec) && !ignore_failures) return 0;
ipx.c:35:  if (!execute("ipx_interface add %iface% %frame%", ifd, exec) && !ignore_failures) return 0;
ipx.c:41:  if (!execute("ipx_interface del %iface% %frame%", ifd, exec) && !ignore_failures) return 0;
Binary file execute.o matches
link.c:23:  if (!execute("if test -d /sys/class/net/%link% -a \
link.c:35:  if (!execute("-/bin/ip link set up dev %iface% 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
link.c:38:  if (!execute("[[/bin/ip link set %iface0% alias \"%description%\"]]", ifd, exec) && !ignore_failures) return 0;
link.c:44:  if (!execute("if test -d /sys/class/net/%link%/device/infiniband; then \
link.c:51:  if (!execute("-/bin/ip link set down dev %iface% 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
link.c:54:  if (!execute("[[-test -n \"%description%\" && /bin/echo > /sys/class/net/%iface0%/ifalias]]", ifd, exec) && !ignore_failures) return 0;
can.c:17:  if (!execute("ip link set %iface% type can bitrate %bitrate%", ifd, exec) && !ignore_failures) return 0;
can.c:20:  if (!execute("[[ ip link set %iface% type can loopback %loopback% ]]", ifd, exec) && !ignore_failures) return 0;
can.c:23:  if (!execute("[[ ip link set %iface% type can listen-only %listenonly% ]]", ifd, exec) && !ignore_failures) return 0;
can.c:26:  if (!execute("[[ ip link set %iface% type can triple-sampling %triple% ]]", ifd, exec) && !ignore_failures) return 0;
can.c:29:  if (!execute("[[ ip link set %iface% type can one-shot %oneshot% ]]", ifd, exec) && !ignore_failures) return 0;
can.c:32:  if (!execute("[[ ip link set %iface% type can berr-reporting %berr% ]]", ifd, exec) && !ignore_failures) return 0;
can.c:35:  if (!execute("ip link set %iface% up", ifd, exec) && !ignore_failures) return 0;
can.c:41:  if (!execute("ip link set %iface% down", ifd, exec) && !ignore_failures) return 0;
Binary file ipx.o matches
ifup.8:139:Show commands as they are executed.
execute.c:159:static int execute_options(interface_defn *ifd, execfn *exec, char *opt) {
execute.c:169:static int execute_scripts(interface_defn *ifd, execfn *exec, char *opt) {
execute.c:191:  if (!execute_options(iface, doit, "pre-up"))
execute.c:194:  if (!execute_scripts(iface, doit, "pre-up"))
execute.c:206:  if (!execute_options(iface, doit, "up"))
execute.c:209:  if (!execute_scripts(iface, doit, "up"))
execute.c:251:  if (!execute_scripts(iface, doit, "down"))
execute.c:254:  if (!execute_options(iface, doit, "down"))
execute.c:266:  if (!execute_scripts(iface, doit, "post-down"))
execute.c:269:  if (!execute_options(iface, doit, "post-down"))
execute.c:435:int execute(const char *command, interface_defn *ifd, execfn *exec) {
execute.c:589:          fprintf(stderr, "Could not execute mapping script %s on %s: %s\n", map->script, physical, strerror(errno));
hbai at pek-lpgtest5:/buildarea2/hbai/wr/10/build/tmp-glibc/work/core2-64-wrs-linux/ifupdown/0.8.16-r0/git$


hbai at pek-lpgtest5:/buildarea2/hbai/wr/10/build/tmp-glibc/work/core2-64-wrs-linux/ifupdown/0.8.16-r0/git$ grep -rn "bin\/ip"
inet6.defn:28:    /bin/ip addr flush dev %iface% mngtmpaddr \
inet6.defn:30:    /bin/ip link set dev %iface% up
inet6.defn:40:    /bin/ip -6 addr flush dev %iface% scope global
inet6.defn:41:    /bin/ip link set dev %iface% down \
inet6.defn:48:    -/bin/ip link set dev %iface% up 2>/dev/null if (!iface_is_lo())
inet6.defn:49:    -/bin/ip addr add dev %iface% ::1 2>/dev/null if (!iface_is_lo())
inet6.defn:51:    -/bin/ip addr del dev %iface% ::1 2>/dev/null if (!iface_is_lo())
inet6.defn:52:    -/bin/ip link set dev %iface% down 2>/dev/null if (!iface_is_lo())
inet6.defn:90:    /bin/ip addr flush dev %iface% mngtmpaddr \
inet6.defn:92:    /bin/ip link set dev %iface% [[address %hwaddress%]] up
inet6.defn:93:    /bin/ip -6 addr add %address%[[/%netmask%]] [[scope %scope%]] dev %iface% [[preferred_lft %preferred-lifetime%]] \
inet6.defn:95:    /bin/ip -6 addr add %address%[[/%netmask%]] [[scope %scope%]] dev %iface% [[preferred_lft %preferred-lifetime%]] nodad \
inet6.defn:97:    [[ /bin/ip -6 route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
inet6.defn:101:    [[ /bin/ip -6 route del default via %gateway% [[metric %metric%]] dev %iface% ]]
inet6.defn:102:    /bin/ip -6 addr del %address%[[/%netmask%]] [[scope %scope%]] dev %iface%
inet6.defn:103:    /bin/ip link set dev %iface% down \
inet6.defn:121:    [[/bin/ip link set dev %iface% address %hwaddress%]]
inet6.defn:122:    /bin/ip link set dev %iface% up 2>/dev/null || true
inet6.defn:125:    /bin/ip link set dev %iface% down 2>/dev/null || true \
inet6.defn:149:    /bin/ip addr flush dev %iface% mngtmpaddr \
inet6.defn:151:    /bin/ip link set dev %iface% [[address %hwaddress%]] up
inet6.defn:166:    /bin/ip link set dev %iface% down \
inet6.defn:192:    /bin/ip tunnel add %iface% mode sit remote %endpoint% [[local %local%]] \
inet6.defn:194:    /bin/ip link set %iface% up [[mtu %mtu%]]
inet6.defn:195:    [[ /bin/ip addr add %address%[[/%netmask%]] dev %iface% [[preferred_lft %preferred-lifetime%]] ]]
inet6.defn:196:    [[ /bin/ip route add %gateway% dev %iface% ]]
inet6.defn:197:    [[ /bin/ip route add ::/0 via %gateway% [[metric %metric%]] dev %iface% onlink ]]
inet6.defn:200:    /bin/ip tunnel del %iface%
inet6.defn:221:    /bin/ip tunnel add %iface% mode sit remote any local %local% \
inet6.defn:223:    /bin/ip link set %iface% up [[mtu %mtu%]]
inet6.defn:224:    /bin/ip addr add 2002:%hexaddress%::1/16 dev %iface% [[preferred_lft %preferred-lifetime%]]
inet6.defn:225:    /bin/ip route add 2000::/3 via ::192.88.99.1 [[metric %metric%]] dev %iface%
inet6.defn:228:    /bin/ip -6 route flush dev %iface%
inet6.defn:229:    /bin/ip link set dev %iface% down
inet6.defn:230:    /bin/ip tunnel del %iface%
inet6.c:33:  if (!execute("/bin/ip addr flush dev %iface% mngtmpaddr", ifd, exec) && !ignore_failures) return 0;
inet6.c:36:  if (!execute("/bin/ip link set dev %iface% up", ifd, exec) && !ignore_failures) return 0;
inet6.c:54:  if (!execute("/bin/ip -6 addr flush dev %iface% scope global", ifd, exec) && !ignore_failures) return 0;
inet6.c:57:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet6.c:69:  if (!execute("-/bin/ip link set dev %iface% up 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
inet6.c:72:  if (!execute("-/bin/ip addr add dev %iface% ::1 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
inet6.c:78:  if (!execute("-/bin/ip addr del dev %iface% ::1 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
inet6.c:81:  if (!execute("-/bin/ip link set dev %iface% down 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
inet6.c:117:  if (!execute("/bin/ip addr flush dev %iface% mngtmpaddr", ifd, exec) && !ignore_failures) return 0;
inet6.c:120:  if (!execute("/bin/ip link set dev %iface% [[address %hwaddress%]] up", ifd, exec) && !ignore_failures) return 0;
inet6.c:123:  if (!execute("/bin/ip -6 addr add %address%[[/%netmask%]] [[scope %scope%]] dev %iface% [[preferred_lft %preferred-lifetime%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:126:  if (!execute("/bin/ip -6 addr add %address%[[/%netmask%]] [[scope %scope%]] dev %iface% [[preferred_lft %preferred-lifetime%]] nodad", ifd, exec) && !ignore_failures) return 0;
inet6.c:129:  if (!execute("[[ /bin/ip -6 route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:138:  if (!execute("[[ /bin/ip -6 route del default via %gateway% [[metric %metric%]] dev %iface% ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:141:  if (!execute("/bin/ip -6 addr del %address%[[/%netmask%]] [[scope %scope%]] dev %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:144:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet6.c:160:  if (!execute("[[/bin/ip link set dev %iface% address %hwaddress%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:163:  if (!execute("/bin/ip link set dev %iface% up 2>/dev/null || true", ifd, exec) && !ignore_failures) return 0;
inet6.c:169:  if (!execute("/bin/ip link set dev %iface% down 2>/dev/null || true", ifd, exec) && !ignore_failures) return 0;
inet6.c:195:  if (!execute("/bin/ip addr flush dev %iface% mngtmpaddr", ifd, exec) && !ignore_failures) return 0;
inet6.c:198:  if (!execute("/bin/ip link set dev %iface% [[address %hwaddress%]] up", ifd, exec) && !ignore_failures) return 0;
inet6.c:222:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet6.c:239:  if (!execute("/bin/ip tunnel add %iface% mode sit remote %endpoint% [[local %local%]] \
inet6.c:243:  if (!execute("/bin/ip link set %iface% up [[mtu %mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:246:  if (!execute("[[ /bin/ip addr add %address%[[/%netmask%]] dev %iface% [[preferred_lft %preferred-lifetime%]] ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:249:  if (!execute("[[ /bin/ip route add %gateway% dev %iface% ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:252:  if (!execute("[[ /bin/ip route add ::/0 via %gateway% [[metric %metric%]] dev %iface% onlink ]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:258:  if (!execute("/bin/ip tunnel del %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:276:  if (!execute("/bin/ip tunnel add %iface% mode sit remote any local %local% \
inet6.c:280:  if (!execute("/bin/ip link set %iface% up [[mtu %mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:283:  if (!execute("/bin/ip addr add 2002:%hexaddress%::1/16 dev %iface% [[preferred_lft %preferred-lifetime%]]", ifd, exec) && !ignore_failures) return 0;
inet6.c:286:  if (!execute("/bin/ip route add 2000::/3 via ::192.88.99.1 [[metric %metric%]] dev %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:292:  if (!execute("/bin/ip -6 route flush dev %iface%", ifd, exec) && !ignore_failures) return 0;
inet6.c:295:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet6.c:298:  if (!execute("/bin/ip tunnel del %iface%", ifd, exec) && !ignore_failures) return 0;
Binary file ifup matches
Binary file inet.o matches
Binary file inet6.o matches
inet.c:17:  if (!execute("/bin/ip link set dev %iface% up", ifd, exec) && !ignore_failures) return 0;
inet.c:23:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet.c:40:  if (!execute("/bin/ip addr add %address%[[/%netmask%]] [[broadcast %broadcast%]] \
inet.c:44:  if (!execute("/bin/ip link set dev %iface% [[mtu %mtu%]] [[address %hwaddress%]] up", ifd, exec) && !ignore_failures) return 0;
inet.c:47:  if (!execute("[[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]", ifd, exec) && !ignore_failures) return 0;
inet.c:53:  if (!execute("[[ /bin/ip route del default via %gateway% [[metric %metric%]] dev %iface% 2>&1 1>/dev/null || true ]]", ifd, exec) && !ignore_failures) return 0;
inet.c:56:  if (!execute("/bin/ip addr del %address%[[/%netmask%]] [[broadcast %broadcast%]] \
inet.c:60:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet.c:73:  if (!execute("[[/bin/ip link set dev %iface% mtu %mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:76:  if (!execute("[[/bin/ip link set dev %iface% address %hwaddress%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:79:  if (!execute("/bin/ip link set dev %iface% up 2>/dev/null || true", ifd, exec) && !ignore_failures) return 0;
inet.c:85:  if (!execute("/bin/ip link set dev %iface% down 2>/dev/null || true", ifd, exec) && !ignore_failures) return 0;
inet.c:98:  if (!execute("[[/bin/ip link set dev %iface% address %hwaddress%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:136:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet.c:155:  if (!execute("/bin/ip link set dev %iface% down", ifd, exec) && !ignore_failures) return 0;
inet.c:167:  if (!execute("/bin/ip tunnel add %iface% mode %mode% remote %endpoint% [[local %local%]] \
inet.c:171:  if (!execute("/bin/ip link set %iface% up [[mtu %mtu%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:174:  if (!execute("/bin/ip addr add %address%/%netmask% dev %iface% [[peer %dstaddr%]]", ifd, exec) && !ignore_failures) return 0;
inet.c:177:  if (!execute("[[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]", ifd, exec) && !ignore_failures) return 0;
inet.c:183:  if (!execute("/bin/ip tunnel del %iface%", ifd, exec) && !ignore_failures) return 0;
Binary file link.o matches
link.defn:22:            /bin/ip link set up dev %link%; \
link.defn:23:            /bin/ip link add link %link% name %iface0% type vlan id %vlan_id%; \
link.defn:26:    -/bin/ip link set up dev %iface% 2>/dev/null \
link.defn:28:    [[/bin/ip link set %iface0% alias "%description%"]]
link.defn:33:        /bin/ip link del %iface%; \
link.defn:35:    -/bin/ip link set down dev %iface% 2>/dev/null \
tests/linux/up.18:5:/bin/ip link set up dev lo 2>/dev/null
tests/linux/up.18:14:/bin/ip link set dev eth0 up 2>/dev/null || true
tests/linux/up.18:19:/bin/ip link set dev eth1 up 2>/dev/null || true
tests/linux/up.18:24:/bin/ip link set dev eth2 up 2>/dev/null || true
tests/linux/up.18:30:/bin/ip link set dev eth3 up 2>/dev/null || true
tests/linux/up.13:6:/bin/ip link set up dev lo 2>/dev/null
tests/linux/down.4:7:/bin/ip addr del 1.2.3.4/255.255.255.0 broadcast 1.2.3.255           dev eth0 label eth0
tests/linux/down.4:8:/bin/ip link set dev eth0 down
tests/linux/down.9:6:/bin/ip -6 route flush dev tunnel
tests/linux/down.9:7:/bin/ip link set dev tunnel down
tests/linux/down.9:8:/bin/ip tunnel del tunnel
tests/linux/up.6:8:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255     dev eth0 label eth0
tests/linux/up.6:9:/bin/ip link set dev eth0  address 00:DE:AD:00:BE:AF up
tests/linux/up.1:8:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255     dev eth0 label eth0
tests/linux/up.1:9:/bin/ip link set dev eth0   up
tests/linux/up.1:17:/bin/ip addr add 1.2.3.4/255.252.0.0 broadcast 1.3.255.255    dev eth1 label eth1
tests/linux/up.1:18:/bin/ip link set dev eth1   up
tests/linux/up.1:26:/bin/ip addr add 1.2.3.4/255.255.255.128 broadcast 1.2.3.127          dev eth2 label eth2
tests/linux/up.1:27:/bin/ip link set dev eth2   up
tests/linux/up.1:35:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.0      dev eth3 label eth3
tests/linux/up.1:36:/bin/ip link set dev eth3   up
tests/linux/up.1:42:/bin/ip addr add 1.2.3.4/255.255.255.252 broadcast 1.2.3.4    dev eth3 label eth3
tests/linux/up.1:43:/bin/ip link set dev eth3   up
tests/linux/up.1:49:/bin/ip addr add 1.2.3.4/255.255.255.254 broadcast 255.255.255.255    dev eth3 label eth3
tests/linux/up.1:50:/bin/ip link set dev eth3   up
tests/linux/up.1:56:/bin/ip addr add 1.2.3.4/255.255.255.254 broadcast 0.0.0.0    dev eth3 label eth3
tests/linux/up.1:57:/bin/ip link set dev eth3   up
tests/linux/up.17:5:/bin/ip link set up dev lo 2>/dev/null
tests/linux/up.17:10:/bin/ip link set eth0 alias "foo"
tests/linux/up.17:15:/bin/ip link set dev eth0 up 2>/dev/null || true
tests/linux/up.17:17:/bin/ip link set eth1 alias "foo bar with spaces"
tests/linux/up.17:22:/bin/ip link set dev eth1 up 2>/dev/null || true
tests/linux/up.17:24:/bin/ip link set eth2 alias "works with ipv6 too"
tests/linux/up.17:29:/bin/ip link set dev eth2 up 2>/dev/null || true
tests/linux/up.9:8:/bin/ip tunnel add tunnel mode sit remote any local 2.3.4.5
tests/linux/up.9:9:/bin/ip link set tunnel up
tests/linux/up.9:10:/bin/ip addr add 2002:0203:0405::1/16 dev tunnel
tests/linux/up.9:11:/bin/ip route add 2000::/3 via ::192.88.99.1  dev tunnel
tests/linux/up.4:7:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255     dev eth0 label eth0
tests/linux/up.4:8:/bin/ip link set dev eth0   up
tests/linux/up.3:9:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255     dev eth0 label eth0
tests/linux/up.3:10:/bin/ip link set dev eth0   up
tests/linux/up.3:20:/bin/ip link set dev eth0  up
tests/linux/up.3:21:/bin/ip -6 addr add 3ffe:ffff:100:f101::1/64  dev eth0  nodad
tests/linux/up.3:31:/bin/ip link set dev eth0  up
tests/linux/up.3:32:/bin/ip -6 addr add 3ffe:ffff:100:f101::2/64  dev eth0  nodad
tests/linux/up.3:42:/bin/ip link set dev eth0  up
tests/linux/up.3:43:/bin/ip -6 addr add 3ffe:ffff:100:f101::3/64  dev eth0  nodad
tests/linux/up.3:53:/bin/ip link set dev eth0  up
tests/linux/up.3:54:/bin/ip -6 addr add 3ffe:ffff:100:f101::4  dev eth0  nodad
tests/linux/up.3:64:/bin/ip link set dev eth0  up
tests/linux/up.3:65:/bin/ip -6 addr add 3ffe:ffff:100:f101::5/128  dev eth0  nodad
tests/linux/up.3:75:/bin/ip link set dev eth0  up
tests/linux/up.3:76:/bin/ip -6 addr add 64  dev eth0  nodad
tests/linux/up.3:90:/bin/ip addr flush dev eth1 mngtmpaddr
tests/linux/up.3:91:/bin/ip link set dev eth1  up
tests/linux/up.3:92:/bin/ip -6 addr add 3ffe:ffff:100:f102::1/64  dev eth1  nodad
tests/linux/up.3:93: /bin/ip -6 route add default via 3ffe:ffff:100:f102::fff  dev eth1 onlink
tests/linux/up.3:102:/bin/ip link set dev eth1  up
tests/linux/up.3:103:/bin/ip -6 addr add 3ffe:ffff:100:f102::6/64  dev eth1  nodad
tests/linux/up.3:104: /bin/ip -6 route add default via 3ffe:ffff:100:f102::fff  dev eth1 onlink
tests/linux/up.2:8:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255     dev eth0 label eth0
tests/linux/up.2:9:/bin/ip link set dev eth0   up
tests/linux/up.2:15:/bin/ip addr add 1.3.4.5/255.255.255.0 broadcast 1.3.4.255    dev eth1 label eth1
tests/linux/up.2:16:/bin/ip link set dev eth1   up
tests/linux/up.2:22:/bin/ip addr add 1.4.5.6/255.255.255.0 broadcast 1.4.5.255    dev eth2 label eth2
tests/linux/up.2:23:/bin/ip link set dev eth2   up
tests/linux/up.2:29:/bin/ip addr add 1.5.6.7/255.255.255.0 broadcast 1.5.6.255    dev eth3 label eth3
tests/linux/up.2:30:/bin/ip link set dev eth3   up
tests/linux/up.2:36:/bin/ip addr add 1.7.8.9/255.255.255.0 broadcast 1.7.8.255    dev eth4 label eth4
tests/linux/up.2:37:/bin/ip link set dev eth4   up
tests/linux/up.2:43:/bin/ip addr add 1.8.9.10/255.255.255.0 broadcast 1.8.9.255           dev eth5 label eth5
tests/linux/up.2:44:/bin/ip link set dev eth5   up
tests/linux/up.16:5:/bin/ip link set up dev lo 2>/dev/null
tests/linux/up.16:13:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255           dev eth0 label eth0
tests/linux/up.16:14:/bin/ip link set dev eth0   up
tests/linux/up.16:20:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255           dev eth1 label eth1
tests/linux/up.16:21:/bin/ip link set dev eth1 mtu 1500 address 12:34:56:89:0a:bc up
tests/linux/up.16:31:/bin/ip link set dev eth1 address 12:34:ff:fe:0a:bc up
tests/linux/up.16:32:/bin/ip -6 addr add 3ffe:ffff:120::fffe:1/64  dev eth1
tests/linux/up.16:38:/bin/ip addr add 1.2.3.5/255.255.255.0 broadcast 1.2.3.255           dev eth2 label eth2
tests/linux/up.16:39:/bin/ip link set dev eth2 mtu 1500 address 12:34:56:89:0a:bc up
tests/linux/up.16:49:/bin/ip link set dev eth2 address 12:34:ff:fe:0a:bc up
tests/linux/up.16:50:/bin/ip -6 addr add 3ffe:ffff:120::fffe:1/64  dev eth2
tests/linux/up.16:56:/bin/ip addr add 1.2.3.5/255.255.255.0 broadcast 1.2.3.255           dev eth3 label eth3
tests/linux/up.16:57:/bin/ip link set dev eth3 mtu 1500 address 12:34:56:89:0a:bc up
tests/linux/up.8:8:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255     dev eth1 label eth1
tests/linux/up.8:9:/bin/ip link set dev eth1   up
tests/linux/up.8:17:/bin/ip addr add 1.5.3.4/255.255.255.0 broadcast 1.5.3.255    dev eth1:1 label eth1:1
tests/linux/up.8:18:/bin/ip link set dev eth1:1   up
tests/linux/up.8:23:if test -d /sys/class/net/eth2 -a             ! -d /sys/class/net/eth2.2 ;     then         if test -d /sys/class/net/eth2/device/infiniband; then             echo 0x2 > /sys/class/net/eth2/create_child;         else             /bin/ip link set up dev eth2;             /bin/ip link add link eth2 name eth2.2 type vlan id 2;    fi;     fi
tests/linux/up.8:27:/bin/ip addr add 2.3.4.5/255.255.255.0 broadcast 2.3.4.255    dev eth2.2 label eth2.2
tests/linux/up.8:28:/bin/ip link set dev eth2.2   up
tests/linux/up.8:31:if test -d /sys/class/net/eth2 -a             ! -d /sys/class/net/eth2.2 ;     then         if test -d /sys/class/net/eth2/device/infiniband; then             echo 0x2 > /sys/class/net/eth2/create_child;         else             /bin/ip link set up dev eth2;             /bin/ip link add link eth2 name eth2.2 type vlan id 2;    fi;     fi
tests/linux/up.8:35:/bin/ip addr add 3.4.5.6/255.255.254.0 broadcast 3.4.5.255    dev eth2.2:3 label eth2.2:3
tests/linux/up.8:36:/bin/ip link set dev eth2.2:3   up
tests/linux/up.7:8:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255     dev eth0 label eth0
tests/linux/up.7:9:/bin/ip link set dev eth0   up
tests/linux/up.7:19:/bin/ip addr flush dev eth0 mngtmpaddr
tests/linux/up.7:20:/bin/ip link set dev eth0  up
tests/linux/up.7:21:/bin/ip -6 addr add 3ffe:ffff:100:f101::1/64  dev eth0  nodad
tests/linux/up.7:24:if test -d /sys/class/net/eth0 -a             ! -d /sys/class/net/eth0.1 ;     then         if test -d /sys/class/net/eth0/device/infiniband; then             echo 0x1 > /sys/class/net/eth0/create_child;         else             /bin/ip link set up dev eth0;             /bin/ip link add link eth0 name eth0.1 type vlan id 1;    fi;     fi
tests/linux/up.7:33:/bin/ip link set dev eth0.1  up
tests/linux/up.7:34:/bin/ip -6 addr add 3ffe:ffff:120:f101::1/64  dev eth0.1  nodad
tests/linux/up.7:37:if test -d /sys/class/net/eth0 -a             ! -d /sys/class/net/eth0.0201 ;     then         if test -d /sys/class/net/eth0/device/infiniband; then             echo 0x0201 > /sys/class/net/eth0/create_child;         else             /bin/ip link set up dev eth0;             /bin/ip link add link eth0 name eth0.0201 type vlan id 201;         fi;     fi
tests/linux/up.7:41:/bin/ip addr add 192.168.0.1/255.255.255.128 broadcast 192.168.0.127          dev eth0.0201 label eth0.0201
tests/linux/up.7:42:/bin/ip link set dev eth0.0201   up
tests/linux/up.7:50:/bin/ip link set dev br0.0201 up 2>/dev/null || true
tests/linux/up.7:52:if test -d /sys/class/net/br0 -a             ! -d /sys/class/net/br0.0202 ;     then         if test -d /sys/class/net/br0/device/infiniband; then             echo 0x0202 > /sys/class/net/br0/create_child;         else             /bin/ip link set up dev br0;             /bin/ip link add link br0 name br0.0202 type vlan id 202;        fi;     fi
tests/linux/up.7:58:/bin/ip link set dev br0.0202 up 2>/dev/null || true
tests/linux/up.7:64:/bin/ip tunnel add tunnel mode sit remote any local 1.2.3.4
tests/linux/up.7:65:/bin/ip link set tunnel up
tests/linux/up.7:66:/bin/ip addr add 2002:0102:0304::1/16 dev tunnel
tests/linux/up.7:67:/bin/ip route add 2000::/3 via ::192.88.99.1  dev tunnel
tests/linux/up.5:8:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255     dev eth0 label eth0
tests/linux/up.5:9:/bin/ip link set dev eth0  address 00:DE:AD:00:BE:AF up
tests/linux/up.11:9:/bin/ip link set dev lo up
tests/linux/up.11:14:/bin/ip addr add 1.2.3.4/255.255.255.0 broadcast 1.2.3.255           dev eth0 label eth0
tests/linux/up.11:15:/bin/ip link set dev eth0   up
inet.defn:9:    /bin/ip link set dev %iface% up if (!iface_is_lo())
inet.defn:12:    /bin/ip link set dev %iface% down if (!iface_is_lo())
inet.defn:39:    /bin/ip addr add %address%[[/%netmask%]] [[broadcast %broadcast%]] \
inet.defn:41:    /bin/ip link set dev %iface% [[mtu %mtu%]] [[address %hwaddress%]] up
inet.defn:43:    [[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
inet.defn:46:    [[ /bin/ip route del default via %gateway% [[metric %metric%]] dev %iface% 2>&1 1>/dev/null || true ]]
inet.defn:47:    /bin/ip addr del %address%[[/%netmask%]] [[broadcast %broadcast%]] \
inet.defn:49:    /bin/ip link set dev %iface% down \
inet.defn:66:    [[/bin/ip link set dev %iface% mtu %mtu%]]
inet.defn:67:    [[/bin/ip link set dev %iface% address %hwaddress%]]
inet.defn:68:    /bin/ip link set dev %iface% up 2>/dev/null || true
inet.defn:71:    /bin/ip link set dev %iface% down 2>/dev/null || true \
inet.defn:96:    [[/bin/ip link set dev %iface% address %hwaddress%]]
inet.defn:122:    /bin/ip link set dev %iface% down \
inet.defn:141:    /bin/ip link set dev %iface% down \
inet.defn:161:    /bin/ip tunnel add %iface% mode %mode% remote %endpoint% [[local %local%]] \
inet.defn:163:    /bin/ip link set %iface% up [[mtu %mtu%]]
inet.defn:164:    /bin/ip addr add %address%/%netmask% dev %iface% [[peer %dstaddr%]]
inet.defn:165:    [[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
inet.defn:167:    /bin/ip tunnel del %iface%
link.c:29:            /bin/ip link set up dev %link%; \
link.c:30:            /bin/ip link add link %link% name %iface0% type vlan id %vlan_id%; \
link.c:35:  if (!execute("-/bin/ip link set up dev %iface% 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
link.c:38:  if (!execute("[[/bin/ip link set %iface0% alias \"%description%\"]]", ifd, exec) && !ignore_failures) return 0;
link.c:47:        /bin/ip link del %iface%; \
link.c:51:  if (!execute("-/bin/ip link set down dev %iface% 2>/dev/null", ifd, exec) && !ignore_failures) return 0;
hbai at pek-lpgtest5:/buildarea2/hbai/wr/10/build/tmp-glibc/work/core2-64-wrs-linux/ifupdown/0.8.16-r0/git$
=============================================================================================

We  used git://anonscm.debian.org/git/collab-maint/ifupdown.git,  this is in continuous development,  it's sure lots of this kind of code will be pull in.

3.  I have checked all the shell commands used in the current version ,  except "/bin/ip",   other commands' path are right  and same to the path in our rootfs. 

B,R
Haiqing Bai  

-----Original Message-----
From: MacLeod, Randy 
Sent: 2018年7月13日 4:19
To: Andreas Oberritter; openembedded-core at lists.openembedded.org; Bai, Haiqing
Subject: Re: [OE-core] [PATCH] iproute2: create symbol link '/bin/ip' to '/sbin/ip.iproute2'

On 07/11/2018 04:41 AM, Andreas Oberritter wrote:
> On Wed, 11 Jul 2018 14:01:17 +0800
> Haiqing Bai <Haiqing.Bai at windriver.com> wrote:
> 
>> Some applications which depend on iproute/iproute2 need to
>> run '/sbin/ip.iproute2' through the symbol link '/bin/ip'
>> e.g ifupdown.
> 
> Update-alternatives is supposed to create this link already.

I assume that update-alternatives is creating
    /sbin/ip -> /sbin/ip.iproute2
but for some reason ipupdown is looking for
    /bin/ip

Is that right Haiqing ?

Why not fix ifupdown?

../Randy

> 
>>
>> Signed-off-by: Haiqing Bai <Haiqing.Bai at windriver.com>
>> ---
>>   meta/recipes-connectivity/iproute2/iproute2.inc | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2.inc
>> index 4fbfec6f08..71d04a1021 100644
>> --- a/meta/recipes-connectivity/iproute2/iproute2.inc
>> +++ b/meta/recipes-connectivity/iproute2/iproute2.inc
>> @@ -29,6 +29,8 @@ do_configure_append () {
>>   do_install () {
>>       oe_runmake DESTDIR=${D} install
>>       mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2
>> +    install -d ${D}${base_bindir}
>> +    ln -s ${base_sbindir}/ip.iproute2 ${D}${base_bindir}/ip
>>       install -d ${D}${datadir}
>>       mv ${D}/share/* ${D}${datadir}/ || true
>>       rm ${D}/share -rf || true
> 


-- 
# Randy MacLeod
# Wind River Linux


More information about the Openembedded-core mailing list