broadcom OF-DPA

简介: https://www.broadcom.com/products/ethernet-connectivity/software/of-dpahttp://broadcom-switch.github.

https://www.broadcom.com/products/ethernet-connectivity/software/of-dpa

http://broadcom-switch.github.io/of-dpa/doc/html/OFDPA_OVERVIEW.html

OpenFlow Data Plane Abstraction (OF-DPA) is an application software component that implements an adaptation layer between OpenFlow and the Broadcom Silicon SDK. OF-DPA enables scalable implementation of OpenFlow 1.3 on Broadcom switch devices. Figure 1 shows the OF-DPA software component and its relation to other OpenFlow system components.

 

 OF-DPA software is available in two packages:

  • An OEM & ODM Development Package (ODP), which is a full source code package distributed under Broadcom SLA.
  • A Community Development Package (CDP), which is an Open API library with Application Development Kit distributed on GitHub.

 

API: http://broadcom-switch.github.io/of-dpa/doc/html/group__GLOFDPAAPI.html

 

 

 

  • API Layer: Provides the northbound OF-DPA APIs. These are available via RPC in the inter-process mode or as direct function calls to a user application that links with the OF-DPA libraries. OF-DPA does not have a user interface (e.g. a CLI). All control is done via APIs. All APIs calls are synchronous and control is returned to the caller after changes are committed to the hardware.
  • OFDB Layer: This is the OF-DPA database layer. OFDB is the software database for the flow, group and port tables. It provides APIs to manage these tables. OFDB APIs are invoked by the following layers of OF-DPA:
    • API: OFDB stores the management state of the system. OFDB APIs are invoked by the API layer for configuration updates like flow addition, deletion, etc.
    • Mapping: OFDB also stores system status information like port link status, etc. The mapping layer receives these port state updates from the hardware and invokes OFDB APIs to update the port tables in the database.
    • Datapath: The datapath layer invokes OFDB APIs to traverse through flow tables etc. and perform housekeeping operations like flow aging.
  • Datapath Layer: Implements a task that wakes up periodically and traverses flow tables to perform flow aging operations. On detecting aged flows, it sends event notifications to client applications.
  • Mapping/Driver Layer: Provides system mapping and driver functions.
    • All system initialization is done here. The driver, OFDB, and datapath layers are initialized during system startup. Functions to retrieve system specific information like table sizes, valid VLANs, etc. are implemented in this layer.
    • The driver functions provide an abstraction layer over the Broadcom SDK. These functions are invoked to program and query the hardware. The driver layer defines the interface OF-DPA requires when ported to other platforms.
  • Platform Layer: Provides platform specific initialization structures and functions. These functions are invoked during system startup.

 

目录
相关文章
|
编解码 前端开发 JavaScript
React系列---React技术栈一览
React系列---React技术栈一览
2022 0
|
3月前
|
机器学习/深度学习 人工智能 Java
《Java开发者进击之路:掌握Spring AI与DL4J,实现AI模型API集成》
Spring AI与DL4J为Java开发者进入AI领域提供了强大工具。Spring AI通过统一API体系简化AI模型集成,支持多种模型(如OpenAI、Google Gemini等),采用模块化架构,灵活适配不同需求,并提供企业级功能如函数调用和结构化输出。DL4J作为深度学习库,支持多种神经网络模型(CNN、RNN等),兼容Hadoop、Spark,实现分布式训练和GPU加速,与Java生态系统无缝集成。两者结合可发挥协同效应,例如在智能图像分析项目中,DL4J负责模型训练,Spring AI完成模型接入与业务逻辑整合,助力开发者高效构建AI应用,提升竞争力。
133 0
|
9月前
|
存储 编译器 C语言
【C语言】C语言的变量和声明系统性讲解
在C语言中,声明和定义是两个关键概念,分别用于告知编译器变量或函数的存在(声明)和实际创建及分配内存(定义)。声明可以多次出现,而定义只能有一次。声明通常位于头文件中,定义则在源文件中。通过合理组织头文件和源文件,可以提高代码的模块化和可维护性。示例包括全局变量、局部变量、函数、结构体、联合体、数组、字符串、枚举和指针的声明与定义。
281 12
|
JSON 数据库 数据格式
使用 Django Q 对象构建复杂查询条件
通过本文示例,我们展示了如何使用Django的Q对象来构建复杂的查询条件,以及如何实现分页功能。Q对象的强大之处在于它能够轻松地组合多个查询条件,支持“与”、“或”关系,极大地提高了查询的灵活性和可读性。希望本文对你在实际项目中使用Django ORM构建复杂查询有所帮助。
|
安全 Linux
【亮剑】`chattr`是Linux中用于管理文件和目录扩展属性的命令,影响文件系统处理方式
【4月更文挑战第30天】`chattr`是Linux中用于管理文件和目录扩展属性的命令,影响文件系统处理方式。常用属性包括:`a`(追加)、`i`(不可变)、`s`(安全删除)和`S`(同步更新)。通过`chattr [选项] <模式> <文件或目录>`设置属性,如`chattr +i <文件名>`使文件不可变,`-i`移除不可变属性。`lsattr`用于查看属性。注意,只有root用户有权更改属性,不是所有文件系统都支持所有属性,且更改关键文件属性前应备份。`chattr`有助于提升系统安全性和数据保护。
216 1
|
人工智能 自然语言处理 算法
电商行业智能搜索技术原理全解析
对于电商平台来说,智能搜索功能是至关重要的。本文剖析电商行业的搜索专属特点和业务需求,并介绍开放搜索提供的【电商行业模板】智能搜索能力,希望带给企业更多提升业务转化的思路和解决方案~
5081 1
电商行业智能搜索技术原理全解析
|
Java Maven
idea的Maven依赖问题
idea的Maven依赖问题
|
Linux Shell 网络安全
Linux 强大的网络命令:nc命令操作方法
Linux 强大的网络命令:nc命令操作方法
1752 1
|
缓存 架构师 Java
Java开发三年,花费半年时间学完这些技术栈,面试定级阿里P7
现在 Java 相关岗位薪资越来越高、涨幅越来越大。 通过职友集数据可以查看,以北京 Java 相关岗位为例,其中 【20k-30k】 薪酬的 Java 工程师,占到了整体从业者的 30.8%!
|
架构师 安全 5G
云栖进行时|分享:可编程网络的现在与未来
共论可编程技术、产业应用与行业前沿,共创智能新时代的网络技术创新空间~
云栖进行时|分享:可编程网络的现在与未来