summaryrefslogtreecommitdiff
path: root/stack/src/device.c
diff options
context:
space:
mode:
Diffstat (limited to 'stack/src/device.c')
-rw-r--r--stack/src/device.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/stack/src/device.c b/stack/src/device.c
index e219b0c..059727a 100644
--- a/stack/src/device.c
+++ b/stack/src/device.c
@@ -112,8 +112,11 @@ err_out:
// 创建一个协议栈设备
int sk_device_create(struct sk_instance* instance, struct sk_dev_param* param)
{
+ int ret = 0;
+
// 检查设备是否已经存在,不允许重复创建
struct sk_dev_info * dev_info = sk_device_lookup(instance, param->symbol);
+
if(dev_info != NULL)
{
MR_LOG(INFO, STACK, "StackCreateDevice, StackDevice %s has been created. failed. \n",
@@ -139,7 +142,7 @@ int sk_device_create(struct sk_instance* instance, struct sk_dev_param* param)
dev_info->mtu = param->mtu;
dev_info->promisc = 0;
- int ret = route_tbl_insert(instance->default_route, dev_info->in_addr,
+ ret = route_tbl_insert(instance->default_route, dev_info->in_addr,
dev_info->in_mask, dev_info);
if (unlikely(ret < 0)) goto err_out;