version 1.1.1.1, 2017/08/22 12:33:54
|
version 1.1.1.2, 2021/03/17 19:50:23
|
Line 9
|
Line 9
|
#include <net/if_dl.h> |
#include <net/if_dl.h> |
#include <netinet/in_systm.h> // Workaround for some BSDs |
#include <netinet/in_systm.h> // Workaround for some BSDs |
#include <netinet/ip.h> |
#include <netinet/ip.h> |
|
#include <sys/param.h> |
|
|
|
|
|
#ifdef __FreeBSD__ |
|
/* Should be defined in sysdep/cf/bsd.h, but it is flavor-specific */ |
|
#define CONFIG_DONTROUTE_UNICAST |
|
#endif |
|
|
#ifdef __NetBSD__ |
#ifdef __NetBSD__ |
|
|
#ifndef IP_RECVTTL |
#ifndef IP_RECVTTL |
Line 179 sk_prepare_ip_header(sock *s, void *hdr, int dlen)
|
Line 185 sk_prepare_ip_header(sock *s, void *hdr, int dlen)
|
ip->ip_src = ipa_to_in4(s->saddr); |
ip->ip_src = ipa_to_in4(s->saddr); |
ip->ip_dst = ipa_to_in4(s->daddr); |
ip->ip_dst = ipa_to_in4(s->daddr); |
|
|
#ifdef __OpenBSD__ | #if (defined __OpenBSD__) || (defined __DragonFly__) || (defined __FreeBSD__ && (__FreeBSD_version >= 1100030)) |
/* OpenBSD expects ip_len in network order, other BSDs expect host order */ | /* Different BSDs have different expectations of ip_len endianity */ |
ip->ip_len = htons(ip->ip_len); |
ip->ip_len = htons(ip->ip_len); |
#endif |
#endif |
} |
} |