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