Introduction
RDKVLAN&BridgeManager is a component that interfaces directly with the RDK Bus.
It is responsible for:
- Supporting bridges and VLAN interfaces
- Storing configuration and statistical data for bridges and VLAN interfaces
- Creating/deleting the bridges or interfaces
- And communicating the status of the bridges or interfaces with other RDK Managers
The following diagram shows how RDKVLAN&BridgeManager sits in the RDK-B architecture as well as its internal processes:
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlotUmVzaG1pIEsgUiIsIm91dHB1dFR5cGUiOiJibG9jayIsImxhc3RNb2RpZmllck5hbWUiOiJaLVJlc2htaSBLIFIiLCJsYW5ndWFnZSI6ImVuIiwidWlDb25maWciOiJ7fSIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjE2OTQ1MjU2NCIsImRpYWdyYW1OYW1lIjoiUkRLIFZMQU4gQnJpZGdlIE1hbmFnZXIgLSBNb2R1bGUgRGlhZ3JhbSIsImFzcGVjdCI6IiIsImxpbmtzIjoiYXV0byIsImNlb05hbWUiOiJSREsgVmxhbkJyaWRnZU1hbmFnZXIiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjE2OTQ1MTEzNSwiZWRpdGFibGUiOmZhbHNlLCJjZW9JZCI6MTY5NDUxMTM1LCJwYWdlSWQiOiIiLCJsYm94Ijp0cnVlLCJzZXJ2ZXJDb25maWciOnsiZW1haWxwcmV2aWV3IjoiMSJ9LCJvZHJpdmVJZCI6IiIsInJldmlzaW9uIjo1LCJtYWNyb0lkIjoiNGE3Yzc4ZjEtODM4MC00N2Y4LThhMmQtZTUwZGVjZDk3ODlkIiwicHJldmlld05hbWUiOiJSREsgVkxBTiBCcmlkZ2UgTWFuYWdlciAtIE1vZHVsZSBEaWFncmFtLnBuZyIsImxpY2Vuc2VTdGF0dXMiOiJPSyIsInNlcnZpY2UiOiIiLCJpc1RlbXBsYXRlIjoiIiwid2lkdGgiOiIzMzMiLCJzaW1wbGVWaWV3ZXIiOmZhbHNlLCJsYXN0TW9kaWZpZWQiOjE2MzMwMDQ1NDYwMDAsImV4Y2VlZFBhZ2VXaWR0aCI6ZmFsc2UsIm9DbGllbnRJZCI6IiJ9
The RDKVLAN&BridgeManagercomponent will hold the Ethernet Link, VLAN Termination, and Bridging data models, and will run processes related to creating or deleting bridges or interfaces
Architecture
- OVSDB and WebPA can receive data from the Cloud in any format but they MUST translate this data into the DML syntax exposed by RDK VLAN & Bridging Manager and transmit this data to that module via the Bus.
- RDK VLAN & Bridging Manager stores a custom data model that allows for all OVS functionality (e.g. OpenFlow), as well as generic bridging/VLAN termination functionality.
- Basic bridge and VLAN configuration MUST be generic enough (where possible) such that it is not tied to any one particular implementation.
- Some features (e.g. OpenFlow) will only be implementable using OVS, and therefore will not feature an equivalent Linux Utilities implementation.
- RDK VLAN & Bridging Manager's Southbound API can be used to translate configuration data into specific OVS or Linux Utilities commands, depending on the platform requirements.
- In some cases, OVS Bridging will have to be supported alongside Linux VLAN configuration.
- In other cases, platforms may choose between a full OVS implementation or a full Linux Utilities implementation.
- In this design, the CPE bridge/VLAN configuration is decoupled from backend management services as well as from low-level utilities. This allows RDK-B to be more flexible in how it is managed from the cloud, and how it operates on a platform.
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlotUmVzaG1pIEsgUiIsIm91dHB1dFR5cGUiOiJibG9jayIsImxhc3RNb2RpZmllck5hbWUiOiJaLVJlc2htaSBLIFIiLCJsYW5ndWFnZSI6ImVuIiwidWlDb25maWciOiJ7fSIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjE2OTQ1MjY0NyIsImRpYWdyYW1OYW1lIjoiVkxBTi1DbG91ZCIsImFzcGVjdCI6IiIsImxpbmtzIjoiYXV0byIsImNlb05hbWUiOiJSREsgVmxhbkJyaWRnZU1hbmFnZXIiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjE2OTQ1MTEzNSwiZWRpdGFibGUiOmZhbHNlLCJjZW9JZCI6MTY5NDUxMTM1LCJwYWdlSWQiOiIiLCJsYm94Ijp0cnVlLCJzZXJ2ZXJDb25maWciOnsiZW1haWxwcmV2aWV3IjoiMSJ9LCJvZHJpdmVJZCI6IiIsInJldmlzaW9uIjoyLCJtYWNyb0lkIjoiZWZkYzBkY2MtYzNjNC00ZjlhLTliYjQtNTRlMjljYjVlMzExIiwicHJldmlld05hbWUiOiJWTEFOLUNsb3VkLnBuZyIsImxpY2Vuc2VTdGF0dXMiOiJPSyIsInNlcnZpY2UiOiIiLCJpc1RlbXBsYXRlIjoiIiwid2lkdGgiOiI0MzMiLCJzaW1wbGVWaWV3ZXIiOmZhbHNlLCJsYXN0TW9kaWZpZWQiOjE2MzMwMDQ1OTQwMDAsImV4Y2VlZFBhZ2VXaWR0aCI6ZmFsc2UsIm9DbGllbnRJZCI6IiJ9