0x0 概览


vswitchd作为对外的接口层,主要有以下职责

  • 进程的初始化,同时负责下层模块的调度,主要有:ofproto,netdev。
  • 连接ovsdb完成配置的初始化以及更新。比较重要的是控制器的地址,以及datapath的配置(有那些datapath以及有哪些接口)
  • 通过ovsdb上报状态数据,比如流量统计。

0x1 程序流程图

image.png

  • bridgerun_:执行ofproto相关逻辑
    • ofproto_type_run:执行datapath的逻辑
    • ofproto_run:执行ofproto协议相关逻辑
  • bridge_reconfig:ovsdb配置更新,dp/if增删
  • run_stats_update/run_status_udpate/run_system_stats:状态更新到数据库