1 | /* -*- indent-tabs-mode: nil; -*- */
|
---|
2 | #ifndef _pxremap_h_
|
---|
3 | #define _pxremap_h_
|
---|
4 |
|
---|
5 | #include "lwip/err.h"
|
---|
6 | #include "lwip/ip_addr.h"
|
---|
7 |
|
---|
8 | struct netif;
|
---|
9 |
|
---|
10 |
|
---|
11 | #define PXREMAP_FAILED (-1)
|
---|
12 | #define PXREMAP_ASIS 0
|
---|
13 | #define PXREMAP_MAPPED 1
|
---|
14 |
|
---|
15 | /* IPv4 */
|
---|
16 | #if ARP_PROXY
|
---|
17 | int pxremap_proxy_arp(struct netif *netif, ip_addr_t *dst);
|
---|
18 | #endif
|
---|
19 | int pxremap_ip4_divert(struct netif *netif, ip_addr_t *dst);
|
---|
20 | int pxremap_outbound_ip4(ip_addr_t *dst, ip_addr_t *src);
|
---|
21 | int pxremap_inbound_ip4(ip_addr_t *dst, ip_addr_t *src);
|
---|
22 |
|
---|
23 | /* IPv6 */
|
---|
24 | int pxremap_proxy_na(struct netif *netif, ip6_addr_t *dst);
|
---|
25 | int pxremap_ip6_divert(struct netif *netif, ip6_addr_t *dst);
|
---|
26 | int pxremap_outbound_ip6(ip6_addr_t *dst, ip6_addr_t *src);
|
---|
27 | int pxremap_inbound_ip6(ip6_addr_t *dst, ip6_addr_t *src);
|
---|
28 |
|
---|
29 | #define pxremap_outbound_ipX(is_ipv6, dst, src) \
|
---|
30 | ((is_ipv6) ? pxremap_outbound_ip6(&(dst)->ip6, &(src)->ip6) \
|
---|
31 | : pxremap_outbound_ip4(&(dst)->ip4, &(src)->ip4))
|
---|
32 |
|
---|
33 | #endif /* _pxremap_h_ */
|
---|