| (1) |
/全局变量 |
| (2) |
表ID:全局变量记录管道中最大表单ID |
| 3级 |
程序生成FT |
| (4) |
表ID=0/*初始化/ |
| (5) |
GenerateSingleFT(ft.root,
);/*分配流表并生成流规则节点/ |
| (6) |
defGenerateSingleFT(node, metadata): |
| (7) |
if
汉城叶子/*检查节点是否为叶子/ |
| (8) |
匹配=元数据; |
| (9) |
优先级=0/*Emit规则此叶规则匹配元数据注册值并插入流表表理解/ |
| (10) |
发布规则(表理解性、匹配性、优先级、节点.action); |
| (11) |
返回表理解; |
| 12 |
其余/*子群指向压缩转发树中同子节点的边缘childrenGroup.groupID是一个独有整数/ |
| (13) |
For子组获取子组(节点): |
| (14) |
表ID_t=表ID |
| 15 |
表ID+1/*保存匹配条件元数据/ |
| 16 |
元数据++
!/*生成子节点流表子表ID子节点流表ID/ |
| 17 |
childTableID = GenerateSingleFT(childrenGroup.node, metadata); |
| (18) |
For子宫边缘Group: |
| (19) |
匹配=(节点字段:边缘.值); |
| 20号 |
优先级=0; |
| (21) |
开始儿童表集/*对子节点的每一边缘都增加流规则跳到子节点流表/ |
| (22) |
unit规则(tableID_t,匹配,优先级,动作); |
| (23) |
返回表ID_t; |