当前位置: 首页 > news >正文

网站策划文案房屋设计师室内设计

网站策划文案,房屋设计师室内设计,最近发生的军事事件,可以做3d电影网站有哪些VPP(Vector Packet Processing)是一个高性能的数据平面开源项目,用于构建网络功能虚拟化(NFV)和软件定义网络(SDN)解决方案。它由Cisco开发,并在Apache 2.0许可下发布。 在VPP中&am…

VPP(Vector Packet Processing)是一个高性能的数据平面开源项目,用于构建网络功能虚拟化(NFV)和软件定义网络(SDN)解决方案。它由Cisco开发,并在Apache 2.0许可下发布。

在VPP中,节点(Node)是数据包处理的基本单元。每个节点都执行一些特定的功能,并且可以相互组合形成流水线,完成复杂的数据包处理任务。以下是如何编写一个基本节点的步骤:

  1. 包含头文件:首先需要包含VPP相关头文件,例如vlib/vlib.hvnet/vnet.h等。

  2. 定义结构体:定义一个包含节点配置信息和运行时状态的结构体。通常命名为node_main_t。

  3. 注册节点:使用VLIB_REGISTER_NODE宏将节点注册到VPP框架中。该宏需要提供节点名字、输入输出描述符等参数。

  4. 创建节点函数:实现一个create_node函数,其中会初始化节点配置信息和运行时状态。这个函数会被VPP框架调用,创建实际的节点。

  5. 处理数据包:实现一个process_packet函数,用于对输入数据包进行处理,并将结果发送给下一个节点或者输出口。

  6. 清理节点函数:实现一个cleanup_node函数,用于清理节点状态和资源。

以下是一个简单的节点示例,用于向输出口发送ping应答:

#include <vlib/vlib.h>
#include <vnet/vnet.h>typedef struct {u32 sw_if_index;
} node_main_t;static uword process_packet(vlib_main_t *vm, vlib_node_runtime_t *node,vlib_frame_t *frame) {u32 n_left_from, *from;from = vlib_frame_vector_args(frame);n_left_from = frame->n_vectors;while (n_left_from > 0) {u32 n_left_to_next;vlib_get_next_frame(vm, node, VLIB_NODE_FORWARD_NEXT_INDEX, to_next,n_left_to_next);while (n_left_from > 0 && n_left_to_next > 0) {vlib_buffer_t *buf;u32 bi;bi = from[0];from += 1;n_left_from -= 1;to_next[0] = bi;to_next += 1;n_left_to_next -= 1;buf = vlib_get_buffer(vm, bi);u32 sw_if_index = ((node_main_t *)node->runtime_data)->sw_if_index;vnet_buffer(b)->sw_if_index[VLIB_TX] = sw_if_index;vlib_set_next_frame_buffer(vm, node, VLIB_NODE_FORWARD_NEXT_INDEX, bi);}vlib_put_next_frame(vm, node, VLIB_NODE_FORWARD_NEXT_INDEX, n_left_to_next);}return frame->n_vectors;
}static clib_error_t *setup_function(vlib_main_t *vm) {node_main_t *nm;nm = &node_main;nm->sw_if_index = 0;return 0;
}VLIB_REGISTER_NODE(node_ping_reply) = {.function = process_packet,.name = "ping-reply",.type = VLIB_NODE_TYPE_INTERNAL,.vector_size = sizeof(u32),.n_errors = 0,.format_trace = 0,.flags = VLIB_NODE_FLAG_IS_DROP,
};VLIB_INIT_FUNCTION(setup_function);

可以看到,节点的实现主要包含了创建、处理和清理三个函数。其中process_packet是最重要的函数,它通过循环获取所有输入数据包,并对每个数据包进行处理。在这个例子中,只是简单地将输出口设置为节点配置中的sw_if_index。其余部分都是基本的VPP框架代码。

Dpdk/网络协议栈/vpp/OvS/DDos/NFV  视频教程学习地址: https://ke.qq.com/course/5066203?flowToken=1043068
DPDK/网络虚拟化 相关学习资料、视频教程 学习群:739729163 
http://www.yayakq.cn/news/794236/

相关文章:

  • 企业做网站带来的好处wordpress按分类设置seo
  • 所有网站302跳转百度用单页做网站 文章直接写上去 百度收录关键词吗
  • 网站正在建设中的产品外观设计公司
  • 江西雄基建设网站广州安全教育平台入口登录
  • 哪家可以做网站网站制作需求表
  • 鄂州网站制作太原网站建设随州
  • 网站前台建设需要哪些技术知识用dw做音乐网站系统的代码
  • 想办个网站怎么做wordpress更换服务器搬家教程
  • 西安做网站需要多少钱jsp网站开发实例教程
  • 爱2345网址大全网络推广SEO优化网站建设
  • 关键词查询的分析网站网络平台建设及运营方案
  • 济南住房和城乡建设厅网站网站开发维护合同样板
  • 茶叶网站建设网页设计制作青岛网站建设有哪些公司
  • 网站开发流程比较合理怎么找网红合作卖东西
  • 谷歌建站兰州网站建设lzwlxc
  • 搜狐快速建站网站开发的目的意义
  • 阿里云建立网站备案开通腾讯企业邮箱入口
  • 网站规划课程设计模板网站定制 北京
  • 长沙手机网站首页设计公司免费学生网页制作
  • 手机对比网站奢侈品电商网站首页设计
  • 代理网站哪个好网站图片素材下载
  • 办公设备网站推广怎么做自定义网站主页设计
  • 网站如何做反链太白 网站建设
  • iis搭建网站时网站建设属于什么支出
  • 著名建筑设计网站优化网站找哪家
  • 企业网站加视频山东莱钢建设有限公司网站
  • 徐州网站定制老河口网站建设
  • 网站开发建设方案书仿土豆网站源码
  • wordpress地图无插件桂林网站优化
  • frontpage网页制作成品湖南网站seo营销