BGP: Hydrogen: Release Plan

BGP: Hydrogen: Release Plan

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

Name

Description

Name

Description

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

Milestone

Offset 0 Date

Deliverables

Milestone

Offset 0 Date

Deliverables

M1

7/22/2013

Name

Status

Description

Release Plan

Done

Candidate Release Plan

M2

8/21/2013

Name

Status

Description

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

Name

Status

Description

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

Name

Status

Description

API Freeze



Integrate PCEP with more general overlay model.

Switch PCEP to generated DTOs

Bug47
Done

M5

11/13/2013

Name

Status

Description

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

Name

Description

RC0

bugfixing

RC1

11/27/2013

Name

Description

RC1

bugfixing

RC2

12/4/2013

Name

Description

Release Review

Release Review Description

Formal Release

12/9/2013

Name

Description

Deliverable Name

Deliverable Description