成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇帶給你Lwip網口接口netif

網絡 通信技術
如果有多個網卡的話LWIP是如何來組織這些網卡呢?在LWIP中用鏈表netif_list來管理眾多的網卡,當上層有數據要發送的時候LWIP會從netif_list鏈表中選擇一個合適的網卡來將數據發送出去。

[[395199]]

01網絡接口簡介

TCP/IP參考模型中網絡分為4層:應用層、傳輸層、網絡層和網絡接口層。網絡接口層就對應著我們實際的網卡,LWIP支持多網口設計,LWIP中使用netif來描述每種網絡接口的特性,如接口的IP地址、接口狀態等等。那么如果有多個網卡的話LWIP是如何來組織這些網卡呢?在LWIP中用鏈表netif_list來管理眾多的網卡,當上層有數據要發送的時候LWIP會從netif_list鏈表中選擇一個合適的網卡來將數據發送出去。

02netif結構

netif結構體在文件netif.h中有定義,netif結構體中每個成員變量的含義如下:

next:該字段指向下一個neitif類型的結構體,因為LWIP可以支持多個網絡接口,當設備有多個網絡接口的話LWIP就會把所有的netif結構體組成鏈表來管理這些網絡接口。

ipaddr,netmask和gw:分別為網絡接口的IP地址、子網掩碼和默認網關。

input:此字段為一個函數,這個函數將網卡接收到的數據交給IP層。

output:此字段為一個函數,當IP層向接口發送一個數據包時調用此函數。這個函數通常首先解析硬件地址,然后發送數據包。此字段我們一般使用etharp.c中的etharp_output()函數。

linkoutput:此字段為一個函數,該函數被ARP模塊調用,完成網絡數據的發送。上面說的etharp_output函數將IP數據包封裝成以太網數據幀以后就會調用linkoutput函數將數據發送出去。

state:用來定義一些關于接口的信息,用戶可以自行設置。

mtu:網絡接口所能傳輸的最大數據長度,一般設置為1500。

hwaddr_len:網卡MAC地址長度,6個字節。

hwaddr:MAC地址。

flags:網絡的接口狀態,屬性信息字段。

name:網卡的名字。

num:此字段為協議棧為每個網絡接口設置的一個編號,編號從0開始。

flags的取值:

其中

在網絡初始化中,在ethernetif.c中

他們對應的都是一個函數

etharp_output:ip層發送數據包函數

low_level_output :ARP模塊發送函數,更底層的函數,其實etharp_output還是調用此函數

03相關函數

3.1、netif_add

  1. netif_add(struct netif *netif, ip_addr_t *ipaddr, ip_addr_t *netmask,  ip_addr_t 
  2.                 *gw, void *state, netif_init_fn init, netif_input_fn input) 

就是把netif網絡接口添加到網絡list隊列中,向網卡列表中添加一個網卡

3.2、netif_set_default

  1. netif_set_default(struct netif *netif) 

將這個網卡設置為默認網卡

3.3、netif_set_up

  1. netif_set_up(struct netif *netif) 

 打開網卡

 

責任編輯:姜華 來源: 知曉編程
相關推薦

2021-04-12 08:40:27

Lwip數據包pbuf

2021-07-12 06:11:14

SkyWalking 儀表板UI篇

2021-04-14 07:55:45

Swift 協議Protocol

2022-02-25 15:50:05

OpenHarmonToggle組件鴻蒙

2021-10-28 08:51:53

GPIO軟件框架 Linux

2023-03-13 09:31:04

2021-07-08 07:30:13

Webpack 前端Tree shakin

2021-05-08 08:36:40

ObjectString前端

2021-04-23 08:59:35

ClickHouse集群搭建數據庫

2021-06-21 14:36:46

Vite 前端工程化工具

2021-01-28 08:55:48

Elasticsear數據庫數據存儲

2023-03-29 07:45:58

VS編輯區編程工具

2021-04-14 14:16:58

HttpHttp協議網絡協議

2021-04-08 11:00:56

CountDownLaJava進階開發

2024-06-13 08:34:48

2022-03-22 09:09:17

HookReact前端

2021-04-01 10:51:55

MySQL鎖機制數據庫

2021-03-12 09:21:31

MySQL數據庫邏輯架構

2022-02-17 08:53:38

ElasticSea集群部署

2022-04-29 14:38:49

class文件結構分析
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 最近中文字幕第一页 | 国产精品久久久久久久久久 | 羞羞视频网页 | 国产精品视频一区二区三区不卡 | 黄色av网站在线免费观看 | 日本久久视频 | 亚洲国产一区二区三区在线观看 | 日韩美女一区二区三区在线观看 | 正在播放国产精品 | 2019中文字幕视频 | 在线视频国产一区 | 亚洲精品视频导航 | 精品视频一区二区三区在线观看 | 国产资源一区二区三区 | 国产伦一区二区三区四区 | 日韩在线免费视频 | 国产欧美一区二区三区免费 | 日韩精品一区二区三区中文在线 | 日韩欧美视频在线 | 性色av网站 | 一区二区视频在线 | 在线看黄免费 | 中文一区二区视频 | 国产一区二区三区久久 | 亚洲天堂影院 | 中国免费黄色片 | 国产精品欧美一区二区 | 精品一区二区三区视频在线观看 | www.com久久久| 国产精品久久久久无码av | 一级全黄少妇性色生活免费看 | 日韩一区二区三区精品 | 玖玖精品 | 在线一区 | 日韩精品免费 | 一区视频在线免费观看 | 在线91| 一级在线毛片 | 精品一区精品二区 | 一级毛片视频免费观看 | 综合网中文字幕 |