diff options
Diffstat (limited to 'sys/netatalk/ddp_output.c')
-rw-r--r-- | sys/netatalk/ddp_output.c | 10 |
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; |