if (ocets > 0) {
memcpy(&rt->dest.s_addr, p, ocets);
p += ocets;
- rt->net.s_addr = htonl(~0U << (32 - cidr));
+ rt->mask.s_addr = htonl(~0U << (32 - cidr));
}
/* Finally, snag the router */
route->gate.s_addr == bootp->yiaddr)
{
route->gate.s_addr = htonl(INADDR_ANY);
- route->net.s_addr = htonl(INADDR_BROADCAST);
+ route->mask.s_addr = htonl(INADDR_BROADCAST);
} else
- route->net.s_addr =
+ route->mask.s_addr =
route_netmask(route->dest.s_addr);
TAILQ_INSERT_TAIL(routes, route, next);
}
*bootpm = bootp;
if ((type == DHCP_INFORM || type == DHCP_RELEASE ||
- (type == DHCP_REQUEST && state->net.s_addr == lease->net.s_addr &&
+ (type == DHCP_REQUEST && state->mask.s_addr == lease->mask.s_addr &&
(state->new == NULL || IS_DHCP(state->new)))))
{
/* In-case we haven't actually configured the address yet */
lease->addr.s_addr = bootp->yiaddr ? bootp->yiaddr : bootp->ciaddr;
ctx = ifp->ctx;
if (ifp->options->options & DHCPCD_INFORM) {
- lease->net = ifp->options->req_mask;
- lease->brd.s_addr = lease->addr.s_addr | ~lease->net.s_addr;
+ lease->mask = ifp->options->req_mask;
+ lease->brd.s_addr = lease->addr.s_addr | ~lease->mask.s_addr;
} else {
- if (get_option_addr(ctx, &lease->net, bootp, len,
+ if (get_option_addr(ctx, &lease->mask, bootp, len,
DHO_SUBNETMASK) == -1)
- lease->net.s_addr = ipv4_getnetmask(lease->addr.s_addr);
+ lease->mask.s_addr =
+ ipv4_getnetmask(lease->addr.s_addr);
+ if (get_option_addr(ctx, &lease->brd, bootp, len,
+ DHO_BROADCAST) == -1)
+ lease->brd.s_addr =
+ lease->addr.s_addr | ~lease->mask.s_addr;
}
- if (get_option_addr(ctx, &lease->brd, bootp, len, DHO_BROADCAST) == -1)
- lease->brd.s_addr = lease->addr.s_addr | ~lease->net.s_addr;
if (get_option_uint32(ctx, &lease->leasetime,
bootp, len, DHO_LEASETIME) != 0)
lease->leasetime = ~0U; /* Default to infinite lease */
#ifdef IN_IFF_DUPLICATED
ia = ipv4_iffindaddr(ifp, &astate->addr, NULL);
if (ia)
- ipv4_deladdr(ifp, &ia->addr, &ia->net, 1);
+ ipv4_deladdr(ifp, &ia->addr, &ia->mask, 1);
#endif
arp_free(astate);
eloop_timeout_delete(ifp->ctx->eloop, NULL, ifp);
if (ifo->options & DHCPCD_STATIC) {
logger(ifp->ctx, LOG_INFO, "%s: using static address %s/%d",
ifp->name, inet_ntoa(lease->addr),
- inet_ntocidr(lease->net));
+ inet_ntocidr(lease->mask));
lease->leasetime = ~0U;
state->reason = "STATIC";
} else if (ifo->options & DHCPCD_INFORM) {
get_lease(ifp, &l, state->offer, state->offer_len);
/* Add the address now, let the kernel handle DAD. */
- ipv4_addaddr(ifp, &l.addr, &l.net, &l.brd);
+ ipv4_addaddr(ifp, &l.addr, &l.mask, &l.brd);
} else
logger(ifp->ctx, LOG_INFO, "%s: waiting for DAD on %s",
ifp->name, inet_ntoa(addr));
get_lease(ifp, &l, state->offer, state->offer_len);
logger(ifp->ctx, LOG_INFO, "%s: probing address %s/%d",
- ifp->name, inet_ntoa(l.addr), inet_ntocidr(l.net));
+ ifp->name, inet_ntoa(l.addr), inet_ntocidr(l.mask));
if ((astate = arp_new(ifp, &addr)) != NULL) {
astate->probed_cb = dhcp_arp_probed;
astate->conflicted_cb = dhcp_arp_conflicted;
state->offer_len = dhcp_message_new(&state->offer,
ia ? &ia->addr : &ifo->req_addr,
- ia ? &ia->net : &ifo->req_mask);
+ ia ? &ia->mask : &ifo->req_mask);
if (state->offer_len)
dhcp_arp_bind(ifp);
}
ia = ipv4_iffindaddr(ifp, &ifo->req_addr, NULL);
if (ia != NULL)
/* Netmask must be different, delete it. */
- ipv4_deladdr(ifp, &ia->addr, &ia->net, 1);
+ ipv4_deladdr(ifp, &ia->addr, &ia->mask, 1);
state->offer_len = dhcp_message_new(&state->offer,
&ifo->req_addr, &ifo->req_mask);
if (dhcp_arp_address(ifp) == 0)
}
}
- state->offer_len = dhcp_message_new(&state->offer, &ia->addr, &ia->net);
+ state->offer_len = dhcp_message_new(&state->offer, &ia->addr, &ia->mask);
if (state->offer_len) {
state->xid = dhcp_xid(ifp);
get_lease(ifp, &state->lease, state->offer, state->offer_len);
LOGDHCP(LOG_WARNING, "declined duplicate address");
if (type)
dhcp_decline(ifp);
- ipv4_deladdr(ifp, &ia->addr, &ia->net, 0);
+ ipv4_deladdr(ifp, &ia->addr, &ia->mask, 0);
eloop_timeout_delete(ifp->ctx->eloop, NULL, ifp);
eloop_timeout_add_sec(ifp->ctx->eloop,
DHCP_RAND_MAX, dhcp_discover, ifp);
get_lease(ifp, &state->lease, state->offer, state->offer_len);
state->lease.frominfo = 1;
if (state->new == NULL &&
- ipv4_iffindaddr(ifp, &state->lease.addr, &state->lease.net))
+ ipv4_iffindaddr(ifp,
+ &state->lease.addr, &state->lease.mask))
{
/* We still have the IP address from the last lease.
* Fake add the address and routes from it so the lease
memcpy(state->new,
state->offer, state->offer_len);
state->addr = state->lease.addr;
- state->net = state->lease.net;
+ state->mask = state->lease.mask;
state->added |= STATE_ADDED | STATE_FAKE;
ipv4_buildroutes(ifp->ctx);
} else
void
dhcp_handleifa(int cmd, struct interface *ifp,
const struct in_addr *addr,
- const struct in_addr *net,
+ const struct in_addr *mask,
const struct in_addr *brd,
int flags)
{
if (cmd == RTM_DELADDR) {
if (state->addr.s_addr == addr->s_addr &&
- state->net.s_addr == net->s_addr &&
+ state->mask.s_addr == mask->s_addr &&
state->brd.s_addr == brd->s_addr)
{
logger(ifp->ctx, LOG_INFO,
"%s: removing IP address %s/%d",
ifp->name, inet_ntoa(state->addr),
- inet_ntocidr(state->net));
+ inet_ntocidr(state->mask));
dhcp_drop(ifp, "EXPIRE");
}
return;
free(state->old);
state->old = state->new;
- state->new_len = dhcp_message_new(&state->new, addr, net);
+ state->new_len = dhcp_message_new(&state->new, addr, mask);
if (state->new == NULL)
return;
state->brd = *brd;
state->xid = dhcp_xid(ifp);
state->lease.server = *brd;
state->addr = *addr;
- state->net = *net;
+ state->mask = *mask;
dhcp_inform(ifp);
}
}
struct dhcp_lease {
struct in_addr addr;
- struct in_addr net;
+ struct in_addr mask;
struct in_addr brd;
uint32_t leasetime;
uint32_t renewaltime;
int raw_fd;
struct in_addr addr;
- struct in_addr net;
+ struct in_addr mask;
struct in_addr brd;
uint8_t added;
rt->flags = (unsigned int)rtm->rtm_flags;
COPYOUT(rt->dest, rti_info[RTAX_DST]);
if (rtm->rtm_addrs & RTA_NETMASK)
- COPYOUT(rt->net, rti_info[RTAX_NETMASK]);
+ COPYOUT(rt->mask, rti_info[RTAX_NETMASK]);
else
- rt->net.s_addr = INADDR_BROADCAST;
+ rt->mask.s_addr = INADDR_BROADCAST;
COPYOUT(rt->gate, rti_info[RTAX_GATEWAY]);
COPYOUT(rt->src, rti_info[RTAX_IFA]);
rt->mtu = (unsigned int)rtm->rtm_rmx.rmx_mtu;
if (subnet == -1) /* unikely */
rtm.hdr.rtm_addrs &= ~RTA_IFA;
}
- if (rt->net.s_addr == htonl(INADDR_BROADCAST) &&
+ if (rt->mask.s_addr == htonl(INADDR_BROADCAST) &&
rt->gate.s_addr == htonl(INADDR_ANY))
{
#ifdef RTF_CLONING
rtm.hdr.rtm_flags |= RTF_HOST;
#endif
} else if (rt->gate.s_addr == htonl(INADDR_LOOPBACK) &&
- rt->net.s_addr == htonl(INADDR_BROADCAST))
+ rt->mask.s_addr == htonl(INADDR_BROADCAST))
{
rtm.hdr.rtm_flags |= RTF_HOST | RTF_GATEWAY;
/* Going via lo0 so remove the interface flags */
rtm.hdr.rtm_addrs |= RTA_NETMASK;
if (rtm.hdr.rtm_flags & RTF_STATIC)
rtm.hdr.rtm_flags |= RTF_GATEWAY;
- if (rt->net.s_addr == htonl(INADDR_BROADCAST))
+ if (rt->mask.s_addr == htonl(INADDR_BROADCAST))
rtm.hdr.rtm_flags |= RTF_HOST;
}
if ((cmd == RTM_ADD || cmd == RTM_CHANGE) &&
}
if (rtm.hdr.rtm_addrs & RTA_NETMASK)
- ADDADDR(&rt->net);
+ ADDADDR(&rt->mask);
if ((cmd == RTM_ADD || cmd == RTM_CHANGE) &&
(rtm.hdr.rtm_addrs & (RTA_IFP | RTA_IFA)))
const unsigned char *p;
sin6 = (void *)rti_info[RTAX_NETMASK];
- rt->net = sin6->sin6_addr;
+ rt->mask = sin6->sin6_addr;
e = sin6->sin6_len - offsetof(struct sockaddr_in6, sin6_addr);
if (e > sizeof(struct in6_addr))
e = sizeof(struct in6_addr);
{
if (final && *p) {
illegal = 1;
- rt->net.s6_addr[i++] = 0x00;
+ rt->mask.s6_addr[i++] = 0x00;
continue;
}
switch (*p & 0xff) {
break;
}
if (!illegal)
- rt->net.s6_addr[i++] &= *p;
+ rt->mask.s6_addr[i++] &= *p;
else
- rt->net.s6_addr[i++] = 0x00;
+ rt->mask.s6_addr[i++] = 0x00;
}
- while (i < sizeof(rt->net.s6_addr))
- rt->net.s6_addr[i++] = 0x00;
+ while (i < sizeof(rt->mask.s6_addr))
+ rt->mask.s6_addr[i++] = 0x00;
} else
- ipv6_mask(&rt->net, 128);
+ ipv6_mask(&rt->mask, 128);
COPYOUT6(rt->gate, rti_info[RTAX_GATEWAY]);
DESCOPE(&rt->gate);
rt->mtu = (unsigned int)rtm->rtm_rmx.rmx_mtu;
}
if (rtm.hdr.rtm_addrs & RTA_NETMASK)
- ADDADDR(&rt->net);
+ ADDADDR(&rt->mask);
if (rtm.hdr.rtm_addrs & (RTA_IFP | RTA_IFA)) {
rtm.hdr.rtm_index = (unsigned short)rt->iface->index;
#endif
#ifdef INET6
struct rt6 rt6;
- struct in6_addr ia6, net6;
+ struct in6_addr ia6, mask6;
struct sockaddr_in6 *sin6;
#endif
#if (defined(INET) && defined(IN_IFF_TENTATIVE)) || defined(INET6)
case AF_INET:
case 255: /* FIXME: Why 255? */
COPYOUT(rt.dest, rti_info[RTAX_IFA]);
- COPYOUT(rt.net, rti_info[RTAX_NETMASK]);
+ COPYOUT(rt.mask, rti_info[RTAX_NETMASK]);
COPYOUT(rt.gate, rti_info[RTAX_BRD]);
if (rtm->rtm_type == RTM_NEWADDR) {
ifa_flags = if_addrflags(&rt.dest, ifp);
ifa_flags = 0;
ipv4_handleifa(ctx, rtm->rtm_type,
NULL, ifp->name,
- &rt.dest, &rt.net, &rt.gate, ifa_flags);
+ &rt.dest, &rt.mask, &rt.gate, ifa_flags);
break;
#endif
#ifdef INET6
ia6 = sin6->sin6_addr;
DESCOPE(&ia6);
sin6 = (void *)rti_info[RTAX_NETMASK];
- net6 = sin6->sin6_addr;
- DESCOPE(&net6);
+ mask6 = sin6->sin6_addr;
+ DESCOPE(&mask6);
if (rtm->rtm_type == RTM_NEWADDR) {
ifa_flags = if_addrflags6(&ia6, ifp);
if (ifa_flags == -1)
} else
ifa_flags = 0;
ipv6_handleifa(ctx, rtm->rtm_type, NULL,
- ifp->name, &ia6, ipv6_prefixlen(&net6),
+ ifp->name, &ia6, ipv6_prefixlen(&mask6),
ifa_flags);
break;
#endif
rta = RTA_NEXT(rta, len);
}
- inet_cidrtoaddr(rtm->rtm_dst_len, &rt->net);
+ inet_cidrtoaddr(rtm->rtm_dst_len, &rt->mask);
if (rt->iface == NULL && rt->src.s_addr != INADDR_ANY) {
struct ipv4_addr *ap;
rt->flags = RTF_REJECT;
if (rtm->rtm_scope == RT_SCOPE_HOST)
rt->flags |= RTF_HOST;
- ipv6_mask(&rt->net, rtm->rtm_dst_len);
+ ipv6_mask(&rt->mask, rtm->rtm_dst_len);
rta = (struct rtattr *)RTM_RTA(rtm);
len = RTM_PAYLOAD(nlm);
nlm.rt.rtm_scope = RT_SCOPE_HOST;
else if (rt->gate.s_addr == INADDR_ANY ||
(rt->gate.s_addr == rt->dest.s_addr &&
- rt->net.s_addr == INADDR_BROADCAST))
+ rt->mask.s_addr == INADDR_BROADCAST))
nlm.rt.rtm_scope = RT_SCOPE_LINK;
else
nlm.rt.rtm_scope = RT_SCOPE_UNIVERSE;
nlm.rt.rtm_type = RTN_UNICAST;
}
- nlm.rt.rtm_dst_len = inet_ntocidr(rt->net);
+ nlm.rt.rtm_dst_len = inet_ntocidr(rt->mask);
add_attr_l(&nlm.hdr, sizeof(nlm), RTA_DST,
&rt->dest.s_addr, sizeof(rt->dest.s_addr));
if (cmd == RTM_ADD || cmd == RTM_CHANGE) {
nlm.rt.rtm_type = RTN_UNICAST;
}
- nlm.rt.rtm_dst_len = ipv6_prefixlen(&rt->net);
+ nlm.rt.rtm_dst_len = ipv6_prefixlen(&rt->mask);
add_attr_l(&nlm.hdr, sizeof(nlm), RTA_DST,
&rt->dest.s6_addr, sizeof(rt->dest.s6_addr));
*fp = ' ';
return -1;
}
- if (parse_addr(ctx, &rt->dest, &rt->net, p) == -1 ||
+ if (parse_addr(ctx, &rt->dest, &rt->mask, p) == -1 ||
parse_addr(ctx, &rt->gate, NULL, np) == -1)
{
free(rt);
return -1;
}
rt->dest.s_addr = INADDR_ANY;
- rt->net.s_addr = INADDR_ANY;
+ rt->mask.s_addr = INADDR_ANY;
if (parse_addr(ctx, &rt->gate, NULL, p) == -1) {
free(rt);
return -1;
int
if_address(const struct interface *ifp, const struct in_addr *addr,
- const struct in_addr *net, const struct in_addr *bcast,
+ const struct in_addr *mask, const struct in_addr *bcast,
int action)
{
UNUSED(ifp);
UNUSED(addr);
- UNUSED(net);
+ UNUSED(mask);
UNUSED(bcast);
UNUSED(action);
errno = ENOTSUP;
}
memset(&rt, 0, sizeof(rt));
rt.dest.s_addr = re->ipRouteDest;
- rt.net.s_addr = re->ipRouteMask;
+ rt.mask.s_addr = re->ipRouteMask;
rt.gate.s_addr = re->ipRouteNextHop;
rt.flags = re->ipRouteInfo.re_flags;
rt.src.s_addr = re->ipRouteInfo.re_src_addr;
}
memset(&rt, 0, sizeof(rt));
rt.dest = re->ipv6RouteDest;
- ipv6_mask(&rt.net, re->ipv6RoutePfxLength);
+ ipv6_mask(&rt.mask, re->ipv6RoutePfxLength);
rt.gate = re->ipv6RouteNextHop;
rt.mtu = re->ipv6RouteInfo.re_max_frag;
struct ipv4_addr *
ipv4_iffindaddr(struct interface *ifp,
- const struct in_addr *addr, const struct in_addr *net)
+ const struct in_addr *addr, const struct in_addr *mask)
{
struct ipv4_state *state;
struct ipv4_addr *ap;
if (state) {
TAILQ_FOREACH(ap, &state->addrs, next) {
if ((addr == NULL || ap->addr.s_addr == addr->s_addr) &&
- (net == NULL || ap->net.s_addr == net->s_addr))
+ (mask == NULL || ap->mask.s_addr == mask->s_addr))
return ap;
}
}
state = IPV4_STATE(ifp);
if (state) {
TAILQ_FOREACH (ap, &state->addrs, next) {
- if ((ap->addr.s_addr & ap->net.s_addr) ==
- (addr->s_addr & ap->net.s_addr))
+ if ((ap->addr.s_addr & ap->mask.s_addr) ==
+ (addr->s_addr & ap->mask.s_addr))
return ap;
}
}
/* Prefer DHCP source address if matching */
dstate = D_CSTATE(rt->iface);
if (dstate &&
- rt->net.s_addr == dstate->net.s_addr &&
- rt->dest.s_addr == (dstate->addr.s_addr & dstate->net.s_addr))
+ rt->mask.s_addr == dstate->mask.s_addr &&
+ rt->dest.s_addr == (dstate->addr.s_addr & dstate->mask.s_addr))
{
*addr = dstate->addr;
return 1;
/* Then IPv4LL source address if matching */
istate = IPV4LL_CSTATE(rt->iface);
if (istate &&
- rt->net.s_addr == inaddr_llmask.s_addr &&
+ rt->mask.s_addr == inaddr_llmask.s_addr &&
rt->dest.s_addr == (istate->addr.s_addr & inaddr_llmask.s_addr))
{
*addr = istate->addr;
rt->iface->metric == r->iface->metric)) &&
#endif
(!srt || srt != rt) &&
- rt->net.s_addr == r->net.s_addr)
+ rt->mask.s_addr == r->mask.s_addr)
return rt;
}
return NULL;
const char *ifname = rt->iface ? rt->iface->name : NULL;
strlcpy(addr, inet_ntoa(rt->dest), sizeof(addr));
- if (rt->net.s_addr == htonl(INADDR_BROADCAST) &&
+ if (rt->mask.s_addr == htonl(INADDR_BROADCAST) &&
rt->gate.s_addr == htonl(INADDR_ANY))
logger(ctx, LOG_INFO, "%s: %s host route to %s",
ifname, cmd, addr);
- else if (rt->net.s_addr == htonl(INADDR_BROADCAST))
+ else if (rt->mask.s_addr == htonl(INADDR_BROADCAST))
logger(ctx, LOG_INFO, "%s: %s host route to %s via %s",
ifname, cmd, addr, inet_ntoa(rt->gate));
else if (rt->dest.s_addr == htonl(INADDR_ANY) &&
- rt->net.s_addr == htonl(INADDR_ANY) &&
+ rt->mask.s_addr == htonl(INADDR_ANY) &&
rt->gate.s_addr == htonl(INADDR_ANY))
logger(ctx, LOG_INFO, "%s: %s default route",
ifname, cmd);
else if (rt->gate.s_addr == htonl(INADDR_ANY))
logger(ctx, LOG_INFO, "%s: %s route to %s/%d",
- ifname, cmd, addr, inet_ntocidr(rt->net));
+ ifname, cmd, addr, inet_ntocidr(rt->mask));
else if (rt->dest.s_addr == htonl(INADDR_ANY) &&
- rt->net.s_addr == htonl(INADDR_ANY))
+ rt->mask.s_addr == htonl(INADDR_ANY))
logger(ctx, LOG_INFO, "%s: %s default route via %s",
ifname, cmd, inet_ntoa(rt->gate));
else
logger(ctx, LOG_INFO, "%s: %s route to %s/%d via %s",
- ifname, cmd, addr, inet_ntocidr(rt->net),
+ ifname, cmd, addr, inet_ntocidr(rt->mask),
inet_ntoa(rt->gate));
}
#else
(!flags || rt->iface == r->iface) &&
#endif
- rt->net.s_addr == r->net.s_addr)
+ rt->mask.s_addr == r->mask.s_addr)
return r;
}
return NULL;
/* Don't set default routes if not asked to */
if (nrt->dest.s_addr == 0 &&
- nrt->net.s_addr == 0 &&
+ nrt->mask.s_addr == 0 &&
!(nrt->iface->options->options & DHCPCD_GATEWAY))
return -1;
ort->metric == nrt->metric &&
#endif
ort->dest.s_addr == nrt->dest.s_addr &&
- ort->net.s_addr == nrt->net.s_addr &&
+ ort->mask.s_addr == nrt->mask.s_addr &&
ort->gate.s_addr == nrt->gate.s_addr)
{
if (ort->mtu == nrt->mtu)
s = D_CSTATE(ifp);
/* Don't create a subnet route for these addresses */
- if (s->net.s_addr == INADDR_ANY)
+ if (s->mask.s_addr == INADDR_ANY)
return rt;
#ifndef BSD
/* BSD adds a route in this instance */
- if (s->net.s_addr == INADDR_BROADCAST)
+ if (s->mask.s_addr == INADDR_BROADCAST)
return rt;
#endif
ipv4_freeroutes(rt);
return NULL;
}
- r->dest.s_addr = s->addr.s_addr & s->net.s_addr;
- r->net.s_addr = s->net.s_addr;
+ r->dest.s_addr = s->addr.s_addr & s->mask.s_addr;
+ r->mask.s_addr = s->mask.s_addr;
r->gate.s_addr = INADDR_ANY;
r->mtu = dhcp_get_mtu(ifp);
r->src = s->addr;
return NULL;
}
r->dest = s->addr;
- r->net.s_addr = INADDR_BROADCAST;
+ r->mask.s_addr = INADDR_BROADCAST;
r->gate.s_addr = htonl(INADDR_LOOPBACK);
r->mtu = dhcp_get_mtu(ifp);
r->src = s->addr;
return NULL;
}
r->dest.s_addr = INADDR_ANY;
- r->net.s_addr = INADDR_ANY;
+ r->mask.s_addr = INADDR_ANY;
r->gate.s_addr = state->brd.s_addr;
r->mtu = dhcp_get_mtu(ifp);
r->src = state->addr;
/* match subnet */
cp = (const char *)&rtp->gate.s_addr;
cp2 = (const char *)&rtn->dest.s_addr;
- cp3 = (const char *)&rtn->net.s_addr;
- cplim = cp3 + sizeof(rtn->net.s_addr);
+ cp3 = (const char *)&rtn->mask.s_addr;
+ cplim = cp3 + sizeof(rtn->mask.s_addr);
while (cp3 < cplim) {
if ((*cp++ ^ *cp2++) & *cp3++)
break;
return NULL;
}
rtn->dest.s_addr = rtp->gate.s_addr;
- rtn->net.s_addr = htonl(INADDR_BROADCAST);
+ rtn->mask.s_addr = htonl(INADDR_BROADCAST);
rtn->gate.s_addr = htonl(INADDR_ANY);
rtn->mtu = dhcp_get_mtu(ifp);
rtn->src = state->addr;
int
ipv4_deladdr(struct interface *ifp,
- const struct in_addr *addr, const struct in_addr *net, int keeparp)
+ const struct in_addr *addr, const struct in_addr *mask, int keeparp)
{
struct dhcp_state *dstate;
int r;
logger(ifp->ctx, LOG_DEBUG,
"%s: deleting IP address %s/%d",
- ifp->name, inet_ntoa(*addr), inet_ntocidr(*net));
+ ifp->name, inet_ntoa(*addr), inet_ntocidr(*mask));
- r = if_deladdress(ifp, addr, net);
+ r = if_deladdress(ifp, addr, mask);
if (r == -1 && errno != EADDRNOTAVAIL && errno != ENXIO &&
errno != ENODEV)
logger(ifp->ctx, LOG_ERR, "%s: %s: %m", ifp->name, __func__);
arp_free(astate);
a = addr->s_addr;
- n = net->s_addr;
+ n = mask->s_addr;
state = IPV4_STATE(ifp);
TAILQ_FOREACH(ap, &state->addrs, next) {
if (ap->addr.s_addr == addr->s_addr &&
- ap->net.s_addr == net->s_addr)
+ ap->mask.s_addr == mask->s_addr)
{
TAILQ_REMOVE(&state->addrs, ap, next);
free(ap);
/* Have to do this last incase the function arguments
* were these very pointers. */
dstate = D_STATE(ifp);
- if (dstate && dstate->addr.s_addr == a && dstate->net.s_addr == n) {
+ if (dstate && dstate->addr.s_addr == a && dstate->mask.s_addr == n) {
dstate->added = 0;
dstate->addr.s_addr = 0;
- dstate->net.s_addr = 0;
+ dstate->mask.s_addr = 0;
}
return r;
}
if (ifo->options & DHCPCD_INFORM ||
(ifo->options & DHCPCD_STATIC && ifo->req_addr.s_addr == 0))
return 0;
- r = ipv4_deladdr(ifp, &state->addr, &state->net, 0);
+ r = ipv4_deladdr(ifp, &state->addr, &state->mask, 0);
return r;
}
TAILQ_FOREACH_SAFE(ia, &state->addrs, next, ian) {
if (ia->addr.s_addr != addr->s_addr)
- ipv4_deladdr(ifp, &ia->addr, &ia->net, 0);
+ ipv4_deladdr(ifp, &ia->addr, &ia->mask, 0);
}
}
ia->iface = ifp;
ia->addr = *addr;
- ia->net = *mask;
+ ia->mask = *mask;
ia->brd = *bcast;
#ifdef IN_IFF_TENTATIVE
ia->addr_flags = IN_IFF_TENTATIVE;
{
struct dhcp_state *state;
- if (ipv4_addaddr(ifp, &lease->addr, &lease->net, &lease->brd) == NULL)
+ if (ipv4_addaddr(ifp, &lease->addr, &lease->mask, &lease->brd) == NULL)
return -1;
state = D_STATE(ifp);
state->added = STATE_ADDED;
state->addr.s_addr = lease->addr.s_addr;
- state->net.s_addr = lease->net.s_addr;
+ state->mask.s_addr = lease->mask.s_addr;
return 0;
}
ifn->name,
inet_ntoa(lease->addr),
ifp->name);
- ipv4_deladdr(ifn, &nstate->addr, &nstate->net, 0);
+ ipv4_deladdr(ifn, &nstate->addr, &nstate->mask, 0);
break;
}
}
continue;
ap = ipv4_iffindaddr(ifn, &lease->addr, NULL);
if (ap)
- ipv4_deladdr(ifn, &ap->addr, &ap->net, 0);
+ ipv4_deladdr(ifn, &ap->addr, &ap->mask, 0);
}
}
/* If the netmask or broadcast is different, re-add the addresss */
ap = ipv4_iffindaddr(ifp, &lease->addr, NULL);
if (ap &&
- ap->net.s_addr == lease->net.s_addr &&
+ ap->mask.s_addr == lease->mask.s_addr &&
ap->brd.s_addr == lease->brd.s_addr)
logger(ifp->ctx, LOG_DEBUG,
"%s: IP address %s/%d already exists",
ifp->name, inet_ntoa(lease->addr),
- inet_ntocidr(lease->net));
+ inet_ntocidr(lease->mask));
else {
#if __linux__
/* Linux does not change netmask/broadcast address
* for re-added addresses, so we need to delete the old one
* first. */
if (ap != NULL)
- ipv4_deladdr(ifp, &ap->addr, &ap->net, 0);
+ ipv4_deladdr(ifp, &ap->addr, &ap->mask, 0);
#endif
r = ipv4_daddaddr(ifp, lease);
if (r == -1 && errno != EEXIST)
state->added = STATE_ADDED;
state->addr.s_addr = lease->addr.s_addr;
- state->net.s_addr = lease->net.s_addr;
+ state->mask.s_addr = lease->mask.s_addr;
/* Find any freshly added routes, such as the subnet route.
* We do this because we cannot rely on recieving the kernel
void
ipv4_handleifa(struct dhcpcd_ctx *ctx,
int cmd, struct if_head *ifs, const char *ifname,
- const struct in_addr *addr, const struct in_addr *net,
+ const struct in_addr *addr, const struct in_addr *mask,
const struct in_addr *brd, int flags)
{
struct interface *ifp;
ap->addr = *addr;
TAILQ_INSERT_TAIL(&state->addrs, ap, next);
}
- ap->net = *net;
+ ap->mask = *mask;
if (brd != NULL)
ap->brd = *brd;
else
}
arp_handleifa(cmd, ifp, addr, flags);
- dhcp_handleifa(cmd, ifp, addr, net, brd, flags);
+ dhcp_handleifa(cmd, ifp, addr, mask, brd, flags);
}
void
struct rt {
TAILQ_ENTRY(rt) next;
struct in_addr dest;
- struct in_addr net;
+ struct in_addr mask;
struct in_addr gate;
const struct interface *iface;
#ifdef HAVE_ROUTE_METRIC
struct ipv4_addr {
TAILQ_ENTRY(ipv4_addr) next;
struct in_addr addr;
- struct in_addr net;
+ struct in_addr mask;
struct in_addr brd;
struct interface *iface;
int addr_flags;
}
rt->iface = ifp;
rt->dest.s_addr = state->addr.s_addr & inaddr_llmask.s_addr;
- rt->net = inaddr_llmask;
+ rt->mask = inaddr_llmask;
rt->gate.s_addr = INADDR_ANY;
rt->src = state->addr;
return rt;
}
rt->iface = ifp;
rt->dest.s_addr = INADDR_ANY;
- rt->net.s_addr = INADDR_ANY;
+ rt->mask.s_addr = INADDR_ANY;
rt->gate.s_addr = INADDR_ANY;
rt->src = state->addr;
return rt;
TAILQ_FOREACH_SAFE(ia, &istate->addrs, next, ian) {
if (IN_LINKLOCAL(ntohl(ia->addr.s_addr))) {
ipv4_deladdr(ifp, &ia->addr,
- &ia->net, 0);
+ &ia->mask, 0);
dropped = 1;
}
}
(r->iface == NULL || rt->iface == NULL ||
rt->iface->metric == r->iface->metric) &&
#endif
- IN6_ARE_ADDR_EQUAL(&rt->net, &r->net))
+ IN6_ARE_ADDR_EQUAL(&rt->mask, &r->mask))
return rt;
}
return NULL;
gate = inet_ntop(AF_INET6, &rt->gate, gatebuf, INET6_ADDRSTRLEN);
if (IN6_ARE_ADDR_EQUAL(&rt->gate, &in6addr_any))
logger(ctx, LOG_INFO, "%s: %s route to %s/%d",
- ifname, cmd, dest, ipv6_prefixlen(&rt->net));
+ ifname, cmd, dest, ipv6_prefixlen(&rt->mask));
else if (IN6_ARE_ADDR_EQUAL(&rt->dest, &in6addr_any) &&
- IN6_ARE_ADDR_EQUAL(&rt->net, &in6addr_any))
+ IN6_ARE_ADDR_EQUAL(&rt->mask, &in6addr_any))
logger(ctx, LOG_INFO, "%s: %s default route via %s",
ifname, cmd, gate);
else
logger(ctx, LOG_INFO, "%s: %s%s route to %s/%d via %s",
ifname, cmd,
rt->flags & RTF_REJECT ? " reject" : "",
- dest, ipv6_prefixlen(&rt->net), gate);
+ dest, ipv6_prefixlen(&rt->mask), gate);
}
static struct rt6*
(!flags || rt->iface == r->iface ||
(rt->flags & RTF_REJECT && r->flags & RTF_REJECT)) &&
#endif
- IN6_ARE_ADDR_EQUAL(&rt->net, &r->net))
+ IN6_ARE_ADDR_EQUAL(&rt->mask, &r->mask))
return r;
}
return NULL;
/* Don't set default routes if not asked to */
if (IN6_IS_ADDR_UNSPECIFIED(&nrt->dest) &&
- IN6_IS_ADDR_UNSPECIFIED(&nrt->net) &&
+ IN6_IS_ADDR_UNSPECIFIED(&nrt->mask) &&
!(nrt->iface->options->options & DHCPCD_GATEWAY))
return -1;
if (r == NULL)
return NULL;
r->dest = addr->prefix;
- ipv6_mask(&r->net, addr->prefix_len);
+ ipv6_mask(&r->mask, addr->prefix_len);
if (addr->flags & IPV6_AF_DELEGATEDPFX) {
r->flags |= RTF_REJECT;
r->gate = in6addr_loopback;
if (r == NULL)
return NULL;
r->dest = in6addr_any;
- r->net = in6addr_any;
+ r->mask = in6addr_any;
r->gate = rap->from;
return r;
}
#define RT_IS_DEFAULT(rtp) \
(IN6_ARE_ADDR_EQUAL(&((rtp)->dest), &in6addr_any) && \
- IN6_ARE_ADDR_EQUAL(&((rtp)->net), &in6addr_any))
+ IN6_ARE_ADDR_EQUAL(&((rtp)->mask), &in6addr_any))
static void
ipv6_build_static_routes(struct dhcpcd_ctx *ctx, struct rt6_head *dnr)
struct rt6 {
TAILQ_ENTRY(rt6) next;
struct in6_addr dest;
- struct in6_addr net;
+ struct in6_addr mask;
struct in6_addr gate;
const struct interface *iface;
unsigned int flags;