Skip to content

Commit c2244a5

Browse files
authored
Merge pull request #2628 from HubertXie/master
实现多网卡自动切换功能
2 parents 4691f33 + fd05ad7 commit c2244a5

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

components/net/netdev/src/netdev.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ struct netdev *netdev_get_by_family(int family)
269269
{
270270
netdev = rt_slist_entry(node, struct netdev, list);
271271
pf = (struct sal_proto_family *) netdev->sal_user_data;
272-
if (pf && pf->skt_ops && pf->family == family && netdev_is_up(netdev))
272+
if (pf && pf->skt_ops && pf->family == family && netdev_is_up(netdev) && netdev_is_link_up(netdev))
273273
{
274274
rt_hw_interrupt_enable(level);
275275
return netdev;

components/net/sal_socket/src/sal_socket.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ static void check_netdev_internet_up_work(struct rt_work *work, void *work_data)
174174
goto __exit;
175175
}
176176

177-
skt_ops = pf->skt_ops;
177+
skt_ops = pf->skt_ops;
178178
if((sockfd = skt_ops->socket(AF_INET, SOCK_DGRAM, 0)) < 0)
179179
{
180180
result = -RT_ERROR;
@@ -394,7 +394,7 @@ static int socket_init(int family, int type, int protocol, struct sal_socket **r
394394
return -3;
395395
}
396396

397-
if (netdev_is_up(netdv_def))
397+
if (netdev_is_up(netdv_def) && netdev_is_link_up(netdv_def))
398398
{
399399
/* check default network interface device protocol family */
400400
pf = (struct sal_proto_family *) netdv_def->sal_user_data;

0 commit comments

Comments
 (0)