From 6fce99c9e42cbacde1855473b745ca1fded3fbf7 Mon Sep 17 00:00:00 2001
From: "Maxin B. John" <maxin.john@intel.com>
Date: Wed, 21 Dec 2016 15:32:07 +0200
Subject: [PATCH 2/2] inet[6].defn: fix inverted checks for loopback

Compared to the hurd link.defn for loopback, we see these
are inverted, meaning that you would only be able to configure
a loopback device that was _not_ named "lo" (unlikely to exist).

The result was that we'd update /run/network/ifstate for "lo"
but never actually do anything for up/down, as shown below:

root@localhost:~# ifconfig -s
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR  TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0   7736329      0   2016 0 5289422      0      0      0 BMRU
lo        65536 0        18      0      0 0      18      0      0      0 LRU
root@localhost:~# ifdown lo
root@localhost:~# echo $?
0
root@localhost:~# ifconfig -s
Iface   MTU Met   RX-OK RX-ERR RX-DRP  RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0   7736406      0  2016 0   5289455      0      0      0 BMRU
lo        65536 0        18      0   0 0            18    0    0    0     LRU
root@localhost:~# ifconfig lo down
root@localhost:~# ifconfig -s
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0   7736474 0   2016 0       5289481      0     0      0 BMRU
root@localhost:~#

Also reverted the commit:
commit 80b878497663dae08f70b4d3cffe127b57a3cfc
which uses absolute paths to binaries called by ifup/ifdown.

Upstream-Status: Inappropriate [OE specific]

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
 inet.defn | 134 +++++++++++++++++++++++++++---------------------------
 1 file changed, 67 insertions(+), 67 deletions(-)

diff --git a/inet.defn b/inet.defn
index 182b56b..31067bc 100644
--- a/inet.defn
+++ b/inet.defn
@@ -6,10 +6,10 @@ method loopback
     This method may be used to define the IPv4 loopback interface.
 
   up
-    /bin/ip link set dev %iface% up if (!iface_is_lo())
+    ip link set dev %iface% up if (!iface_is_lo())
 
   down
-    /bin/ip link set dev %iface% down if (!iface_is_lo())
+    ip link set dev %iface% down if (!iface_is_lo())
 
 method static
   description
@@ -36,17 +36,17 @@ method static
     broadcast compute_v4_broadcast
 
   up
-    /bin/ip addr add %address%[[/%netmask%]] [[broadcast %broadcast%]] \
+    ip addr add %address%[[/%netmask%]] [[broadcast %broadcast%]] \
 	[[peer %pointopoint%]] [[scope %scope%]] dev %iface% label %iface%
-    /bin/ip link set dev %iface% [[mtu %mtu%]] [[address %hwaddress%]] up
+    ip link set dev %iface% [[mtu %mtu%]] [[address %hwaddress%]] up
 
-    [[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
+    [[ ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
 
   down
-    [[ /bin/ip route del default via %gateway% [[metric %metric%]] dev %iface% 2>&1 1>/dev/null || true ]]
-    /bin/ip addr del %address%[[/%netmask%]] [[broadcast %broadcast%]] \
+    [[ ip route del default via %gateway% [[metric %metric%]] dev %iface% 2>&1 1>/dev/null || true ]]
+    ip addr del %address%[[/%netmask%]] [[broadcast %broadcast%]] \
 	[[peer %pointopoint%]] [[scope %scope%]] dev %iface% label %iface%
-    /bin/ip link set dev %iface% down \
+    ip link set dev %iface% down \
 		if (iface_is_link())
 
 method manual
@@ -63,12 +63,12 @@ method manual
     hwaddress cleanup_hwaddress
 
   up
-    [[/bin/ip link set dev %iface% mtu %mtu%]]
-    [[/bin/ip link set dev %iface% address %hwaddress%]]
-    /bin/ip link set dev %iface% up 2>/dev/null || true
+    [[ip link set dev %iface% mtu %mtu%]]
+    [[ip link set dev %iface% address %hwaddress%]]
+    ip link set dev %iface% up 2>/dev/null || true
 
   down
-    /bin/ip link set dev %iface% down 2>/dev/null || true \
+    ip link set dev %iface% down 2>/dev/null || true \
         if (iface_is_link() && !do_all)
 
 method dhcp
@@ -93,33 +93,33 @@ method dhcp
     hwaddress cleanup_hwaddress
 
   up
-    [[/bin/ip link set dev %iface% address %hwaddress%]]
-    /sbin/dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+    [[ip link set dev %iface% address %hwaddress%]]
+    dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
 	[[-e IF_METRIC=%metric%]] \
         if (execable("/sbin/dhclient"))
-    /sbin/pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]] \
+    pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]] \
         elsif (execable("/sbin/pump"))
