Blog

一遍用了千遍,千遍只为一遍

vim离线安装

简介 记录下vim插件的离线安装过程。首先离线安装需要做的几个步骤 在用户目录下新建.vim文件 在.vim文件下新建plugin,doc两个文件夹 解压插件,将.vim放到plugin文件夹,.txt放到doc文件夹。 设置leaderkey vim默认的leader是\,如果要设置成,可以这样配置~/.vimrc文件 let mapleader="," ...

网卡驱动相关名词介绍

总述 主要是梳理下一些网卡的一些offload特性,这些offload特性主要是提升发送跟接收的性能。以ethtool -k eth0为切入点,可以看到有这么多的特性。注意在理清一个特性的时候,区分下发送跟接收发送方向。 root@rock-3a:~# ethtool -k eth0 Features for eth0: rx-checksumming: on tx-checksummi...

phy回环模式测试

前言 最近工作碰到RGMII需要调整TXC delay的情况,而Soc端的MAC控制器不支持调整,所以只能在phy端调整。而要确认这个delay,也需要方法。这个过程就是phytranning的过程。 参考RK3568的做法,其代码 drivers/net/ethernet/stmicro/stmmac/dwmac-rk-tool.c的做法,主要是把phy设置成loopback模式,然后...

linux内核网络相关api

前言 最近在看gmac驱动代码,发现很多linux内核网络的api,暂时这里先整理出来,先大概知道什么用法,后续再深入了解 netif_rx void netif_rx(struct sk_buff *skb); 调用(包括中断期间)这个函数可以通知内核已经收到一个数据包,并封装入一个套接字缓冲区。 netif_rx_schedule void netif_rx_schedu...

常用的技巧

总结 记录一些平常用的小技巧 打印 #define GMACLOG(format, ...) do{ \ printk("[stdebug_GMAC][%s:%d] "format, __func__, __LINE__, ##__VA_ARGS__); } while(0); void gmac_trace(int level, const char *fmt, ...)...

ifconfig中的参数

ifconfig ifconfig中的出错统计信息的指标意义如下: errors表示发生错误的数据包数,比如校验错误,帧同步错误等等 dropped表示丢弃的数据包数,即数据包已经收到了RingBuffer(内核内存中,更具体一点实在网卡驱动程序里面),但因为系统内存不足等原因而发生的丢包 overruns表示超限数据包 ,即网络接收或者发送速度过快 ,导致RingBu...

tun_tap学习(二)

总述 这次也是参考网上的相关代码跟链接,在代码里面去配置tun网卡的IP,掩码,路由等,然后类似于实现一个自发自收的tun网卡。 过程 先加载驱动,以下用tun0网卡为例,tap0其实也大差不差 然后ip link查看,这个时候是没有tun/tap网卡的,上一个文章提到需要ip命令添加tun/tap网卡,这次我们直接在代码里面配置。(具体怎么配置的下面再详细解释代码) 编译...

tun_tap学习(一)

前言 在网上看了一些关于虚拟网络技术的文章,觉得比较有兴趣,在看tun/tap虚拟网卡的时候,钻研了很久,还是看不是很懂,主要也是没有实际应用去理解。这里先记录下自己使用过程中的一些记录。下面的操作都是在qemu中操作的。 内核打开tun/tap配置 打开图中红框选项,我选择编译成ko 一开始加载的时候会报错误tun: module verification failed: si...

wsl如何ssh到qemu

wsl配置 确保wsl有安装ssh相关软件,这里就不赘述了 sudo apt-get install ssh sudo apt-get install openssh-client qemu启动脚本配置 qemu的启动脚本中增加一句 -net user,hostfwd=::2222-:22 -net nic 这句话的意思是,将qemu的22号端口映射到host(也就是wsl)...

wsl下qemu的apt源问题

问题 qemu模拟的是arm64的debian系统,在apt update的时候,总会报错,导致我想下个tcpdump也没有找到包 Get:1 http://mirrors.ustc.edu.cn/debian unstable InRelease [195 kB] Err:1 http://mirrors.ustc.edu.cn/debian unstable InRelease ...