summaryrefslogtreecommitdiffstats
path: root/sys/netatalk/ddp_output.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netatalk/ddp_output.c')
-rw-r--r--sys/netatalk/ddp_output.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/netatalk/ddp_output.c b/sys/netatalk/ddp_output.c
index 3d48fd2..f15914b 100644
--- a/sys/netatalk/ddp_output.c
+++ b/sys/netatalk/ddp_output.c
@@ -23,8 +23,11 @@
/* $FreeBSD$ */
+#include "opt_mac.h"
+
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/mac.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
@@ -48,6 +51,10 @@ ddp_output( struct mbuf *m, struct socket *so)
struct ddpehdr *deh;
struct ddpcb *ddp = sotoddpcb( so );
+#ifdef MAC
+ mac_create_mbuf_from_socket(so, m);
+#endif
+
M_PREPEND( m, sizeof( struct ddpehdr ), M_TRYWAIT );
deh = mtod( m, struct ddpehdr *);
@@ -195,6 +202,9 @@ ddp_route( struct mbuf *m, struct route *ro)
printf("ddp_route: no buffers\n");
return( ENOBUFS );
}
+#ifdef MAC
+ mac_create_mbuf_from_mbuf(m, m0);
+#endif
m0->m_next = m;
/* XXX perhaps we ought to align the header? */
m0->m_len = SZ_ELAPHDR;
OpenPOWER on IntegriCloud