VPP中如何决定当前NODE的下一跳NODE是next_nodes[]中的哪一个

首先, 我觉得我被一些解释误导了, 下边是一些文章中的描述:

上边这里是一个NODE 的.function 的定义, 可以看到说的是2这里返回多少, 那下一跳Node 就是取next_node[]中的哪一个。 这就不科学了, 这个返回值是值frame中有多少个数据包, 怎么能决定下一跳Node的值呢。

我认为我们在node的 .function 函数中处理报文时, 应该去修改next0 (标记1) 的值来决定下一跳的值。 为了验证这个猜想, 我们来看一下, VPP 源码中的node "ip4-input":

可以看到 0 处是在注册Node, 但是没有.function的定义, 不慌, 1 处就是。VLIB_NODE_FN 宏展开可以看到, 是在这里对.function 赋值的。

那这个NODE的主要处理函数就是:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值