Fix raw sockets operation for bird on -current.

PR:		193245
Submitted by:	olivier
Approved by:	az (implicit)
This commit is contained in:
Alexander V. Chernikov 2014-09-27 08:45:13 +00:00
parent b6ffaafe24
commit 12496204b4
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=369382
2 changed files with 24 additions and 0 deletions

View file

@ -3,6 +3,7 @@
PORTNAME?= bird
PORTVERSION= 1.4.4
PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= ftp://bird.network.cz/pub/bird/ \
http://bird.mpls.in/distfiles/bird/

View file

@ -0,0 +1,23 @@
--- sysdep/bsd/sysio.h 2014-07-10 01:40:13.000000000 +0400
+++ sysdep/bsd/sysio.h 2014-09-27 12:12:09.000000000 +0400
@@ -9,6 +9,9 @@
#include <net/if_dl.h>
#include <netinet/in_systm.h> // Workaround for some BSDs
#include <netinet/ip.h>
+#ifdef __FreeBSD__
+#include <sys/param.h> // FreeBSD_version definition
+#endif
#ifdef __NetBSD__
@@ -175,8 +178,8 @@
ip->ip_src = ipa_to_in4(s->saddr);
ip->ip_dst = ipa_to_in4(s->daddr);
-#ifdef __OpenBSD__
- /* OpenBSD expects ip_len in network order, other BSDs expect host order */
+#if defined __OpenBSD__ || (defined __FreeBSD__ && (__FreeBSD_version >= 1100030))
+ /* OpenBSD and FreeBSD (since 11) expects ip_len in network order, other BSDs expect host order */
ip->ip_len = htons(ip->ip_len);
#endif
}