刚刚接触到ovs,很自然的便去研究它的源代码,看了网上一些资料,对于我阅读ovs代码有很大帮助。代码的阅读都是个人的一些见解,如有错误,欢迎指出
交换机的从发送方的端口接受数据帧,解析数据帧,再出对应的端口发送出去。本篇先从接收开始跟踪。
首先从内核的Vport模块入手,这是数据帧对于switch的起源。代码部分略去了很多,有兴趣的童鞋们可以在ovs源码中查看阅读,此处附上ovs github 源码:https://github.com/openvswitch/ovs,及其ovs官网:http://openvswitch.org/
static struct vport_ops ovs_netdev_vport_ops = {
.type = OVS_VPORT_TYPE_NETDEV,
.create = netdev_create,
.destroy = netdev_destroy,
.send = dev_queue_xmit,
};
该操作对应netdev_create函数,