问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Linux数据发送流程?

发布网友 发布时间:2022-04-27 03:26

我来回答

1个回答

热心网友 时间:2022-06-25 11:29

从网络设备驱动程序的结构分析可知,Linux网络子系统在发送数据包时,会调用驱动程序提供的hard_start_transmit()函数,该函数用于启动数据包的发送。在设备初始化的时候,这个函数指针需被初始化以指向设备的xxx_tx ()函数。网络设备驱动完成数据包发送的流程如下。1)网络设备驱动程序从上层协议传递过来的sk_buff参数获得数据包的有效数据和长度,将有效数据放入临时缓冲区。2)对于以太网,如果有效数据的长度小于以太网冲突检测所要求数据帧的最小长度ETH ZLEN,则给临时缓冲区的末尾填充0。3)设置硬件的寄存器,驱使网络设备进行数据发送操作。特别要强调对netif_ stop_queue()的调用,当发送队列为满或因其他原因来不及发送当前上层传下来的数据包时,则调用此函数阻止上层继续向网络设备驱动传递数据包。当忙于发送的数据包被发送完成后,在以TX结束的中断处理中,应该调用netif_wake_queue ()唤醒被阻塞的上层,以启动它继续向网络设备驱动传送数据包。当数据传输超时时,意味着当前的发送操作失败或硬件已陷入未知状态,此时,数据包发送超时处理函数xxx _tx _timeout ()将被调用。这个函数也需要调用由Linux内核提供的netif_wake _queue()函数以重新启动设备发送队列。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我网贷一万,手续费300,分24期,每期506.67,请问怎么计算月息,和年利率... 多普达手机铃音多普达手机铃声 【车载软件推荐】有车一族必备软件有哪些?好用的车主必备app 我画画时常被说我画画不动脑筋,弱弱的问一句,画画怎样动脑筋? 三星手机如何设置时间在桌面显示? 精确到十分位,要看小数点右边第一位 对吗 要把一个小数精确到十分位,就要看这个小数的( )A.十分位B.百分位C... 黑米算不算粗粮 存定期协议利率选是还是否? 同城上那些卖二手ndsi的是真的吗? 腾讯问卷怎么设置答案解析 大米腹白部分的营养成分。 怎样选大米 大米腹白指的什么 我买的五常稻花香大米亮亮的偶尔有几粒有腹白不知是真是假 血糖高是怎么造成的?如何治疗,有什么偏方? 大米的好坏要怎么区分 治疗烧心有什么简单实用的小偏方 买的大米一半儿是白的,商家说这是带腹白的大米含淀粉量高,请问这种米有营养吗? 用什么方法大酱发甜? 怎么识别大米的质量好坏,以及它好不好吃?谢谢 喉咙痛,喝水都痛? 大米常识(为什么大米有腹白粒 求治多梦的民间偏方!!! 口干口苦,有口腔异味,是什么原因,有方 生大米粘在一起成球状是怎么回事,大米的腹白多好还是少好 用什么方法能使水制口感好喝发甜? 胡萝卜鸡肉馄饨发甜怎么办 口甜是什么原因?怎么治疗 关于口中发甜什么原因?如何治疗?的问题 Linux上怎么发文件比较方便? linux 怎么发送邮件 怎样设置QQ空间访问密码?空间里面设置问卷调查? 这个腾讯的问卷调查怎么设置在哪弄啊 谁知道Linux的发送命令是? Linux中数据发送流程具体是? linux怎么发送ctrl+d 如何在Linux下发送外部邮件 linux怎么用命令发送邮件 写一篇数学日记,不少于200字。【补充:数学日记就是说把生活中的数学故事写出来就行了。】 如何在Linux下发送外部邮件 / 蓝讯 一篇数学日记200字以上 四年级数学日记200字大全 我支付宝绑定银行卡了为什么淘宝买东西时还需要绑定银行卡啊? 200字以内的六年级数学日记 四年级数学日记(联系生活实际)200字左右!!! 淘宝用支付宝支付需要银行卡吗 数学日记200字 为什么我在天猫买东西非要要求用银行卡付款,怎样用支付宝付款?是需要设置什么吗? 淘宝付款用支付宝显示要绑定银行卡,可不可以设置不绑定银行卡?