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);