-    /sbin/udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-x hostname:%hostname%]] \
+    udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-x hostname:%hostname%]] \
         elsif (execable("/sbin/udhcpc"))
-    /sbin/dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
+    dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
            [[-l %leasetime%]] [[-m %metric%]] %iface% \
         elsif (execable("/sbin/dhcpcd"))
     echo 'No DHCP client software found!' >/dev/stderr; false \
         elsif (1)
 
   down
-    /sbin/dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+    dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
         if (execable("/sbin/dhclient"))
-    /sbin/pump -i %iface% -r \
+    pump -i %iface% -r \
         elsif (execable("/sbin/pump"))
     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 \
         elsif (execable("/sbin/udhcpc"))
-    /sbin/dhcpcd -k %iface% \
+    dhcpcd -k %iface% \
         elsif (execable("/sbin/dhcpcd"))
     echo 'No DHCP client software found!' >/dev/stderr; false \
         elsif (1)
 
-    /bin/ip link set dev %iface% down \
+    ip link set dev %iface% down \
 		if (iface_is_link())
 
 method bootp
@@ -134,11 +134,11 @@ method bootp
                       whatever it really is.
 
   up
-    /sbin/bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
+    bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
            [[--hwaddr %hwaddr%]] --returniffail --serverbcast
 
   down
-    /bin/ip link set dev %iface% down \
+    ip link set dev %iface% down \
         if (iface_is_link())
 
 method tunnel
@@ -158,13 +158,13 @@ method tunnel
     ttl time              -- TTL setting
     mtu size              -- MTU size
   up
-    /bin/ip tunnel add %iface% mode %mode% remote %endpoint% [[local %local%]] \
+    ip tunnel add %iface% mode %mode% remote %endpoint% [[local %local%]] \
        [[ttl %ttl%]]
