From 3b292714ff318f301d36bdb43b673e54c8b02c72 Mon Sep 17 00:00:00 2001 From: "Joseph C. Lehner" Date: Sun, 13 Nov 2016 08:28:22 +0100 Subject: [PATCH] Set IP before starting NMRP loop --- nmrp.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/nmrp.c b/nmrp.c index c2e634a..1d70082 100644 --- a/nmrp.c +++ b/nmrp.c @@ -490,6 +490,14 @@ int nmrp_do(struct nmrpd_args *args) } goto out; } + } else { + if (verbosity) { + printf("Adding %s to interface %s.\n", args->ipaddr_intf, args->intf); + } + + if (ethsock_ip_add(sock, intf_addr, ipconf.mask.s_addr, &gundo) != 0) { + goto out; + } } if (ethsock_set_timeout(sock, args->rx_timeout)) { @@ -583,12 +591,6 @@ int nmrp_do(struct nmrpd_args *args) memcpy(arpmac, rx.eh.ether_shost, 6); memcpy(&arpip, &ipconf.addr, sizeof(ipconf.addr)); - if (autoip) { - if (ethsock_ip_add(sock, intf_addr, ipconf.mask.s_addr, &gundo) != 0) { - goto out; - } - } - if (ethsock_arp_add(sock, arpmac, &arpip) != 0) { goto out; }