Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
天中雨水
rt-thread
提交
236fd82e
R
rt-thread
项目概览
天中雨水
/
rt-thread
该项目与 Fork 源项目分叉
Fork自
RT-Thread / rt-thread
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
236fd82e
编写于
5月 09, 2018
作者:
B
Bernard Xiong
提交者:
GitHub
5月 09, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1418 from aozima/DHCPD
update DHCPD
上级
f64c0b2a
efadb37f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
35 addition
and
17 deletion
+35
-17
components/net/Kconfig
components/net/Kconfig
+10
-0
components/net/lwip_dhcpd/dhcp_server.c
components/net/lwip_dhcpd/dhcp_server.c
+24
-16
components/net/lwip_dhcpd/dhcp_server.h
components/net/lwip_dhcpd/dhcp_server.h
+1
-1
未找到文件。
components/net/Kconfig
浏览文件 @
236fd82e
...
...
@@ -201,6 +201,16 @@ config LWIP_USING_DHCPD
bool "Enable DHCP server"
default n
if LWIP_USING_DHCPD
config DHCPD_SERVER_IP
string "DHCPD SERVER IP address"
default 192.168.169.1
config DHCPD_USING_ROUTER
bool "alloc gateway ip for router"
default y
endif
endif
endmenu
components/net/lwip_dhcpd/dhcp_server.c
浏览文件 @
236fd82e
...
...
@@ -41,33 +41,30 @@
#include <lwip/init.h>
#if (LWIP_VERSION) >= 0x02000000U
#include <lwip/prot/dhcp.h>
#include <lwip/prot/dhcp.h>
#endif
/* DHCP server option */
/* allocated client ip range */
#ifndef DHCPD_CLIENT_IP_MIN
#define DHCPD_CLIENT_IP_MIN 2
#define DHCPD_CLIENT_IP_MIN 2
#endif
#ifndef DHCPD_CLIENT_IP_MAX
#define DHCPD_CLIENT_IP_MAX 254
#define DHCPD_CLIENT_IP_MAX 254
#endif
/* the DHCP server address */
#ifndef DHCPD_SERVER_IPADDR0
#define DHCPD_SERVER_IPADDR0 192UL
#define DHCPD_SERVER_IPADDR1 168UL
#define DHCPD_SERVER_IPADDR2 169UL
#define DHCPD_SERVER_IPADDR3 1UL
#ifndef DHCPD_SERVER_IP
#define DHCPD_SERVER_IP "192.168.169.1"
#endif
//#define DHCP_DEBUG_PRINTF
#ifdef DHCP_DEBUG_PRINTF
#define DEBUG_PRINTF rt_kprintf("[DHCP] "); rt_kprintf
#define DEBUG_PRINTF rt_kprintf("[DHCP] "); rt_kprintf
#else
#define DEBUG_PRINTF(...)
#define DEBUG_PRINTF(...)
#endif
/* DHCP_DEBUG_PRINTF */
/* we need some routines in the DHCP of lwIP */
...
...
@@ -79,11 +76,11 @@
#define BUFSZ 1024
#ifndef MAC_ADDR_LEN
#define MAC_ADDR_LEN 6
#define MAC_ADDR_LEN 6
#endif
#ifndef MAC_TABLE_LEN
#define MAC_TABLE_LEN 4
#define MAC_TABLE_LEN 4
#endif
struct
mac_addr_t
...
...
@@ -215,12 +212,26 @@ static void dhcpd_thread_entry(void *parameter)
struct
dhcp_msg
*
msg
;
int
optval
=
1
;
struct
mac_addr_t
mac_addr
;
uint8_t
DHCPD_SERVER_IPADDR0
,
DHCPD_SERVER_IPADDR1
,
DHCPD_SERVER_IPADDR2
,
DHCPD_SERVER_IPADDR3
;
/* get ethernet interface. */
netif
=
(
struct
netif
*
)
parameter
;
RT_ASSERT
(
netif
!=
RT_NULL
);
/* our DHCP server information */
{
#if (LWIP_VERSION) >= 0x02000000U
ip4_addr_t
addr
;
#else
struct
ip_addr
addr
;
#endif
/* LWIP_VERSION */
ip4addr_aton
(
DHCPD_SERVER_IP
,
&
addr
);
DHCPD_SERVER_IPADDR0
=
(
ntohl
(
addr
.
addr
)
>>
24
)
&
0xFF
;
DHCPD_SERVER_IPADDR1
=
(
ntohl
(
addr
.
addr
)
>>
16
)
&
0xFF
;
DHCPD_SERVER_IPADDR2
=
(
ntohl
(
addr
.
addr
)
>>
8
)
&
0xFF
;
DHCPD_SERVER_IPADDR3
=
(
ntohl
(
addr
.
addr
)
>>
0
)
&
0xFF
;
}
DEBUG_PRINTF
(
"DHCP server IP: %d.%d.%d.%d client IP: %d.%d.%d.%d-%d
\n
"
,
DHCPD_SERVER_IPADDR0
,
DHCPD_SERVER_IPADDR1
,
DHCPD_SERVER_IPADDR2
,
DHCPD_SERVER_IPADDR3
,
...
...
@@ -492,12 +503,9 @@ void dhcpd_start(const char *netif_name)
{
extern
void
set_if
(
const
char
*
netif_name
,
const
char
*
ip_addr
,
const
char
*
gw_addr
,
const
char
*
nm_addr
);
char
ip_str
[
4
*
4
+
1
];
dhcp_stop
(
netif
);
sprintf
(
ip_str
,
"%d.%d.%d.%d"
,
DHCPD_SERVER_IPADDR0
,
DHCPD_SERVER_IPADDR1
,
DHCPD_SERVER_IPADDR2
,
DHCPD_SERVER_IPADDR3
);
set_if
(
netif_name
,
ip_str
,
"0.0.0.0"
,
"255.255.255.0"
);
set_if
(
netif_name
,
DHCPD_SERVER_IP
,
"0.0.0.0"
,
"255.255.255.0"
);
netif_set_up
(
netif
);
}
...
...
components/net/lwip_dhcpd/dhcp_server.h
浏览文件 @
236fd82e
...
...
@@ -31,7 +31,7 @@
#ifndef DHCPV4_SERVER_H__
#define DHCPV4_SERVER_H__
void
dhcpd_start
(
const
char
*
netif_name
);
void
dhcpd_start
(
const
char
*
netif_name
);
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录