Author: mav
Date: Wed Mar 31 22:47:55 2010
New Revision: 206021
URL: http://svn.freebsd.org/changeset/base/206021

Log:
  Remove some more alignment constraints.

Modified:
  head/sys/netgraph/ng_mppc.c
  head/sys/netgraph/ng_ppp.c

Modified: head/sys/netgraph/ng_mppc.c
==============================================================================
--- head/sys/netgraph/ng_mppc.c Wed Mar 31 22:32:56 2010        (r206020)
+++ head/sys/netgraph/ng_mppc.c Wed Mar 31 22:47:55 2010        (r206021)
@@ -53,6 +53,7 @@
 #include <sys/kernel.h>
 #include <sys/mbuf.h>
 #include <sys/malloc.h>
+#include <sys/endian.h>
 #include <sys/errno.h>
 #include <sys/syslog.h>
 
@@ -601,7 +602,7 @@ err1:
        /* Install header */
        M_PREPEND(m, MPPC_HDRLEN, M_DONTWAIT);
        if (m != NULL)
-               *(mtod(m, uint16_t *)) = htons(header);
+               be16enc(mtod(m, void *), header);
 
        *datap = m;
        return (*datap == NULL ? ENOBUFS : 0);
@@ -630,8 +631,7 @@ ng_mppc_decompress(node_p node, struct m
                m_freem(m);
                return (EINVAL);
        }
-       m_copydata(m, 0, MPPC_HDRLEN, (caddr_t)&header);
-       header = ntohs(header);
+       header = be16dec(mtod(m, void *));
        cc = (header & MPPC_CCOUNT_MASK);
        m_adj(m, MPPC_HDRLEN);
 

Modified: head/sys/netgraph/ng_ppp.c
==============================================================================
--- head/sys/netgraph/ng_ppp.c  Wed Mar 31 22:32:56 2010        (r206020)
+++ head/sys/netgraph/ng_ppp.c  Wed Mar 31 22:47:55 2010        (r206021)
@@ -97,6 +97,7 @@
 #include <sys/time.h>
 #include <sys/mbuf.h>
 #include <sys/malloc.h>
+#include <sys/endian.h>
 #include <sys/errno.h>
 #include <sys/ctype.h>
 
@@ -860,8 +861,8 @@ ng_ppp_rcvdata_bypass(hook_p hook, item_
                NG_FREE_ITEM(item);
                return (ENOBUFS);
        }
-       linkNum = ntohs(mtod(m, uint16_t *)[0]);
-       proto = ntohs(mtod(m, uint16_t *)[1]);
+       linkNum = be16dec(mtod(m, uint8_t *));
+       proto = be16dec(mtod(m, uint8_t *) + 2);
        m_adj(m, 4);
        NGI_M(item) = m;
 
@@ -1544,7 +1545,7 @@ ng_ppp_mp_recv(node_p node, item_p item,
                if (m->m_len < 2 && (m = m_pullup(m, 2)) == NULL)
                        ERROUT(ENOBUFS);
 
-               shdr = ntohs(*mtod(m, uint16_t *));
+               shdr = be16dec(mtod(m, void *));
                frag->seq = MP_SHORT_EXTEND(shdr);
                frag->first = (shdr & MP_SHORT_FIRST_FLAG) != 0;
                frag->last = (shdr & MP_SHORT_LAST_FLAG) != 0;
@@ -1561,7 +1562,7 @@ ng_ppp_mp_recv(node_p node, item_p item,
                if (m->m_len < 4 && (m = m_pullup(m, 4)) == NULL)
                        ERROUT(ENOBUFS);
 
-               lhdr = ntohl(*mtod(m, uint32_t *));
+               lhdr = be32dec(mtod(m, void *));
                frag->seq = MP_LONG_EXTEND(lhdr);
                frag->first = (lhdr & MP_LONG_FIRST_FLAG) != 0;
                frag->last = (lhdr & MP_LONG_LAST_FLAG) != 0;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to