-    /bin/ip link set %iface% up [[mtu %mtu%]]
-    /bin/ip addr add %address%/%netmask% dev %iface% [[peer %dstaddr%]]
-    [[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
+    ip link set %iface% up [[mtu %mtu%]]
+    ip addr add %address%/%netmask% dev %iface% [[peer %dstaddr%]]
+    [[ ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
   down
-    /bin/ip tunnel del %iface%
+    ip tunnel del %iface%
 
 method ppp
   description
@@ -175,9 +175,9 @@ method ppp
     unit number    -- Use /number/ as the ppp unit number.
     options string -- Pass /string/ as additional options to pon.
   up
-    /usr/bin/pon [[%provider%]] [[unit %unit%]] [[%options%]]
+    pon [[%provider%]] [[unit %unit%]] [[%options%]]
   down
-    /usr/bin/poff [[%provider%]]
+    poff [[%provider%]]
 
 method wvdial
   description
@@ -186,10 +186,10 @@ method wvdial
   options
     provider name  -- Use /name/ as the provider (from /etc/wvdial.conf).
   up
-    /sbin/start-stop-daemon --start -x /usr/bin/wvdial \
+    start-stop-daemon --start -x /usr/bin/wvdial \
                       -p /run/wvdial.%iface%.pid -b -m -- [[ %provider% ]]
   down
-    /sbin/start-stop-daemon --stop -x /usr/bin/wvdial \
+    start-stop-daemon --stop -x /usr/bin/wvdial \
                       -p /run/wvdial.%iface%.pid -s 2
 
 
@@ -200,9 +200,9 @@ method ipv4ll
     known as APIPA or IPAC, and often colloquially referred to
     as "Zeroconf address".
   up
-    /usr/sbin/avahi-autoipd -D %iface%
+    avahi-autoipd -D %iface%
   down
-    /usr/sbin/avahi-autoipd --kill %iface%
+    avahi-autoipd --kill %iface%
 
 architecture kfreebsd
 
@@ -211,11 +211,11 @@ method loopback
     This method may be used to define the IPv4 loopback interface.
 
   up
-    /sbin/ifconfig %iface% 127.0.0.1 up \
+    ifconfig %iface% 127.0.0.1 up \
 	if (!iface_is_lo())
 
   down
-    /sbin/ifconfig %iface% down \
+    ifconfig %iface% down \
 	if (!iface_is_lo())
 
 method static
@@ -238,15 +238,15 @@ method static
     hwaddress cleanup_hwaddress
 
   up
-    [[ /sbin/ifconfig %iface% link %hwaddress%]]
-    /sbin/ifconfig %iface% %address% [[netmask %netmask%]] [[broadcast %broadcast%]] \
+    [[ ifconfig %iface% link %hwaddress%]]
+    ifconfig %iface% %address% [[netmask %netmask%]] [[broadcast %broadcast%]] \
 	[[pointopoint %pointopoint%]] [[media %media%]] [[mtu %mtu%]] \
 	up
-    [[ /sbin/route add default %gateway% ]]
+    [[ route add default %gateway% ]]
 
   down
-    [[ /sbin/route del default %gateway% 2>&1 1>/dev/null || true ]]
-    /sbin/ifconfig %iface% down
+    [[ route del default %gateway% 2>&1 1>/dev/null || true ]]
+    ifconfig %iface% down
 
 method manual
   description
@@ -279,30 +279,30 @@ method dhcp
     hwaddress cleanup_hwaddress
 
   up
-    [[/sbin/ifconfig %iface% link %hwaddress%]]
-    /sbin/dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+    [[ifconfig %iface% link %hwaddress%]]
+    dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
 	[[-e IF_METRIC=%metric%]] \
         if (execable("/sbin/dhclient"))
-    /sbin/udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-H %hostname%]] \
+    udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-H %hostname%]] \
            [[-c %client%]] \
         elsif (execable("/sbin/udhcpc"))
-    /sbin/dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
+    dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
            [[-l %leasetime%]] %iface% \
         elsif (execable("/sbin/dhcpcd"))
     echo 'No DHCP client software found!' >/dev/stderr; false \
         elsif (1)
 
   down
-    /sbin/dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
+    dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
         if (execable("/sbin/dhclient"))
     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 \
         elsif (execable("/sbin/udhcpc"))
-    /sbin/dhcpcd -k %iface% \
+    dhcpcd -k %iface% \
         elsif (execable("/sbin/dhcpcd"))
     echo 'No DHCP client software found!' >/dev/stderr; false \
         elsif (1)
 
-    /sbin/ifconfig %iface% down
+    ifconfig %iface% down
 
 method bootp
   description
@@ -316,11 +316,11 @@ method bootp
                       whatever it really is.
 
   up
-    /sbin/bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
+    bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
            [[--hwaddr %hwaddr%]] --returniffail --serverbcast
 
   down
-    /sbin/ifconfig %iface% down
+    ifconfig %iface% down
 
 method ppp
   description
@@ -331,9 +331,9 @@ method ppp
     unit number    -- Use /number/ as the ppp unit number.
     options string -- Pass /string/ as additional options to pon.
   up
-    /usr/bin/pon [[%provider%]] [[unit %unit%]] [[%options%]]
+    pon [[%provider%]] [[unit %unit%]] [[%options%]]
   down
