PERFORCE change 114047 for review

Paolo Pisati piso at FreeBSD.org
Mon Feb 5 12:34:25 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=114047

Change 114047 by piso at piso_newluxor on 2007/02/05 12:33:47

	o always mtod() before accessing data.
	o reuse the *mbuf passed as input parameter.

Affected files ...

.. //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#20 edit

Differences ...

==== //depot/projects/soc2005/libalias/sys/netinet/libalias/alias_local.h#20 (text+ko) ====

@@ -179,48 +179,42 @@
 #ifdef _KERNEL
 
 #define PULLUP_IPHDR(pip, ptr) do {             \
-        struct mbuf *m;                         \
-	m = m_pullup((ptr), sizeof(struct ip)); \
-        (pip) = mtod(m, struct ip *);           \
+	ptr = m_pullup((ptr), sizeof(struct ip)); \
+        (pip) = mtod((struct mbuf *)ptr, struct ip *);           \
 } while (0)
 
 #define PULLUP_UDPHDR(pip, ptr) do {            \
-        struct mbuf *m;                         \
-	pip = ptr;                              \
-	m = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct udphdr)); \
-	(pip) = mtod(m, struct ip *);           \
+	pip = mtod((struct mbuf *)ptr, struct ip *);             \
+	ptr = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct udphdr)); \
+	(pip) = mtod((struct mbuf *)ptr, struct ip *);           \
 } while (0)
 
 #define PULLUP_TCPHDR(pip, ptr) do {            \
-        struct mbuf *m;                         \
-	pip = ptr;                              \
-	m = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct tcphdr)); \
-	(pip) = mtod(m, struct ip *);           \
+	pip = mtod((struct mbuf *)ptr, struct ip *);             \
+	ptr = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct tcphdr)); \
+	(pip) = mtod((struct mbuf *)ptr, struct ip *);           \
 } while (0)
 
 #define PULLUP_ICMPHDR(pip, ptr) do {           \
-        struct mbuf *m;                         \
-	pip = (struct ip *)ptr;                 \
-	m = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct icmp)); \
-	(pip) = mtod(m, struct ip *);           \
+	pip = mtod((struct mbuf *)ptr, struct ip *);           \
+	ptr = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct icmp)); \
+	(pip) = mtod((struct mbuf *)ptr, struct ip *);           \
 } while (0)
 
 #define PULLUP_ICMPIP64(pip, ptr, ic) do {      \
-        struct mbuf *m;                         \
         int s;                                  \
-	pip = ptr;                              \
+	pip = mtod((struct mbuf *)ptr, struct ip *);             \
         s = (pip->ip_hl << 2) + sizeof(struct icmp) + \
             (ic->icmp_ip.ip_hl << 2) - sizeof(struct ip) + 8; \
-	m = m_pullup((ptr), s);                 \
-	(pip) = mtod(m, struct ip *);           \
+	ptr = m_pullup((ptr), s);                 \
+	(pip) = mtod((struct mbuf *)ptr, struct ip *);           \
 } while (0)
 
 #define PULLUP_IPTCPHDR(pip, ptr) do {          \
-        struct mbuf *m;                         \
-	m = m_pullup((ptr), sizeof(struct ip)); \
-        (pip) = mtod(m, struct ip *);           \
-        m = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct tcphdr)); \
-	(pip) = mtod(m, struct ip *);           \
+	ptr = m_pullup((ptr), sizeof(struct ip)); \
+        (pip) = mtod((struct mbuf *)ptr, struct ip *);           \
+        ptr = m_pullup((ptr), (pip->ip_hl << 2) + sizeof(struct tcphdr)); \
+	(pip) = mtod((struct mbuf *)ptr, struct ip *);           \
 } while (0)
 
 #else


More information about the p4-projects mailing list