以下,ovs/vswitchd/ovs-vswitchd.c 内の main関数の抜粋.
netdev_run() からは,使用しているデータパスに対応する実装が呼び出される.ユーザランドデータパス(datapath_type=netdev)を使用している場合,以下の通り.
- ovs/lib/dpif-netdev.c
- dpif_netdev_run()
ユーザランドデータパス使用時,ovs-vswitchd.c の netdev_run(); で実行される関数- dp_netdev_process_rxq_port()
パケットの受信・フロー処理・送出を担う関数- netdev_rxq_recv()
rxqに届いているパケットを取り込む関数
- netdev_rxq_recv()
- dp_netdev_process_rxq_port()
- dpif_netdev_run()