vpp可以对外提供C/C++接口来进行操作,这里将详细介绍一下如何添加binary api
官方的ACL插件是一个很好的教程,但是由于里面的内容太多新手很容易犯迷糊,这里用插件的形式来介绍一下,添加一个接口十分简单
ACL插件的介绍可以参考教程https://segmentfault.com/a/1190000019613730,这个教程写的很详细了
首先要掌握的知识是会创建插件,可以参考vpp插件介绍之创建插件
这里以qs类型的插件为例,插件名称为testqs
vpp提供了三种接口,一般常用的就是request/reply和dump/details,上篇只打算介绍如何添加dump/details的接口
这里以一个简单的用例告诉你添加一个dump接口十分简单,只需要编写三个函数外加一个说明
1.相关文件
首先介绍一下binary api相关的源码文件,分别是testqs.api testqs.c testqs_test.c
testqs.api是我们定义需要的数据结构
testqs.c是vpp内部处理外界请求的地方
testqs_test.c是vat向vpp发送请求的地方,一般是为了测试添加的接口是否正确
2.定义数据结构