svn commit: r226609 - head/sys/contrib/pf/net

Gleb Smirnoff glebius at FreeBSD.org
Fri Oct 21 11:11:19 UTC 2011


Author: glebius
Date: Fri Oct 21 11:11:18 2011
New Revision: 226609
URL: http://svn.freebsd.org/changeset/base/226609

Log:
  In FreeBSD ip_output() expects ip_len and ip_off in host byte order
  
  PR:		kern/159029

Modified:
  head/sys/contrib/pf/net/if_pfsync.c

Modified: head/sys/contrib/pf/net/if_pfsync.c
==============================================================================
--- head/sys/contrib/pf/net/if_pfsync.c	Fri Oct 21 11:08:25 2011	(r226608)
+++ head/sys/contrib/pf/net/if_pfsync.c	Fri Oct 21 11:11:18 2011	(r226609)
@@ -1959,7 +1959,11 @@ pfsyncioctl(struct ifnet *ifp, u_long cm
 		ip->ip_hl = sizeof(sc->sc_template) >> 2;
 		ip->ip_tos = IPTOS_LOWDELAY;
 		/* len and id are set later */
+#ifdef __FreeBSD__
+		ip->ip_off = IP_DF;
+#else
 		ip->ip_off = htons(IP_DF);
+#endif
 		ip->ip_ttl = PFSYNC_DFLTTL;
 		ip->ip_p = IPPROTO_PFSYNC;
 		ip->ip_src.s_addr = INADDR_ANY;
@@ -2211,7 +2215,11 @@ pfsync_sendout(void)
 	bcopy(&sc->sc_template, ip, sizeof(*ip));
 	offset = sizeof(*ip);
 
+#ifdef __FreeBSD__
+	ip->ip_len = m->m_pkthdr.len;
+#else
 	ip->ip_len = htons(m->m_pkthdr.len);
+#endif
 	ip->ip_id = htons(ip_randomid());
 
 	/* build the pfsync header */


More information about the svn-src-head mailing list