这是一个用于DP(Data Path)网络设备的结构体,表示一条数据流(flow)。它包含了多个成员变量,其中包括:
- flow:创建此条目的未屏蔽(unmasked)流;
- node:在所属dp_netdev_pmd_thread的’flow_table’中的哈希表节点;
- mark_node:在所属flow_mark的mark_to_flow中的哈希表节点;
- ufid和mega_ufid:唯一标识符,用于区分不同的流;
- pmd_id:拥有此流的pmd线程对应的核心ID;
- ref_cnt:引用计数器,用于记录当前引用此流的对象数量;
- dead:标记此条目是否已经被删除;
- mark:给此流分配的唯一标记号码;
- stats:统计信息,记录与此条目相关联的各种指标数据;
- netdev_flow_get_result、last_stats、last_attrs等成员变量则记录来自网络设备offload提供程序(netdev offload provider)接收到的关于此条目的统计和属性信息。
- actions: 包含由Datapath操作执行时要采取哪些动作
- batch: 在处理输入数据包组时使用。datapath使用next成员将指向输出批次以进行流。在批次发送完毕后重置。packet_batch_per_flow_init() 和 packet_batch_per_flow_execute() 除了以上列出来的成员变量外,还有一些其他变量,如dp_extra_info和cr等。