Hi, For this case, the callback update_if() doesn't set any error, so there's no need to propagate it.
On the other hand, tcpip_callback() doesn't return an errno, it returns an internal lwip error code. The only error possible in this call is ERR_MEM, when the system runs out of memory. This operation is the result of calling ioctl() from the user side, and I don't know what errno return to glibc in this case. I chose EAGAIN but I don't know whether is the correct option.