Contents
Introduction
BGP/PCEP protocol library is a project aiming to provide Java-based implementation of Border Gateway Protocol and Path Computation Element Protocol.
By enabling the Controller to utilize more standardized ways of talking to the underlying network, it can be deployed in a wider variety of scenarios.
BGP is the core protocol holding together the Internet in its current shape and form, which is extensible enough to provide functions well outside of its original purpose. With the advent of Link State and TE Information draft, BGP can be used to safely distribute IGP information to entities outside of usual IGP peering. The Controller is a prime example of a network entity which can benefit from this information, as it can directly use it as a source of topology information.
PCEP is a protocol originally designed for offloading optimal path computation in MPLS-TE networks from the head-end router to a dedicated accelerator (called Path Computation Element, or PCE) residing on the control plane. While the original specification called for a router-driven operation, the recently adopted Stateful PCE extension aligns the protocol for use by the Controller.
Release Deliverables
| |
|---|
BGP-LS | |
PCEP | |
Models | Model of a PCEP message in YANG. Model of a PCEP tunnel in YANG. Model of a BGP-LS NLRI in YANG.
|
Release Milestones
| | |
|---|
M1 | 7/22/2013 | | | |
|---|
Release Plan | Done | Candidate Release Plan |
|
M2 | 8/21/2013 | | | |
|---|
Release Plan | Done | Final Release Plan | Migration of Framework to NETTY | Done | NETTY framework is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Our client-server communication is mostly hand-written using java NIO directly. The code is robust and not bug free (there is known issue when BGP client constantly receives messages, the socket gets congested and does not send KeepAlive messages, therefore the connection drops unexpectedly). Migration to NETTY was suggested to avoid such issues and maintain less code on our side. First part of the migration is to switch the core of the client-server communication to NETTY. This should not affect the protocols itself. After the core communication is switched to NETTY, the protocols can be switched too. | Migration of BGP to NETTY | Bug44 Done | Migration of PCEP to NETTY | Bug43 Done | Write pcep-message.yang | Done | To integrate with MD-SAL, we need to write YANG models representing BGP-LS/PCEP concepts. BGP: we need YANG model for BGP-LS NLRI. This model was already started and needs to be finished. The last part for BGP is to integrate with YANG models provided by IETF draft-clemm-yang-network-topo-00. PCEP: we need a model representing PCEP messages and PCEP tunnels. | Finalize bgp-ls-nlri.yang | Done | Write pcep-tunnel.yang | Done | DTO Generation | Done | Wiring yangtools DTO generation into build system. |
|
M3 | 9/18/2013 | | | |
|---|
Switch BGP to generated DTOs | Bug45 Done | In this stage of the project, the YANG models are finalized and the generation of the DTOs should be provided by Yang tools. Therefore it is the time and place to integrate the generated DTOs with the code. | Integrate BGP RIB with MD-SAL | Bug46 Done |
|
M4 | 10/16/2013 | | | |
|---|
API Freeze |
| Integrate PCEP with more general overlay model. | Switch PCEP to generated DTOs | Bug47 Done |
|
M5 | 11/13/2013 | | | |
|---|
Code Freeze |
| Writing end-to-end tests and user-facing documentation.
| BGP tests | Bug49 Done | PCEP tests | Bug50 | Documentation | Bug51 | Implement BGP topology provider | Bug108 Done | After sourcing topology data from BGP/LS and discriminating it in bgp-rib-impl
component, we need to transform this data into a topology model.
The base topology models are defined in http://tools.ietf.org/html/draft-clemm-netmod-yang-network-topo-00 and already imported into topology-api artifact. Evolve those models such that they are usable with MD-SAL and create a model-to-model transformation artifact, topology-provider-bgp, which will consume the Local RIB produced by bgp-rib-impl and will provide an L3 IGP topology view of that data. | End-to-end integration tests | Bug110 | Design and implement test cases for the entire protocol stack. This involves a
mock PCEP and BGP speakers, who feed some information into a completely-assembled MD-SAL container and then inquiring the data service to see if correctly-modeled information is there and no anomalies are detected in the system. | Integrate PCEP with Tunnels | Bug48 Done | Integrate PCEP with more general overlay model. |
|
RC0 | 11/20/2013 | |
RC1 | 11/27/2013 | |
RC2 | 12/4/2013 | | |
|---|
Release Review | Release Review Description |
|
Formal Release | 12/9/2013 | | |
|---|
Deliverable Name | Deliverable Description |
|