linux网络
文章平均质量分 68
缥缈孤鸿_jason
一个平凡的码农
展开
-
linux网络数据接收流程
网络数据接收流程:以下为链路层1、e100_intr(drivers/net/ethernet/intel/e100.c)网卡驱动接收中断服务程序2、__napi_schedule(net/core/dev.c)3、____napi_schedule (net/core/dev.c)主要功能:将驱动程序中的napi->poll_list链接到cpu的softnet_data->poll_list4、__raise_softirq_irqoff(net/core/d原创 2021-07-27 16:28:27 · 684 阅读 · 0 评论 -
linux网络数据发送流程
网络套接字如何将数据发生出去的呢?这个需要从网络协议初始化开始分析。网络协议初始化:所在文件net/ipv4/af_inet.cstatic int __init inet_init(void)上面接口将初始化ipv4相关协议socket模块初始化:所在文件net/socket.cstatic int __init sock_init(void){ int err; /* * Initialize the network sysctl infrastr.原创 2021-07-27 16:22:56 · 2821 阅读 · 0 评论 -
linux路由初始化调用的相关接口函数
本文简单记录路由初始化调用的相关接口函数发送路由调用过程:1、tcp_v4_connect(net/ipv4/tcp_ipv4.c)传输层连接接口,根据路由表设置原ip地址和发送网络设备接口2、ip_route_connect (include/net/route.h)3、__ip_route_output_key (net/ipv4/route.c)4、__mkroute_output(net/ipv4/route.c)5、rt_dst_alloc(net/ipv4/rout.原创 2021-07-27 16:05:24 · 454 阅读 · 0 评论 -
netfilter分析3-钩子函数执行流程
前面两节分析了钩子函数和表的初始化,本节来分析钩子函数是如何通过使用表来处理报文的。首先还是回到钩子函数的入口NF_HOOK,之前讲过通过该宏会调用文件/include/linux/netfilter.h中定义的函数:static inline int nf_hook_thresh(u_int8_t pf, unsigned int hook, struct net *net, struct sock *sk, struct sk_buff *skb, st原创 2021-07-27 16:00:14 · 919 阅读 · 0 评论 -
netfilter分析2-表在内核的初始化
上一节讲了钩子函数用表中的规则处理报文从而实现防火墙功能,这一节对表的初始化流程进行描述。为了保持和上一章的延续我们回到filter表钩子函数初始化入口:所在文件net/ipv4/netfilter/iptable_filter.cstatic int __init iptable_filter_init(void){int ret;ret = register_pernet_subsys(&iptable_filter_net_ops);if (ret < 0原创 2021-07-23 18:38:49 · 545 阅读 · 0 评论 -
netfilter分析1-钩子函数在内核的初始化
Linux内核中网络防火墙是通过NF_HOOK宏调用钩子函数进行报文处理,本文基于内核版本4.4对钩子函数的初始化流程进行描述。以过滤本地报文的钩子函数为例。本地报文过滤钩子函数调用宏:NF_HOOK(NFPROTO_IPV4, NF_INET_LOCAL_IN,net, NULL, skb, skb->dev, NULL,ip_local_deliver_finish);这个宏在文件/include/linux/netfilter.h中定义:sta...原创 2021-07-20 10:46:33 · 1051 阅读 · 0 评论 -
phy配置应用程序
Phy芯片一般通过mdio接口进行配置,如果满足以下条件1、网卡驱动支持MDIO接口配置phy2、确认驱动设置phy的方式,通过查看82599驱动代码确认:phyid包含两部分内容,phyaddr:phy地址和devnum:设备号,phyid=(phyaddr<<5)| (devnum & 0x1f)3、确认应用层通过MDIO设置phy的方式,通常支持两种方式:ethtool和ioctl方式,具体支持那种方式也要通过驱动确认。可以在应用层进行mdio读写配置,下面代码以...原创 2021-07-20 10:25:06 · 1717 阅读 · 0 评论