Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
ihbai
rt-thread
提交
3da0f4ec
R
rt-thread
项目概览
ihbai
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3da0f4ec
编写于
1月 26, 2015
作者:
B
Bernard Xiong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[lwIP] Add NAT for lwIP
上级
15231efa
变更
3
展开全部
显示空白变更内容
内联
并排
Showing
3 changed file
with
1261 addition
and
0 deletion
+1261
-0
components/net/lwip_nat/SConscript
components/net/lwip_nat/SConscript
+10
-0
components/net/lwip_nat/ipv4_nat.c
components/net/lwip_nat/ipv4_nat.c
+1148
-0
components/net/lwip_nat/ipv4_nat.h
components/net/lwip_nat/ipv4_nat.h
+103
-0
未找到文件。
components/net/lwip_nat/SConscript
0 → 100644
浏览文件 @
3da0f4ec
from
building
import
*
cwd
=
GetCurrentDir
()
src
=
Glob
(
'*.c'
)
CPPPATH
=
[
cwd
]
group
=
DefineGroup
(
'LwIP'
,
src
,
depend
=
[
'RT_USING_LWIP'
,
'LWIP_USING_NAT'
,
'LWIP_USING_IP4INPUT_HOOK'
],
CPPPATH
=
CPPPATH
)
Return
(
'group'
)
components/net/lwip_nat/ipv4_nat.c
0 → 100644
浏览文件 @
3da0f4ec
此差异已折叠。
点击以展开。
components/net/lwip_nat/ipv4_nat.h
0 → 100644
浏览文件 @
3da0f4ec
/**
* NAT - NAT implementation for lwIP supporting TCP/UDP and ICMP.
* Copyright (c) 2009 Christian Walter, ?Embedded Solutions, Vienna 2009.
*
* Copyright (c) 2010 lwIP project ;-)
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* 3. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGE.
*
* This file is part of the lwIP TCP/IP stack.
*/
/*
* File : ipv4_nat.h
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2015, RT-Thread Development Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Change Logs:
* Date Author Notes
* 2015-01-26 Hichard porting to RT-Thread
* 2015-01-27 Bernard code cleanup for lwIP in RT-Thread
*/
#ifndef __LWIP_NAT_H__
#define __LWIP_NAT_H__
#include <rtthread.h>
#ifdef LWIP_USING_NAT
#include "lwip/err.h"
#include "lwip/ip_addr.h"
#include "lwip/opt.h"
/** Timer interval at which to call ip_nat_tmr() */
#define LWIP_NAT_TMR_INTERVAL_SEC (30*1000)
#ifdef __cplusplus
extern
"C"
{
#endif
/* __cplusplus */
struct
netif
;
struct
pbuf
;
typedef
struct
ip_nat_entry
{
ip_addr_t
source_net
;
ip_addr_t
source_netmask
;
ip_addr_t
dest_net
;
ip_addr_t
dest_netmask
;
struct
netif
*
out_if
;
struct
netif
*
in_if
;
}
ip_nat_entry_t
;
void
ip_nat_init
(
void
);
void
ip_nat_tmr
(
void
);
int
ip_nat_input
(
struct
pbuf
*
p
,
struct
netif
*
inp
);
u8_t
ip_nat_out
(
struct
pbuf
*
p
);
err_t
ip_nat_add
(
const
ip_nat_entry_t
*
new_entry
);
void
ip_nat_remove
(
const
ip_nat_entry_t
*
remove_entry
);
#ifdef __cplusplus
}
#endif
/* __cplusplus */
#endif
/* IP_NAT */
#endif
/* __LWIP_NAT_H__ */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录