TCP/IP
osnet
这个作者很懒,什么都没留下…
展开
-
网卡驱动设备watchdog-dev_watchdog
文章目录初始化开启watchdog超时处理dev_watchdog发送时间trans_start 更新usbnet驱动网络设备watchdog用于监控网卡驱动发送数据是否异常,如果异常就报错,并调用网卡驱动提供的超时处理函数。基本原理:网卡设备初始化时,初始化watchdog定时器,用户空间打开网卡设备时,同时开启watchdog定时器,每次watchdog定时器超时,就检查网卡设备的发送队列发送数据是否超时,如果超时报错并调用网卡驱动提供的超时处理函数。然后重启watchdog定时器超时。linu原创 2020-11-22 20:41:49 · 2147 阅读 · 0 评论 -
linux socket poll io处理-udp
文章目录udp_poll读io事件唤醒linux socket中定义了多种io事件,io事件发生时会调用它们处理函数。struct sock { //sock wait queue and async head struct socket_wq __rcu *sk_wq; // socket等待事件队列,用于io事件异步通知 atomic_t sk_wmem_alloc; void (*sk_state_change)(struct sock *sk);//callback原创 2020-10-18 22:58:13 · 941 阅读 · 1 评论 -
linux socket-recvfrom系统调用
recvfrom库函数应用程序调用recv或recvfrom库函数接收数据。recv和recvfrom主要区别是是否设置socket地址。__socketcall ssize_t recvfrom(int, void*, size_t, int, const struct sockaddr*, socklen_t*);ssize_t recv(int, void*, size_t, int);ssize_t recv(int socket, void *buf, size_t len, int f原创 2020-10-11 21:39:23 · 2560 阅读 · 0 评论 -
linux内核网络框架
SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol){ int retval; struct socket *sock; int flags; /* Check the SOCK_* constants for consistency. */ BUILD_BUG_ON(SOCK_CLOEXEC != O_CLOEXEC); BUILD_BUG_ON((SOCK_MAX | SOCK_TYPE_MASK) != SOCK原创 2020-10-07 22:27:16 · 955 阅读 · 0 评论 -
linux netfilter--broute流程
linux netfilter包括层2 bridge的netfilter和层3 ip netfilter先看bridge的netfilter的brouting流程brouting用于控制进来的数据包是需要进行bridge转发还是进行route转发,即2层转发和3层转发。BROUTING 过滤配置为ACCEPT表示走bridge流程,DROP表示走route 流程。br_handle_frame\net\bridgebr_input.cbr_handle_frame 是底层网卡驱动收到数据后开原创 2020-08-02 14:12:45 · 1661 阅读 · 0 评论 -
linux kernel ebtables接口
继续上篇文章《linux etables tool》,看一下kernel中ebtables 框架。代码目录:\net\bridge\netfilterebtables_initebtables初始化,ebtables.cstatic int __init ebtables_init(void){ int ret; ret = xt_register_target(&ebt_standard_target); if (ret < 0) return ret; #def 注原创 2020-08-01 21:28:07 · 2110 阅读 · 0 评论 -
linux ebtables tool
文章目录ebtablesebtables-standalone.cebt_optionsebt_matchesebtablesebtables就是以太网桥防火墙,以太网桥工作在数据链路层,ebtables主要用来过滤数据链路层数据包。linux用户空间ebtables tool用于配置各种netfilter功能,配置到内核,由内核来实现各种过滤规则。本文主要介绍ebtables tool框架。源代码:https://ebtables.netfilter.org/downloads/latest.h原创 2020-08-01 16:21:14 · 1151 阅读 · 0 评论 -
ebtables Basic examples
Ebtables使用规则如下:ebtables [-t table] -[ADI] chain rule-specification [match-extensions] [watcher-extensions]-t table :一般为FORWARD链。-ADI:A添加到现有链的末尾;D删除规则链(必须指明规则链号);I插入新的规则链(必须指明规则链号)。-P:规则表的默认规则的设置。可以DROP,ACCEPT,RETURN。-F:对所有的规则表的规则链清空。-L:指明规则表。可加参数,–Lc原创 2020-08-01 12:10:57 · 1149 阅读 · 0 评论 -
linux netfilter流程图
来源:网络原创 2020-05-22 20:43:19 · 480 阅读 · 0 评论