Recent Posts
-
November 23, 2017
Linux内核printk打印ip地址
https://www.kernel.org/doc/Documentation/printk-formats.txthttp://elixir.free-electrons.com/linux/v4.14.1/source/Documentation/printk-formats.txt打印时,还可以选择字节大小端顺序的比较方便IPv4 addresses==============:: %pI4 1.2.3.4 %pi4 001.002.003.004 %p[Ii]4[hnbl]For...
-
November 15, 2017
程序员用vim编辑代码的常用技巧
基本动作i 切换到插入模式,在光标之前a 切换到插入模式 在光标之后,自己体会和i的区别吧I 切换到插入模式,光标在行的开始A 切换到插入模式 光标在行的结尾v 进入 visual mode ,选择模式?R 进入替换模式,输入的文字直接覆盖替换光标下的字符。 直到按<Esc>建退出。<Esc> 退出输入模式,:w 保存文件:w newfilename 文件另存为:q 退出编辑:wq 保存并退出:edit...
-
November 15, 2017
Pktgen 网卡性能测试
可以用来发送大量的网络包,指定ip范围,mac范围等等,包大小等等,测试网卡性能极限.内核文档https://www.kernel.org/doc/Documentation/networking/pktgen.txtubuntu默认应该编译安装了这个模块的。@ubuntu:~$ modinfo pktgenfilename: /lib/modules/4.4.0-98-generic/kernel/net/core/pktgen.koversion: 2.75...
-
November 06, 2017
美国运动医疗协会的运动建议
美国运动医疗协会的运动建议The American College of Sports Medicine (ACSM) has just released new recommendations on the quantity and quality of exercise for adults,心肺训练成人至少要一周要进行150分钟的中等强度运动。为了达到这个建议,可以通过30-60分钟的中等强度运动(一周5天)或者20-60分钟激烈运动(一周3天)连续一次的长时间锻炼或者多次短时间(至...
-
October 21, 2017
流控和token bucket filter算法
好像比较互联网的请求的流控,比较经常提到的是google guava 里面的ratelimit的实现。这里可以看到一个完整的实现,应该是Token Bucket Filter上面稍微有些变化。https://github.com/google/guava/blob/master/guava/src/com/google/common/util/concurrent/SmoothRateLimiter.java#L276:L309 https://github.com/google...
-
July 28, 2017
苹果手机在锁屏之后wifi断开问题
这个是苹果文档的原话:蜂窝网络和Wifi网络被设计成没有网络活动时就会关闭电源。如果你的应用要访问无线wifi,你必须在你的应用的Info.pliste配置文件里面设置UIRequiresPersistentWiFi这个选项。设置了这一项系统 才不会在你的应用运行的时候关闭wifi硬件。为了避免wifi硬件消耗太多的电,iOS有一个内置的定时器,当没有应用要使用“持久wifi连接”,30分钟过后系统就会完全关闭wifi硬件。如果 用户运行了要求“持久wifi连接”功能的应用,在这个应用的运...
-
July 28, 2017
Openvswith 源码阅读只learn action
learn action 是根据packet模式学习,再创建和添加新的flow到flow table的一个action“learn action” 和”Resubmit action” 还有 “metadata registers” 、”stack操作”是openvswitch 可编程flow table机制得以实现的关键吧。 有了这几样才能建立复杂的“flow pipeline”learn action的执行./lib/learn.c:./ofproto/ofproto-dpif-xla...
-
July 23, 2017
Openvswitch源码阅读之ct和nat action的实现
用户空间解析conntrack/NAT actionofproto/ofproto-dpif-xlate,c compose_conntrack_action() OVS_ACTION_ATTR_CT // 把CT的action配置信息放到一定的结构里传递到内核空间内核收到用户空间发过来的actionflow_netlink.c __ovs_nla_copy_actions datapath/conntrack.c ovs_ct_copy_action ...
-
July 20, 2017
Openssl生成rsa和椭圆曲线加密公钥密钥创建根ca签名https服务器证书签名
自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名https://my.oschina.net/jsan/blog/517870https://linux.cn/article-6498-1.html上面文章提到的格式和文件扩展名x509的证书编码格式有两种 PEM(Privacy-enhanced Electronic Mail) 是明文格式的以 —–BEGIN CERTIFICATE—–开头,以—–END CERTIFICATE—–结尾,中间是经...
-
July 19, 2017
Openvswitch的ipfix实现源码阅读
Open vSwitch Architectural OverviewPorting Open vSwitch to New Software or Hardware参考这个文档的的介绍理解ovs-vswitchd ofproto netdev dpif几个层次关系。ovs源码目录里面 datapath 目录应该是底层内核接口代码ofproto 应该是用户空间的openflow协议的实现ofproto-provider.h 是接口定义struct ofproto_class { pac...