From 2aa533b91d244a0d6175fa82ef165aff90efbee1 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Sun, 25 Jan 2015 20:37:32 +0000 Subject: [PATCH] natd(8) will work with an unconfigured interface and effectively not do anything until the interface is assigned an address. This fixes ipfw_nat to do the same by using an IP of INADDR_ANY instead of aborting the nat setup if the requested interface is not yet configured. Differential Revision: https://reviews.freebsd.org/D1539 Reviewed by: melifaro, glebius, gnn MFC after: 1 week --- sbin/ipfw/nat.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sbin/ipfw/nat.c b/sbin/ipfw/nat.c index 3bd0259ad5ad..439177875e22 100644 --- a/sbin/ipfw/nat.c +++ b/sbin/ipfw/nat.c @@ -163,9 +163,9 @@ set_addr_dynamic(const char *ifn, struct nat44_cfg_nat *n) } } if (sin == NULL) - errx(1, "%s: cannot get interface address", ifn); - - n->ip = sin->sin_addr; + n->ip.s_addr = htonl(INADDR_ANY); + else + n->ip = sin->sin_addr; strncpy(n->if_name, ifn, IF_NAMESIZE); free(buf);