首页 > 解决方案 > 来自内核 vport 的 upcall 和用户空间 upcall 线程之间的映射

问题描述

对于 ovs 使用内核数据路径的情况,如果有 2 个用户空间 upcall 线程和 4 个内核 vport,似乎(来自源代码 2.11.90),每个 vport 将只创建一个 netlink sock 并将其绑定到每个 upcall 线程的 epoll_handler。

问题是,如果有从 vport 的 netlink 套接字发送的 upcall 请求,用户空间中的哪个 upcall 线程将处理这个请求?

非常感谢。

标签: netlinkopenvswitch

解决方案


我已经找到了答案。ovs 为所有 netlink 套接字创建一个 epoll-handler,所有线程都在监听 epoll-handler。当 epoll-handler 发生事件时,epoll-handler 上挂起的第一个线程将使 cpu 运行。


推荐阅读