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

NameDescription
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

MilestoneOffset 0 DateDeliverables
M17/22/2013
NameStatusDescription
Release PlanDoneCandidate Release Plan
M28/21/2013
NameStatusDescription
Release PlanDoneFinal Release Plan
Migration of Framework to NETTYDoneNETTY 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 NETTYBug44
Done
Migration of PCEP to NETTYBug43
Done
Write pcep-message.yangDoneTo 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.yangDone
Write pcep-tunnel.yangDone
DTO GenerationDoneWiring yangtools DTO generation into build system.
M39/18/2013
NameStatusDescription
Switch BGP to generated DTOsBug45
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-SALBug46
Done
M410/16/2013
NameStatusDescription
API Freeze
Integrate PCEP with more general overlay model.
Switch PCEP to generated DTOs

Bug47
Done

M511/13/2013
NameStatusDescription
Code Freeze

Writing end-to-end tests and user-facing documentation.
BGP testsBug49
Done
PCEP testsBug50
DocumentationBug51
Implement BGP topology providerBug108
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 testsBug110Design 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 TunnelsBug48
Done
Integrate PCEP with more general overlay model.
RC011/20/2013
NameDescription
RC0

bugfixing

RC111/27/2013
NameDescription
RC1bugfixing
RC212/4/2013
NameDescription
Release ReviewRelease Review Description
Formal Release12/9/2013
NameDescription
Deliverable NameDeliverable Description

Expected Dependencies on Other Projects

Depends OnDependency DescriptionNeeded ByIs in Other Project Release Plan
OpenDaylight ControllerGenerate DTOs from provided YANG models.M3wiki.opendaylight.org/view/OpenDaylight_Controller:Release_Plan_2013

Compatibility with Previous Releases

Themes and Priorities


Versioning

0.1.0 - initial code drop
0.2.0 - project switched to NETTY
0.3.0 - integrated with generated DTOs


Other

Primary Setup Contact : Dana Kutenicsova (dkutenic@cisco.com)

CI Resource : Dana Kutenicsova (dkutenic@cisco.com)

  • No labels