* Materiel Command, USAF, under agreement number F30602-01-2-0537.
*
*/
-#ifndef _NET_NAT464_UTILS_H_
-#define _NET_NAT464_UTILS_H_
+#ifndef _NET_NAT464_UTILS_H_
+#define _NET_NAT464_UTILS_H_
#include <netinet/in.h>
#include <net/pf_pbuf.h>
-#define clat_log0(x) do { log x; } while (0)
-#define clat_log1(x) do { if (clat_debug >= 1) log x; } while (0)
-#define clat_log2(x) do { if (clat_debug >= 2) log x; } while (0)
+#define clat_log0(x) do { log x; } while (0)
+#define clat_log1(x) do { if (clat_debug >= 1) log x; } while (0)
+#define clat_log2(x) do { if (clat_debug >= 2) log x; } while (0)
-#define CLAT46_NEEDED(x) \
- (!IN_LOOPBACK(x) && !IN_LINKLOCAL(x) && !IN_MULTICAST(x) && \
+#define CLAT46_NEEDED(x) \
+ (!IN_LOOPBACK(x) && !IN_LINKLOCAL(x) && !IN_MULTICAST(x) && \
INADDR_BROADCAST != x)
-#define CLAT64_NEEDED(x) \
- (!IN6_IS_ADDR_LOOPBACK(x) && !IN6_IS_ADDR_LINKLOCAL(x) && \
+#define CLAT64_NEEDED(x) \
+ (!IN6_IS_ADDR_LOOPBACK(x) && !IN6_IS_ADDR_LINKLOCAL(x) && \
!IN6_IS_ADDR_MULTICAST(x))
extern int clat_debug;
-enum { NT_DROP, NT_NAT64 };
-enum { NT_IN, NT_OUT };
+enum { NT_DROP, NT_NAT64 };
+enum { NT_IN, NT_OUT };
struct nat464_addr {
union {
- struct in_addr _v4addr;
- struct in6_addr _v6addr;
- uint8_t _addr8[16];
- uint16_t _addr16[8];
- uint32_t _addr32[4];
- } nat464a; /* 128-bit address */
-#define natv4addr nat464a._v4addr
-#define natv6addr nat464a._v6addr
-#define nataddr8 nat464a._addr8
-#define nataddr16 nat464a._addr16
-#define nataddr32 nat464a._addr32
+ struct in_addr _v4addr;
+ struct in6_addr _v6addr;
+ uint8_t _addr8[16];
+ uint16_t _addr16[8];
+ uint32_t _addr32[4];
+ } nat464a; /* 128-bit address */
+#define natv4addr nat464a._v4addr
+#define natv6addr nat464a._v6addr
+#define nataddr8 nat464a._addr8
+#define nataddr16 nat464a._addr16
+#define nataddr32 nat464a._addr32
};
int
-nat464_translate_icmp(int , void *);
+nat464_translate_icmp(int, void *);
int
-nat464_translate_icmp_ip(pbuf_t *, uint32_t , uint64_t *, uint32_t *,
- uint8_t , uint8_t , uint64_t , struct nat464_addr *,
- struct nat464_addr *, protocol_family_t , protocol_family_t );
+ nat464_translate_icmp_ip(pbuf_t *, uint32_t, uint64_t *, uint32_t *,
+ uint8_t, uint8_t, uint64_t, struct nat464_addr *,
+ struct nat464_addr *, protocol_family_t, protocol_family_t );
int
-nat464_synthesize_ipv6(ifnet_t, const struct in_addr *, struct in6_addr *);
+ nat464_synthesize_ipv6(ifnet_t, const struct in_addr *, struct in6_addr *);
int
-nat464_synthesize_ipv4(ifnet_t, const struct in6_addr *, struct in_addr *);
+ nat464_synthesize_ipv4(ifnet_t, const struct in6_addr *, struct in_addr *);
int
-nat464_translate_64(pbuf_t *, int, uint8_t, uint8_t *, uint8_t, struct in_addr,
+ nat464_translate_64(pbuf_t *, int, uint8_t, uint8_t *, uint8_t, struct in_addr,
struct in_addr, uint64_t, boolean_t *);
int
-nat464_translate_46(pbuf_t *, int, uint8_t, uint8_t, uint8_t, struct in6_addr,
+ nat464_translate_46(pbuf_t *, int, uint8_t, uint8_t, uint8_t, struct in6_addr,
struct in6_addr, uint64_t);
int
-nat464_translate_proto(pbuf_t *, struct nat464_addr *, struct nat464_addr *,
+ nat464_translate_proto(pbuf_t *, struct nat464_addr *, struct nat464_addr *,
uint8_t, protocol_family_t, protocol_family_t, int, boolean_t);
int
-nat464_insert_frag46(pbuf_t *, uint16_t, uint16_t, boolean_t);
+ nat464_insert_frag46(pbuf_t *, uint16_t, uint16_t, boolean_t);
int
-nat464_remove_frag64(pbuf_t *, uint32_t, uint16_t, boolean_t);
+ nat464_remove_frag64(pbuf_t *, uint32_t, uint16_t, boolean_t);
uint16_t
-nat464_cksum_fixup(uint16_t, uint16_t , uint16_t , uint8_t);
+ nat464_cksum_fixup(uint16_t, uint16_t, uint16_t, uint8_t);
#endif /* !_NET_NAT464_UTILS_H_ */