-    /usr/bin/poff [[%provider%]]
+    poff [[%provider%]]
 
 method wvdial
   description
@@ -342,10 +342,10 @@ method wvdial
   options
     provider name  -- Use /name/ as the provider (from /etc/wvdial.conf).
   up
-    /sbin/start-stop-daemon --start -x /usr/bin/wvdial \
+    start-stop-daemon --start -x /usr/bin/wvdial \
                       -p /run/wvdial.%iface%.pid -b -m -- [[ %provider% ]]
   down
-    /sbin/start-stop-daemon --stop -x /usr/bin/wvdial \
+    start-stop-daemon --stop -x /usr/bin/wvdial \
                       -p /run/wvdial.%iface%.pid -s 2
 
 
@@ -356,9 +356,9 @@ method ipv4ll
     known as APIPA or IPAC, and often colloquially referred to
     as "Zeroconf address".
   up
-    /usr/sbin/avahi-autoipd -D %iface%
+    avahi-autoipd -D %iface%
   down
-    /usr/sbin/avahi-autoipd --kill %iface%
+    avahi-autoipd --kill %iface%
 architecture hurd
 
 method loopback
@@ -432,23 +432,23 @@ method dhcp
 
   up
     [[Warning: Option hwaddress: %hwaddress% not yet supported]]
-    /sbin/dhclient -4 -v -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
+    dhclient -4 -v -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
         if (execable("/sbin/dhclient"))
-    /sbin/udhcpc -n -p /run/udhcpc.%iface///.%.pid -i %iface% [[-H %hostname%]] \
+    udhcpc -n -p /run/udhcpc.%iface///.%.pid -i %iface% [[-H %hostname%]] \
            [[-c %client%]] \
         elsif (execable("/sbin/udhcpc"))
-    /sbin/dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
+    dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
            [[-l %leasetime%]] %iface% \
         elsif (execable("/sbin/dhcpcd"))
     echo 'No DHCP client software found!' >/dev/stderr; false \
         elsif (1)
 
   down
-    /sbin/dhclient -4 -v -r -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
+    dhclient -4 -v -r -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
         if (execable("/sbin/dhclient"))
     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 \
         elsif (execable("/sbin/udhcpc"))
-    /sbin/dhcpcd -k %iface% \
+    dhcpcd -k %iface% \
         elsif (execable("/sbin/dhcpcd"))
     echo 'No DHCP client software found!' >/dev/stderr; false \
         elsif (1)
@@ -482,9 +482,9 @@ method ppp
     unit number    -- Use /number/ as the ppp unit number.
     options string -- Pass /string/ as additional options to pon.
   up
-    /usr/bin/pon [[%provider%]] [[unit %unit%]] [[%options%]]
+    pon [[%provider%]] [[unit %unit%]] [[%options%]]
   down
-    /usr/bin/poff [[%provider%]]
+    poff [[%provider%]]
 
 method wvdial
   description
@@ -493,10 +493,10 @@ method wvdial
   options
     provider name  -- Use /name/ as the provider (from /etc/wvdial.conf).
   up
-    /sbin/start-stop-daemon --start -x /usr/bin/wvdial \
+    start-stop-daemon --start -x /usr/bin/wvdial \
                       -p /run/wvdial.%iface///.%.pid -b -m -- [[ %provider% ]]
   down
-    /sbin/start-stop-daemon --stop -x /usr/bin/wvdial \
+    start-stop-daemon --stop -x /usr/bin/wvdial \
                       -p /run/wvdial.%iface///.%.pid -s 2
 
 
@@ -507,6 +507,6 @@ method ipv4ll
     known as APIPA or IPAC, and often colloquially referred to
     as "Zeroconf address".
   up
-    /usr/sbin/avahi-autoipd -D %iface%
+    avahi-autoipd -D %iface%
   down
-    /usr/sbin/avahi-autoipd --kill %iface%
+    avahi-autoipd --kill %iface%
-- 
2.17.1

