mbuf: Add message header for generic mbuf sending/receiving.
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Fri, 4 Aug 2017 03:38:35 +0000 (11:38 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Fri, 4 Aug 2017 03:39:54 +0000 (11:39 +0800)
sys/net/netmsg.h
sys/sys/mbuf.h

index f81ac44..b3f1787 100644 (file)
@@ -72,6 +72,7 @@ typedef struct netmsg_base *netmsg_base_t;
  * - netmsg_pru_send is embedded in mbufs.
  * - netmsg_inarp is embedded in mbufs.
  * - netmsg_ctlinput is embedded in mbufs.
+ * - netmsg_genpkt is embedded in mbufs.
  */
 TAILQ_HEAD(notifymsglist, netmsg_so_notify);
 
@@ -97,6 +98,13 @@ struct netmsg_ctlinput {
        int                     proto;
 };
 
+struct netmsg_genpkt {
+       struct netmsg_base      base;
+       struct mbuf             *m;
+       void                    *arg1;
+       u_long                  arg2;
+};
+
 struct netmsg_pr_timeout {
        struct netmsg_base      base;
 };
index 6065805..6c94ed8 100644 (file)
@@ -97,12 +97,14 @@ struct m_hdr {
                struct netmsg_pru_send mhm_snd; /* usrspace->proto stack msg */
                struct netmsg_inarp mhm_arp;    /* proto stack arpinput msg */
                struct netmsg_ctlinput mhm_ctl; /* proto stack ctlinput msg */
+               struct netmsg_genpkt mhm_gen;   /* generic pkt send/recv msg */
        } mh_msgu;
 };
 #define mh_netmsg      mh_msgu.mhm_pkt
 #define mh_sndmsg      mh_msgu.mhm_snd
 #define mh_arpmsg      mh_msgu.mhm_arp
 #define mh_ctlmsg      mh_msgu.mhm_ctl
+#define mh_genmsg      mh_msgu.mhm_gen
 
 /* pf stuff */
 struct pkthdr_pf {