| /* |
| * Copyright (c) 2012, 2015, 2017, The Linux Foundation. All rights reserved. |
| * Permission to use, copy, modify, and/or distribute this software for |
| * any purpose with or without fee is hereby granted, provided that the |
| * above copyright notice and this permission notice appear in all copies. |
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT |
| * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| */ |
| |
| |
| #ifndef _NAT_HELPER_H |
| #define _NAT_HELPER_H |
| |
| #include "sw.h" |
| |
| #define NAPT_TABLE_BITS 10 |
| #define NAPT_TABLE_SIZE (1 << NAPT_TABLE_BITS) |
| //#define NAPT_TABLE_SIZE 1024 |
| |
| #define S17_WAN_PORT nat_helper_wan_port_get() |
| |
| void host_helper_init(a_uint32_t portbmp); |
| void host_helper_exit(void); |
| void napt_helper_init(void); |
| void napt_helper_exit(void); |
| void nat_ipt_helper_init(void); |
| void nat_ipt_helper_exit(void); |
| |
| void nat_helper_bg_task_init(void); |
| void nat_helper_bg_task_exit(void); |
| |
| a_uint32_t nat_helper_wan_port_get(void); |
| uint32_t get_next_hop(uint32_t daddr, uint32_t saddr); |
| |
| void hnat_log_msg(int level, char *string, ...); |
| #define NAT_LOG_MAX_SIZE 1024 |
| enum { |
| HNAT_LOG_LEVEL_DEBUG = 0, |
| HNAT_LOG_LEVEL_INFO, |
| HNAT_LOG_LEVEL_ERR, |
| HNAT_LOG_LEVEL_DISABLE |
| }; |
| #define HNAT_PRINTK(arg...) \ |
| hnat_log_msg(HNAT_LOG_LEVEL_DEBUG, arg) |
| #define HNAT_INFO_PRINTK(arg...) \ |
| hnat_log_msg(HNAT_LOG_LEVEL_INFO, arg) |
| #define HNAT_ERR_PRINTK(arg...) \ |
| hnat_log_msg(HNAT_LOG_LEVEL_ERR, arg) |
| |
| |
| #endif |