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

Reply via email to