hello,
indeed that looks wrong:
it would be easy to invert but i have no setup to test.
can you do that ?

just change:
  if [ -z "$(ip -6 route list | grep default)" ]; then
into
if ! [ -z "$(ip -6 route list | grep default)" ]; then

(note the ! here)

re,
 wh
________________________________________
Von: busybox <[email protected]> im Auftrag von Bhattiprolu RaviKumar 
<[email protected]>
Gesendet: Montag, 1. Februar 2021 10:36:02
An: [email protected]
Betreff: Question on udhcpc script

All,
  We are using busybox to get DHCPv6  address. However, I am bit confused on 
the part of the script /etc/udhcpc.d/50default:

wait_for_ipv6_default_route() {
        printf "Waiting for IPv6 default route to appear"
        while [ $IF_WAIT_DELAY -gt 0 ]; do
                if [ -z "$(ip -6 route list | grep default)" ]; then
                        printf "\n"
                        return
                fi
                sleep 1
                printf "."
                : $((IF_WAIT_DELAY -= 1))
        done
        printf " timeout!\n"
}

The print says "Waiting for IPv6 default route to appear". However the if 
statement is checking for "$(ip -6 route list | grep default)"to be null (-z 
check) which means default route is not present.

In our case, after DHCP, default route gets setup and "$(ip -6 route list | 
grep default)"returns an entry starting with default and since check is -z, it 
continues in the loop and finally prints "timeout".

I am confused here. Am I missing something here?
regards,
Ravi
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to