Cleanup of some horrible macros pulled into the network code
from the horrible radix code.
Now boots and runs! And sends email!
Hi, otto@!
Index: net/radix.c
===================================================================
RCS file: /cvs/src/sys/net/radix.c,v
retrieving revision 1.28
diff -u -p -r1.28 radix.c
--- net/radix.c 22 Aug 2010 17:02:04 -0000 1.28
+++ net/radix.c 4 Apr 2011 18:29:51 -0000
@@ -413,9 +413,9 @@ rn_addmask(void *n_arg, int search, int
if (mlen <= skip)
return (mask_rnhead->rnh_nodes);
if (skip > 1)
- Bcopy(rn_ones + 1, addmask_key + 1, skip - 1);
+ bcopy(rn_ones + 1, addmask_key + 1, skip - 1);
if ((m0 = mlen) > skip)
- Bcopy(netmask + skip, addmask_key + skip, mlen - skip);
+ bcopy(netmask + skip, addmask_key + skip, mlen - skip);
/*
* Trim trailing zeroes.
*/
@@ -428,23 +428,23 @@ rn_addmask(void *n_arg, int search, int
return (mask_rnhead->rnh_nodes);
}
if (m0 < last_zeroed)
- Bzero(addmask_key + m0, last_zeroed - m0);
+ bzero(addmask_key + m0, last_zeroed - m0);
*addmask_key = last_zeroed = mlen;
x = rn_search(addmask_key, rn_masktop);
if (Bcmp(addmask_key, x->rn_key, mlen) != 0)
x = 0;
if (x || search)
return (x);
- R_Malloc(x, struct radix_node *, max_keylen + 2 * sizeof (*x));
+ x = malloc(max_keylen + 2 * sizeof(*x), M_RTABLE, M_DONTWAIT);
if ((saved_x = x) == 0)
return (0);
- Bzero(x, max_keylen + 2 * sizeof (*x));
+ bzero(x, (unsigned)(max_keylen + 2 * sizeof(*x)));
netmask = cp = (caddr_t)(x + 2);
- Bcopy(addmask_key, cp, mlen);
+ bcopy(addmask_key, cp, mlen);
x = rn_insert(cp, mask_rnhead, &maskduplicated, x);
if (maskduplicated) {
log(LOG_ERR, "rn_addmask: mask impossibly already in tree\n");
- Free(saved_x);
+ free(saved_x, M_RTABLE);
return (x);
}
/*
@@ -500,7 +500,7 @@ rn_new_radix_mask(struct radix_node *tt,
log(LOG_ERR, "Mask for route not entered\n");
return (0);
}
- Bzero(m, sizeof *m);
+ bzero(m, sizeof *m);
m->rm_b = tt->rn_b;
m->rm_flags = tt->rn_flags;
if (tt->rn_flags & RNF_NORMAL)
@@ -1003,7 +1003,7 @@ rn_inithead(void **head, int off)
if (*head)
return (1);
- R_Malloc(rnh, struct radix_node_head *, sizeof (*rnh));
+ rnh = malloc(sizeof(*rnh), M_RTABLE, M_DONTWAIT);
if (rnh == 0)
return (0);
*head = rnh;
@@ -1015,7 +1015,7 @@ rn_inithead0(struct radix_node_head *rnh
{
struct radix_node *t, *tt, *ttt;
- Bzero(rnh, sizeof (*rnh));
+ bzero(rnh, sizeof (*rnh));
t = rn_newpair(rn_zeros, off, rnh->rnh_nodes);
ttt = rnh->rnh_nodes + 2;
t->rn_r = ttt;
@@ -1050,10 +1050,10 @@ rn_init()
"rn_init: radix functions require max_keylen be set\n");
return;
}
- R_Malloc(rn_zeros, char *, 3 * max_keylen);
+ rn_zeros = malloc(3 * max_keylen, M_RTABLE, M_DONTWAIT);
if (rn_zeros == NULL)
panic("rn_init");
- Bzero(rn_zeros, 3 * max_keylen);
+ bzero(rn_zeros, 3 * max_keylen);
rn_ones = cp = rn_zeros + max_keylen;
addmask_key = cplim = rn_ones + max_keylen;
while (cp < cplim)
Index: net/radix.h
===================================================================
RCS file: /cvs/src/sys/net/radix.h,v
retrieving revision 1.16
diff -u -p -r1.16 radix.h
--- net/radix.h 28 Jun 2010 18:50:37 -0000 1.16
+++ net/radix.h 4 Apr 2011 18:29:51 -0000
@@ -98,7 +98,7 @@ extern struct radix_mask {
m = rn_mkfreelist; \
rn_mkfreelist = (m)->rm_mklist; \
} else \
- R_Malloc(m, struct radix_mask *, sizeof (*(m))); \
+ m = malloc(sizeof(*(m)), M_RTABLE, M_DONTWAIT); \
} while (0)
#define MKFree(m) do { \
@@ -132,11 +132,6 @@ struct radix_node_head {
};
#ifdef _KERNEL
-#define Bcmp(a, b, n) bcmp(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n))
-#define Bcopy(a, b, n) bcopy(((caddr_t)(a)), ((caddr_t)(b)), (unsigned)(n))
-#define Bzero(p, n) bzero((caddr_t)(p), (unsigned)(n));
-#define R_Malloc(p, t, n) (p = (t) malloc((unsigned long)(n), M_RTABLE,
M_DONTWAIT))
-#define Free(p) free((caddr_t)p, M_RTABLE);
void rn_init(void);
int rn_inithead(void **, int);
Index: net/route.c
===================================================================
RCS file: /cvs/src/sys/net/route.c,v
retrieving revision 1.130
diff -u -p -r1.130 route.c
--- net/route.c 4 Apr 2011 16:06:13 -0000 1.130
+++ net/route.c 4 Apr 2011 18:29:51 -0000
@@ -403,7 +403,7 @@ rtfree(struct rtentry *rt)
if (rt->rt_flags & RTF_MPLS)
free(rt->rt_llinfo, M_TEMP);
#endif
- Free(rt_key(rt));
+ free(rt_key(rt), M_RTABLE);
pool_put(&rtentry_pool, rt);
}
}
@@ -839,7 +839,7 @@ rtrequest1(int req, struct rt_addrinfo *
rt_maskedcopy(info->rti_info[RTAX_DST], ndst,
info->rti_info[RTAX_NETMASK]);
} else
- Bcopy(info->rti_info[RTAX_DST], ndst,
+ bcopy(info->rti_info[RTAX_DST], ndst,
info->rti_info[RTAX_DST]->sa_len);
#ifndef SMALL_KERNEL
if (rn_mpath_capable(rnh)) {
@@ -849,7 +849,7 @@ rtrequest1(int req, struct rt_addrinfo *
info->rti_flags & RTF_MPATH)) {
if (rt->rt_gwroute)
rtfree(rt->rt_gwroute);
- Free(rt_key(rt));
+ free(rt_key(rt), M_RTABLE);
pool_put(&rtentry_pool, rt);
senderr(EEXIST);
}
@@ -881,13 +881,13 @@ rtrequest1(int req, struct rt_addrinfo *
sa_mpls = (struct sockaddr_mpls *)
info->rti_info[RTAX_SRC];
- rt->rt_llinfo = (caddr_t)malloc(sizeof(struct rt_mpls),
+ rt->rt_llinfo = malloc(sizeof(struct rt_mpls),
M_TEMP, M_NOWAIT|M_ZERO);
if (rt->rt_llinfo == NULL) {
if (rt->rt_gwroute)
rtfree(rt->rt_gwroute);
- Free(rt_key(rt));
+ free(rt_key(rt), M_RTABLE);
pool_put(&rtentry_pool, rt);
senderr(ENOMEM);
}
@@ -958,7 +958,7 @@ rtrequest1(int req, struct rt_addrinfo *
rtfree(rt->rt_parent);
if (rt->rt_gwroute)
rtfree(rt->rt_gwroute);
- Free(rt_key(rt));
+ free(rt_key(rt), M_RTABLE);
pool_put(&rtentry_pool, rt);
senderr(EEXIST);
}
@@ -1005,18 +1005,17 @@ rt_setgate(struct rtentry *rt0, struct s
if (rt->rt_gateway == NULL || glen > ROUNDUP(rt->rt_gateway->sa_len)) {
old = (caddr_t)rt_key(rt);
- R_Malloc(new, caddr_t, dlen + glen);
- if (new == NULL)
+ if ((new = malloc(dlen + glen, M_RTABLE, M_NOWAIT)) == NULL)
return 1;
rt->rt_nodes->rn_key = new;
} else {
new = rt->rt_nodes->rn_key;
old = NULL;
}
- Bcopy(gate, (rt->rt_gateway = (struct sockaddr *)(new + dlen)), glen);
+ bcopy(gate, (rt->rt_gateway = (struct sockaddr *)(new + dlen)), glen);
if (old) {
- Bcopy(dst, new, dlen);
- Free(old);
+ bcopy(dst, new, dlen);
+ free(old, M_RTABLE);
}
if (rt->rt_gwroute != NULL) {
rt = rt->rt_gwroute;
Index: net/rtsock.c
===================================================================
RCS file: /cvs/src/sys/net/rtsock.c,v
retrieving revision 1.116
diff -u -p -r1.116 rtsock.c
--- net/rtsock.c 3 Apr 2011 17:01:23 -0000 1.116
+++ net/rtsock.c 4 Apr 2011 18:29:52 -0000
@@ -489,7 +489,7 @@ route_output(struct mbuf *m, ...)
error = EMSGSIZE;
goto fail;
}
- R_Malloc(rtm, struct rt_msghdr *, len);
+ rtm = malloc(len, M_RTABLE, M_DONTWAIT);
if (rtm == 0) {
error = ENOBUFS;
goto fail;
@@ -571,7 +571,7 @@ route_output(struct mbuf *m, ...)
t = rn_addmask(genmask, 0, 1);
if (t && genmask->sa_len >=
((struct sockaddr *)t->rn_key)->sa_len &&
- Bcmp((caddr_t *)genmask + 1, (caddr_t *)t->rn_key + 1,
+ bcmp((caddr_t *)genmask + 1, (caddr_t *)t->rn_key + 1,
((struct sockaddr *)t->rn_key)->sa_len) - 1)
genmask = (struct sockaddr *)(t->rn_key);
else {
@@ -734,13 +734,14 @@ report:
NULL);
if (len > rtm->rtm_msglen) {
struct rt_msghdr *new_rtm;
- R_Malloc(new_rtm, struct rt_msghdr *, len);
+ new_rtm = malloc(len, M_RTABLE, M_DONTWAIT);
if (new_rtm == 0) {
error = ENOBUFS;
goto flush;
}
- Bcopy(rtm, new_rtm, rtm->rtm_msglen);
- Free(rtm); rtm = new_rtm;
+ bcopy(rtm, new_rtm, (unsigned)rtm->rtm_msglen);
+ free(rtm, M_RTABLE);
+ rtm = new_rtm;
}
rt_msg2(rtm->rtm_type, RTM_VERSION, &info, (caddr_t)rtm,
NULL);
@@ -890,7 +891,7 @@ flush:
if (route_cb.any_count <= 1) {
fail:
if (rtm)
- Free(rtm);
+ free(rtm, M_RTABLE);
m_freem(m);
return (error);
}
@@ -906,7 +907,7 @@ fail:
m = NULL;
} else if (m->m_pkthdr.len > rtm->rtm_msglen)
m_adj(m, rtm->rtm_msglen - m->m_pkthdr.len);
- Free(rtm);
+ free(rtm, M_RTABLE);
}
if (m)
route_input(m, &route_proto, &route_src, &route_dst);
Index: netinet/if_ether.c
===================================================================
RCS file: /cvs/src/sys/netinet/if_ether.c,v
retrieving revision 1.88
diff -u -p -r1.88 if_ether.c
--- netinet/if_ether.c 22 Jul 2010 00:41:55 -0000 1.88
+++ netinet/if_ether.c 4 Apr 2011 18:29:53 -0000
@@ -246,14 +246,14 @@ arp_rtrequest(req, rt, info)
* Case 2: This route may come from cloning, or a manual route
* add with a LL address.
*/
- R_Malloc(la, struct llinfo_arp *, sizeof(*la));
+ la = malloc(sizeof(*la), M_RTABLE, M_DONTWAIT);
rt->rt_llinfo = (caddr_t)la;
if (la == 0) {
log(LOG_DEBUG, "arp_rtrequest: malloc failed\n");
break;
}
arp_inuse++, arp_allocated++;
- Bzero(la, sizeof(*la));
+ bzero(la, sizeof(*la));
la->la_rt = rt;
rt->rt_flags |= RTF_LLINFO;
LIST_INSERT_HEAD(&llinfo_arp, la, la_list);
@@ -283,7 +283,7 @@ arp_rtrequest(req, rt, info)
* interface.
*/
rt->rt_expire = 0;
- Bcopy(((struct arpcom *)rt->rt_ifp)->ac_enaddr,
+ bcopy(((struct arpcom *)rt->rt_ifp)->ac_enaddr,
LLADDR(SDL(gate)),
SDL(gate)->sdl_alen = ETHER_ADDR_LEN);
if (useloopback)
@@ -314,7 +314,7 @@ arp_rtrequest(req, rt, info)
la_hold_total--;
m_freem(m);
}
- Free((caddr_t)la);
+ free(la, M_RTABLE);
}
}
Index: netinet6/nd6.c
===================================================================
RCS file: /cvs/src/sys/netinet6/nd6.c,v
retrieving revision 1.86
diff -u -p -r1.86 nd6.c
--- netinet6/nd6.c 9 Mar 2011 23:31:24 -0000 1.86
+++ netinet6/nd6.c 4 Apr 2011 18:29:55 -0000
@@ -1117,7 +1117,7 @@ nd6_rtrequest(int req, struct rtentry *r
* Case 2: This route may come from cloning, or a manual route
* add with a LL address.
*/
- R_Malloc(ln, struct llinfo_nd6 *, sizeof(*ln));
+ ln = malloc(sizeof(*ln), M_RTABLE, M_DONTWAIT);
rt->rt_llinfo = (caddr_t)ln;
if (!ln) {
log(LOG_DEBUG, "nd6_rtrequest: malloc failed\n");
@@ -1125,7 +1125,7 @@ nd6_rtrequest(int req, struct rtentry *r
}
nd6_inuse++;
nd6_allocated++;
- Bzero(ln, sizeof(*ln));
+ bzero(ln, sizeof(*ln));
ln->ln_rt = rt;
timeout_set(&ln->ln_timer_ch, nd6_llinfo_timer, ln);
/* this is required for "ndp" command. - shin */
@@ -1192,7 +1192,7 @@ nd6_rtrequest(int req, struct rtentry *r
ln->ln_state = ND6_LLINFO_REACHABLE;
ln->ln_byhint = 0;
if (macp) {
- Bcopy(macp, LLADDR(SDL(gate)), ifp->if_addrlen);
+ bcopy(macp, LLADDR(SDL(gate)), ifp->if_addrlen);
SDL(gate)->sdl_alen = ifp->if_addrlen;
}
if (nd6_useloopback) {
@@ -1266,7 +1266,7 @@ nd6_rtrequest(int req, struct rtentry *r
rt->rt_flags &= ~RTF_LLINFO;
if (ln->ln_hold)
m_freem(ln->ln_hold);
- Free((caddr_t)ln);
+ free(ln, M_RTABLE);
}
}
Index: netinet6/nd6_rtr.c
===================================================================
RCS file: /cvs/src/sys/netinet6/nd6_rtr.c,v
retrieving revision 1.55
diff -u -p -r1.55 nd6_rtr.c
--- netinet6/nd6_rtr.c 24 Feb 2011 01:25:17 -0000 1.55
+++ netinet6/nd6_rtr.c 4 Apr 2011 18:29:55 -0000
@@ -238,7 +238,7 @@ nd6_ra_input(struct mbuf *m, int off, in
struct nd_defrouter dr0;
u_int32_t advreachable = nd_ra->nd_ra_reachable;
- Bzero(&dr0, sizeof(dr0));
+ bzero(&dr0, sizeof(dr0));
dr0.rtaddr = saddr6;
dr0.flags = nd_ra->nd_ra_flags_reserved;
dr0.rtlifetime = ntohs(nd_ra->nd_ra_router_lifetime);
@@ -442,10 +442,10 @@ defrouter_addreq(struct nd_defrouter *ne
int s;
int error;
- Bzero(&def, sizeof(def));
- Bzero(&mask, sizeof(mask));
- Bzero(&gate, sizeof(gate)); /* for safety */
- Bzero(&info, sizeof(info));
+ bzero(&def, sizeof(def));
+ bzero(&mask, sizeof(mask));
+ bzero(&gate, sizeof(gate)); /* for safety */
+ bzero(&info, sizeof(info));
def.sin6_len = mask.sin6_len = gate.sin6_len =
sizeof(struct sockaddr_in6);
@@ -549,10 +549,10 @@ defrouter_delreq(struct nd_defrouter *dr
panic("dr == NULL in defrouter_delreq");
#endif
- Bzero(&info, sizeof(info));
- Bzero(&def, sizeof(def));
- Bzero(&mask, sizeof(mask));
- Bzero(&gw, sizeof(gw)); /* for safety */
+ bzero(&info, sizeof(info));
+ bzero(&def, sizeof(def));
+ bzero(&mask, sizeof(mask));
+ bzero(&gw, sizeof(gw)); /* for safety */
def.sin6_len = mask.sin6_len = gw.sin6_len =
sizeof(struct sockaddr_in6);