腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
如何在
Linux
网络堆栈的特定点推送
skb
?
、
、
、
、
我想把
skb
推到
Linux
网络
栈
的prerouting点。有没有办法做到这一点?我使用了dev_queue_xmit()和netif_rx()
函数
,但我认为它们不能在
Linux
网络堆栈的prerouting点上推送
skb
。
浏览 2
提问于2014-01-13
得票数 8
2
回答
谁负责tcp消息的顺序
、
、
、
我用recv或recvfrom监听
linux
中的tcp socket。如果包1在包2之后,内核会丢弃/save包2,直到包1到来吗?
浏览 0
提问于2020-03-30
得票数 0
2
回答
包流在下半部分
、
snull_rx()代码:{ */ priv->stats.rx_dropped++
浏览 3
提问于2016-03-12
得票数 4
回答已采纳
1
回答
将
skb
->数据复制到多个描述符
、
、
、
、
对于传输,驱动程序调用
skb
_copy_and_csum_dev()将整个套接字缓冲区复制到一个描述符环中,该环的缓冲区足够容纳整个套接字缓冲区。如果描述符环缓冲区小于
skb
->数据,那么分解
skb
->数据并将
skb
->数据复制到多个描述符中的正确方法是什么?(假设未使用散布/聚集) 非常感谢。
浏览 6
提问于2013-07-20
得票数 1
2
回答
sk_buff上的ip_hdr()能保证正常工作吗?
、
、
、
在处理内核模块代码中的sk_buff时,我看到许多代码示例都使用或者是实际上相同的
函数
ip_hdr() (调用
skb
_network_header并强制转换)。如果我们对sk_buff的来源没有任何假设,是否可以进行检查以确保网络
协议
确实是IP? 编辑:到目前为止,可能会有一个sk_buff,唯一可能的网络
浏览 2
提问于2013-05-19
得票数 2
回答已采纳
1
回答
将数据包从IP层传送到设备驱动程序
我正在尝试将一个sk_buff数据包从
协议
栈
的IP层传递到我已经创建和注册的设备驱动程序。设备驱动程序的代码如下: #include<
linux
/netdevice.h> #include<
linux
/skbuff.h> #include<
linux
浏览 2
提问于2013-01-06
得票数 2
1
回答
为什么tcp_transmit_
skb
不删除写队列中的skbuff,而udp_send_
skb
删除
、
、
、
、
我正在尝试在
linux
内核中的UDP之上实现一个新的
协议
。我需要为这个
协议
实现流控制,但是当我使用
函数
udp_send_
skb
()时,传输的skbuff会从写队列中删除。我认为相关的tcp
函数
是tcp_transmit_
skb
()。 一旦我理解了TCP中的这一行为,我就可以在UDP中做到这一点。或者,也许有人可以指出在udp_send_
skb
(或它所调用的
函数
)中要做哪些更改,以确保skbuff不会被删除。
浏览 39
提问于2016-07-27
得票数 0
1
回答
ip_append_data中的一个问题
、
、
当我看到这些代码时,我把
linux
网络
协议
栈
中的ip_append_data搞混了: offset, copy, off,
skb
) < 0) {
skb
_frag_t *
浏览 1
提问于2014-10-09
得票数 0
1
回答
获取sk_buff中可用的数据包报头的
函数
、
、
、
、
Linux
中有获取以太网报头、IP报头和UDP报头的功能,如ip_hdr但是,我找不到任何
函数
来获得类似于包的有效负载,比如包含主体的包,所以我可以编写HTTP或其他
协议
数据。在
Linux
设备驱动程序的书或搜索后找不到它。因此,问题是如何在内核中使用以太网、IP、UDP报头和有效负载组合UDP数据包?
浏览 8
提问于2021-07-22
得票数 0
回答已采纳
3
回答
如何学习
linux
网络
协议
栈
源代码
、
、
、
最近,我的工作之一是在我的团队开发的完全不同于
linux
的
操作
系统上使用C++编写网络堆栈。然而,我认为深入理解
linux
网络
协议
栈
可能有助于设计和实现一个好的网络
协议
栈
。
浏览 4
提问于2012-05-13
得票数 2
1
回答
连接跟踪删除不会停止运行大文件的拷贝
、
、
、
、
我有一个配置了nat端口转发的路由器。我通过nat启动了一个大文件的http副本。http服务器驻留在LAN PC上,其中包含要下载的大文件。我从WAN PC启动了文件下载。我在运行文件复制时禁用了nat规则。保留文件的副本。我想要在禁用nat转发规则时停止文件的复制。我的连接跟踪列表包含以下连接跟踪会话tcp 6 431988 ESTABLISHED src=192.168.33.13 dst=192.168.33.215 sport=52722 dport=80 src=192.168.3.
浏览 1
提问于2017-10-13
得票数 3
2
回答
操作
系统内核和网络
协议
栈
在哪里重叠?
、
我正在努力学习网络
协议
栈
。传输、IP、数据链路层库代码实现)以及
linux
。我不知道从哪里开始。 如果
Linux
没有将它作为核心特性,那么
linux
是否只为网络部分提供占位符(就像只提供宏以启用第三方堆栈如果
linux
有内置
浏览 8
提问于2021-12-10
得票数 2
1
回答
在
linux
内核代码中定义新
协议
的头部的位置
、
、
在以前的
linux
内核中,sk_buff结构中使用了不同头部的联合。这被逐步淘汰了,因为这被认为是多余的(我的猜测,如果我错了,请纠正我) static inline struct udphdr *udp_hdr(const struct sk_buff *
skb
) { return (structudphdr *)
skb
_transport_header(
skb
); } 因此,我可以很容易地从s
浏览 2
提问于2016-06-22
得票数 0
2
回答
在没有目标mac地址的情况下从
Linux
内核发送IP数据包
、
、
、
、
我想传输一个在
linux
内核中包含有效tcp和ip报头的
skb
。它应该在不被路由的情况下输出特定的接口。我的问题是,我不能使用dev_queue_xmit,因为我不知道目标的mac-地址。我用arp_find查找mac地址的尝试失败了:mh = (struct ethhdr *)
skb
_push(
skb
, sizeof(struct ethhdr));arp_find(mh->h_dest,
skb
); //this or the next line val
浏览 16
提问于2014-06-02
得票数 4
回答已采纳
1
回答
蓝牙
协议
栈
初学者建议
、
、
我的问题与蓝牙
协议
栈
有关。我正在尝试理解在这种情况下,哪种设备将实现安全性,是带有Bluez的
Linux
还是鼠标外围设备。
浏览 11
提问于2018-03-19
得票数 0
2
回答
Linux
中的虚拟网络设备
、
、
、
这些设备是如何连接到
linux
桥或打开开关的。我发现:"Veth是一种特殊的网络设备,是成对创建的,我认为它是一种改变流量方向的方法,也就是说,当从
Linux
协议
栈
发送给veth设备时,它被发送到它的另一个镜像veth设备,因此镜像设备将它作为一个正向通信,并将其返回
Linux
协议
栈
以供进一步使用。Tap设备是逻辑网络设备,但与其他设备不同:它允许用户空间程序直接将流量注入
Linux
协议
栈
,还可以从堆栈中检
浏览 5
提问于2014-09-03
得票数 20
2
回答
在
skb
_dequeue()冻结
linux
内核之后的kfree_
skb
()
、
、
我正在
linux
内核中的一个自定义
协议
中实现流控制。当我收到ACK时,我想从写入队列中删除已确认的数据包。下面是一些代码
skb
_del=
skb
_dequeue(&sk->sk_write_queue); kfree_
skb</
浏览 1
提问于2016-08-01
得票数 0
2
回答
如何使用net_dev_add() API过滤和拦截
Linux
数据包?
、
、
、
、
我正在为
linux
编写以太网网络驱动程序。我想接收数据包,编辑和重新发送它们。我知道如何在packet_interceptor
函数
中编辑数据包,但是如何在此
函数
中删除传入的数据包??#include <
linux
/netdevice.h>#include <
linux
/ip.h> structpacke
浏览 9
提问于2013-10-13
得票数 8
回答已采纳
2
回答
理解3.3.8内核中的process_backlog和softnet_data字段
、
、
我正在尝试理解
linux
kernel 3.3.8中的process_backlog()
函数
。所有传入的
skb
都会转到"input_pkt_queue“。我之所以请求它,是因为我认为process_backlog()应该在"input_pkt_queue“上
操作
,但它在"proc
浏览 1
提问于2014-08-24
得票数 2
2
回答
Linux
网络堆栈:使用LKM和dev_add_pack添加
协议
、
、
、
最近,我一直在尝试熟悉
Linux
网络堆栈和设备驱动程序(这两本书的名字都类似于O‘’Reilly),最终目标是卸载UDP。我已经在NIC上实现了UDP,但现在困难的部分是...我不想在这个更大的目标上寻求帮助,而是希望有人能为我澄清我发现的一个特定的代码片段,它是LKM的一部分,它注册了一个新
协议
(OTP),充当设备驱动程序和网络堆栈之间的过滤器。(注意:这篇Phrack文章包含三个不同的模块,OTP的代码在页面底部) otp_proto.type = htons(ETH_P_ALL);
浏览 5
提问于2010-05-13
得票数 7
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
龙蜥正式开源Surftrace,协议包解析效率可提升10倍
云原生场景下,nettrace怎么快速进行网络故障诊断?
DPDK-KNI内核网卡接口介绍
从编译到可执行,eBPF 加速容器网络原理分析
内核调试技巧-逆向寻踪,揭开 LACP 协议流程的神秘面纱
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
云直播
活动推荐
运营活动
广告
关闭
领券