Graph Library
概述
参考:
DPDK 的 Graph(图) Library 将数据处理功能抽象为 Node(节点),并将这些 Node links(链接) 在一起以创建一张大型的数据处理流程图,以实现可重用的/模块化的数据处理能力。一个 Node 中可以有一个或多个流量处理 Function(功能),一个 Node 处理完成后,交给下一个或几个其他 Node 继续处理流量数据
假如我们设计了如下一系列功能
- decode
- flow
- reassemble
- resource
- control
- asset
- security
- record
- drop
- ……略
可以将这些功能分散到多个 Node 中,每个 Node 又可以规划如何如何调用这些功能
"node_m": [
{
"name": "sink",
"next": [
"flow"
]
},
...... 略
],
"node_n": [
{
"name": "rx",
"next": [
"decode"
]
},
{
"name": "decode",
"next": [
"traffic_filter"
]
},
{
"name": "traffic_filter",
"next": [
"capture",
"drop"
]
},
...... 略
],
"node_o": [
{
"name": "rx",
"next": [
"decode"
]
},
{
"name": "decode",
"next": [
"flow"
]
},
...... 略
],
......略
Graph 架构
Graph Library 的设计思想源自于开源项目 Vector Packet Processor(VPP)
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.