[BACK]Return to ipsec_mbuf.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / netipsec

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/netipsec/ipsec_mbuf.c between version 1.8 and 1.9

version 1.8, 2007/03/04 06:03:29 version 1.9, 2007/03/04 19:54:48
Line 90  m_clone(struct mbuf *m0)
Line 90  m_clone(struct mbuf *m0)
                         if (mprev && (mprev->m_flags & M_EXT) &&                          if (mprev && (mprev->m_flags & M_EXT) &&
                             m->m_len <= M_TRAILINGSPACE(mprev)) {                              m->m_len <= M_TRAILINGSPACE(mprev)) {
                                 /* XXX: this ignores mbuf types */                                  /* XXX: this ignores mbuf types */
                                 memcpy(mtod(mprev, void *) + mprev->m_len,                                  memcpy(mtod(mprev, char *) + mprev->m_len,
                                        mtod(m, void *), m->m_len);                                         mtod(m, char *), m->m_len);
                                 mprev->m_len += m->m_len;                                  mprev->m_len += m->m_len;
                                 mprev->m_next = m->m_next;      /* unlink from chain */                                  mprev->m_next = m->m_next;      /* unlink from chain */
                                 m_free(m);                      /* reclaim mbuf */                                  m_free(m);                      /* reclaim mbuf */
Line 124  m_clone(struct mbuf *m0)
Line 124  m_clone(struct mbuf *m0)
                 if (mprev != NULL && (mprev->m_flags & M_EXT) &&                  if (mprev != NULL && (mprev->m_flags & M_EXT) &&
                     m->m_len <= M_TRAILINGSPACE(mprev)) {                      m->m_len <= M_TRAILINGSPACE(mprev)) {
                         /* XXX: this ignores mbuf types */                          /* XXX: this ignores mbuf types */
                         memcpy(mtod(mprev, void *) + mprev->m_len,                          memcpy(mtod(mprev, char *) + mprev->m_len,
                                mtod(m, void *), m->m_len);                                 mtod(m, char *), m->m_len);
                         mprev->m_len += m->m_len;                          mprev->m_len += m->m_len;
                         mprev->m_next = m->m_next;      /* unlink from chain */                          mprev->m_next = m->m_next;      /* unlink from chain */
                         m_free(m);                      /* reclaim mbuf */                          m_free(m);                      /* reclaim mbuf */
Line 177  m_clone(struct mbuf *m0)
Line 177  m_clone(struct mbuf *m0)
                 mlast = NULL;                  mlast = NULL;
                 for (;;) {                  for (;;) {
                         int cc = min(len, MCLBYTES);                          int cc = min(len, MCLBYTES);
                         memcpy(mtod(n, void *), mtod(m, void *) + off, cc);                          memcpy(mtod(n, char *), mtod(m, char *) + off, cc);
                         n->m_len = cc;                          n->m_len = cc;
                         if (mlast != NULL)                          if (mlast != NULL)
                                 mlast->m_next = n;                                  mlast->m_next = n;
Line 261  m_makespace(struct mbuf *m0, int skip, i
Line 261  m_makespace(struct mbuf *m0, int skip, i
                          * the remainder; just do the copy to the new                           * the remainder; just do the copy to the new
                          * mbuf and we're good to go.                           * mbuf and we're good to go.
                          */                           */
                         memcpy(mtod(n, void *),                          memcpy(mtod(n, char *),
                                mtod(m, void *) + skip, remain);                                 mtod(m, char *) + skip, remain);
                         n->m_len = remain;                          n->m_len = remain;
                         m->m_len = skip + hlen;                          m->m_len = skip + hlen;
                         *off = skip;                          *off = skip;
Line 282  m_makespace(struct mbuf *m0, int skip, i
Line 282  m_makespace(struct mbuf *m0, int skip, i
                                 if (n2 == NULL)                                  if (n2 == NULL)
                                         return (NULL);                                          return (NULL);
                                 n2->m_len = 0;                                  n2->m_len = 0;
                                 memcpy(mtod(n2, void *),                                  memcpy(mtod(n2, char *),
                                        mtod(m, void *) + skip, remain);                                         mtod(m, char *) + skip, remain);
                                 n2->m_len = remain;                                  n2->m_len = remain;
                                 /* splice in second mbuf */                                  /* splice in second mbuf */
                                 n2->m_next = n->m_next;                                  n2->m_next = n->m_next;
                                 n->m_next = n2;                                  n->m_next = n2;
                                 newipsecstat.ips_mbinserted++;                                  newipsecstat.ips_mbinserted++;
                         } else {                          } else {
                                 memcpy(mtod(n, void *) + hlen,                                  memcpy(mtod(n, char *) + hlen,
                                        mtod(m, void *) + skip, remain);                                         mtod(m, char *) + skip, remain);
                                 n->m_len += remain;                                  n->m_len += remain;
                         }                          }
                         m->m_len -= remain;                          m->m_len -= remain;
Line 305  m_makespace(struct mbuf *m0, int skip, i
Line 305  m_makespace(struct mbuf *m0, int skip, i
                  * so there's space to write the new header.                   * so there's space to write the new header.
                  */                   */
                 /* XXX can this be memcpy? does it handle overlap? */                  /* XXX can this be memcpy? does it handle overlap? */
                 ovbcopy(mtod(m, void *) + skip,                  ovbcopy(mtod(m, char *) + skip,
                         mtod(m, void *) + skip + hlen, remain);                          mtod(m, char *) + skip + hlen, remain);
                 m->m_len += hlen;                  m->m_len += hlen;
                 *off = skip;                  *off = skip;
         }          }
Line 466  m_checkalignment(const char* where, stru
Line 466  m_checkalignment(const char* where, stru
         if (m == NULL)          if (m == NULL)
                 return;                  return;
         printf("%s (off %u len %u): ", where, off, len);          printf("%s (off %u len %u): ", where, off, len);
         addr = mtod(m, void *) + roff;          addr = mtod(m, char *) + roff;
         do {          do {
                 int mlen;                  int mlen;
   

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

CVSweb <webmaster@jp.NetBSD.org>