diff options
author | Maciej Żenczykowski <maze@google.com> | 2019-11-01 02:43:46 -0700 |
---|---|---|
committer | Maciej Żenczykowski <maze@google.com> | 2019-11-01 02:44:54 -0700 |
commit | 8c906bbf628cb81fc062b968521e1333a6af232d (patch) | |
tree | 4d3271c5ab7376f7cb5f53d391a288780b65e060 | |
parent | 3cfcdd62dbbe5ba3f272a774683ce204676d473c (diff) | |
download | netd-8c906bbf628cb81fc062b968521e1333a6af232d.tar.gz |
move htons() & friends into bpf_net_helpers
Test: builds
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I26a8f27fd04ad6feaeeb54f6b794d87eccf3dae7
-rw-r--r-- | bpf_progs/bpf_net_helpers.h | 6 | ||||
-rw-r--r-- | bpf_progs/clatd.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/bpf_progs/bpf_net_helpers.h b/bpf_progs/bpf_net_helpers.h index fcc79f29..239cf318 100644 --- a/bpf_progs/bpf_net_helpers.h +++ b/bpf_progs/bpf_net_helpers.h @@ -35,6 +35,12 @@ static int (*bpf_l4_csum_replace)(struct __sk_buff* skb, __u32 offset, __u64 fro __u64 flags) = (void*)BPF_FUNC_l4_csum_replace; static int (*bpf_redirect)(__u32 ifindex, __u64 flags) = (void*)BPF_FUNC_redirect; +// Android only supports little endian architectures +#define htons(x) (__builtin_constant_p(x) ? ___constant_swab16(x) : __builtin_bswap16(x)) +#define htonl(x) (__builtin_constant_p(x) ? ___constant_swab32(x) : __builtin_bswap32(x)) +#define ntohs(x) htons(x) +#define ntohl(x) htonl(x) + static inline __always_inline __unused bool is_received_skb(struct __sk_buff* skb) { return skb->pkt_type == PACKET_HOST || skb->pkt_type == PACKET_BROADCAST || skb->pkt_type == PACKET_MULTICAST; diff --git a/bpf_progs/clatd.c b/bpf_progs/clatd.c index 6b4509af..fb7acfab 100644 --- a/bpf_progs/clatd.c +++ b/bpf_progs/clatd.c @@ -33,12 +33,6 @@ // From kernel:include/net/ip.h #define IP_DF 0x4000 // Flag: "Don't Fragment" -// Android only supports little endian architectures -#define htons(x) (__builtin_constant_p(x) ? ___constant_swab16(x) : __builtin_bswap16(x)) -#define htonl(x) (__builtin_constant_p(x) ? ___constant_swab32(x) : __builtin_bswap32(x)) -#define ntohs(x) htons(x) -#define ntohl(x) htonl(x) - DEFINE_BPF_MAP(clat_ingress_map, HASH, ClatIngressKey, ClatIngressValue, 16) static inline __always_inline int nat64(struct __sk_buff* skb, bool is_ethernet) { |