- Expose ifa_forwardmsg()
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sat, 7 Jun 2008 04:59:01 +0000 (04:59 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sat, 7 Jun 2008 04:59:01 +0000 (04:59 +0000)
- Add ifa_domsg()

# They will be needed soon

sys/net/if.c
sys/net/if_var.h

index b854652..fe07e96 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     @(#)if.c        8.3 (Berkeley) 1/4/94
  * $FreeBSD: src/sys/net/if.c,v 1.185 2004/03/13 02:35:03 brooks Exp $
- * $DragonFly: src/sys/net/if.c,v 1.71 2008/06/06 12:35:27 sephe Exp $
+ * $DragonFly: src/sys/net/if.c,v 1.72 2008/06/07 04:59:01 sephe Exp $
  */
 
 #include "opt_compat.h"
@@ -2151,6 +2151,21 @@ ifq_dispatch(struct ifnet *ifp, struct mbuf *m, struct altq_pktattr *pa)
        return 0;
 }
 
+void
+ifa_forwardmsg(struct lwkt_msg *lmsg, int next_cpu)
+{
+       if (next_cpu < ncpus)
+               lwkt_forwardmsg(ifa_portfn(next_cpu), lmsg);
+       else
+               lwkt_replymsg(lmsg, 0);
+}
+
+void
+ifa_domsg(struct lwkt_msg *lmsg)
+{
+       lwkt_domsg(ifa_portfn(0), lmsg, 0);
+}
+
 void *
 ifa_create(int size, int flags)
 {
@@ -2227,16 +2242,7 @@ ifac_free(struct ifaddr_container *ifac, int cpu_id)
        msg = &nmsg.nm_lmsg;
        msg->u.ms_resultp = &arg;
 
-       lwkt_domsg(ifa_portfn(0), msg, 0);
-}
-
-static __inline void
-ifa_forwardmsg(struct lwkt_msg *lmsg, int next_cpu)
-{
-       if (next_cpu < ncpus)
-               lwkt_forwardmsg(ifa_portfn(next_cpu), lmsg);
-       else
-               lwkt_replymsg(lmsg, 0);
+       ifa_domsg(msg);
 }
 
 static void
@@ -2278,7 +2284,7 @@ ifa_iflink(struct ifaddr *ifa, struct ifnet *ifp, int tail)
        msg.ifp = ifp;
        msg.tail = tail;
 
-       lwkt_domsg(ifa_portfn(0), &msg.netmsg.nm_lmsg, 0);
+       ifa_domsg(&msg.netmsg.nm_lmsg);
 }
 
 static void
@@ -2316,7 +2322,7 @@ ifa_ifunlink(struct ifaddr *ifa, struct ifnet *ifp)
        msg.ifa = ifa;
        msg.ifp = ifp;
 
-       lwkt_domsg(ifa_portfn(0), &msg.netmsg.nm_lmsg, 0);
+       ifa_domsg(&msg.netmsg.nm_lmsg);
 }
 
 static void
@@ -2337,7 +2343,7 @@ ifa_destroy(struct ifaddr *ifa)
                    ifa_destroy_dispatch);
        msg.ifa = ifa;
 
-       lwkt_domsg(ifa_portfn(0), &msg.netmsg.nm_lmsg, 0);
+       ifa_domsg(&msg.netmsg.nm_lmsg);
 }
 
 struct lwkt_port *
index 16fe14c..de60e24 100644 (file)
@@ -32,7 +32,7 @@
  *
  *     From: @(#)if.h  8.1 (Berkeley) 6/10/93
  * $FreeBSD: src/sys/net/if_var.h,v 1.18.2.16 2003/04/15 18:11:19 fjoe Exp $
- * $DragonFly: src/sys/net/if_var.h,v 1.52 2008/06/01 08:09:14 sephe Exp $
+ * $DragonFly: src/sys/net/if_var.h,v 1.53 2008/06/07 04:59:01 sephe Exp $
  */
 
 #ifndef        _NET_IF_VAR_H_
@@ -88,6 +88,7 @@ struct        lwkt_serialize;
 struct ifaddr_container;
 struct ifaddr;
 struct lwkt_port;
+struct lwkt_msg;
 struct netmsg;
 
 #include <sys/queue.h>         /* get TAILQ macros */
@@ -549,6 +550,8 @@ void        *ifa_create(int, int);
 void   ifa_destroy(struct ifaddr *);
 void   ifa_iflink(struct ifaddr *, struct ifnet *, int);
 void   ifa_ifunlink(struct ifaddr *, struct ifnet *);
+void   ifa_domsg(struct lwkt_msg *);
+void   ifa_forwardmsg(struct lwkt_msg *, int);
 
 struct ifmultiaddr *ifmaof_ifpforaddr(struct sockaddr *, struct ifnet *);
 int    if_simloop(struct ifnet *ifp, struct mbuf *m, int af, int hlen);