BGP: Helium: Release Notes

Contents

Major Features

Helium release of BGPCEP project delivers the support for the two protocols and applications which tie the protocols to the controller's MD-SAL infrastructure.

BGP support

  • Core Border Gateway Protocol

    • RFC4271 - A Border Gateway Protocol 4 (BGP-4)

    • RFC4760 - Multiprotocol Extensions for BGP-4

    • RFC1997 - BGP Communities Attribute

    • RFC4360 - BGP Extended Communities Attribute

    • RFC6793 - BGP Support for Four-Octet Autonomous System (AS) Number Space

  • Extended AFI/SAFI support

PCEP support

  • Core Path Computation Element Protocol

    • RFC5440 - Path Computation Element (PCE) Communication Protocol (PCEP)

    • RFC5541 - Encoding of Objective Functions in the Path Computation Element Communication Protocol (PCEP)

    • RFC5455 - Diffserv-Aware Class-Type Object for the Path Computation Element Communication Protocol

    • RFC5521 - Extensions to the Path Computation Element Communication Protocol (PCEP) for Route Exclusions

    • RFC5557 - Path Computation Element Communication Protocol (PCEP) Requirements and Protocol Extensions in Support of Global Concurrent Optimization

  • Stateful extensions to the Patch Computation Element Protocol, December 2012

  • Stateful extensions to the Patch Computation Element Protocol, December 2013

  • Segment routing extension to the Path Computation Element Protocol, October 2013

MD-SAL applications

Programming pipeline

  • Proposal for a north-bound programming pipeline, which can perform optimistic instruction scheduling and parallel execution. Used in the PCEP initiation interface.

Target Environment

For Execution

A Java 7-compliant runtime environment is sufficient to run the protocol libraries. An MD-SAL enabled container, such as the OpenDaylight Controller is required for operation of the MD-SAL application. TCP-MD5 functionality requires 64 bit Linux, other platforms are not supported.

For Development

In order to participate on development, you will need some standard Java development environment which supports Maven projects hosted in Git. Core developers use Eclipse on Linux, but also plain console with vim/mvn/git, so pretty anything you are comfortable should work reasonably well.

Known Issues and Limitations

This release is focused on getting all the functionality required for both protocols working. The implementation has been tested to inter-operate with one major router vendor and its topology export was examined for consistency with underlying network topology.

  • The BGP speaker was not tested for performance/scale

  • No performance/scale tests are visible to open-source community (this will be addressed in upcoming release)

Helium Stable Update 1

For Helium Stable Update 1, the following bugs are fixed:

  • BUG-1924 - features.xml lists multiple commons-codec versions

  • BUG-1921 - features-bgpcep has incorrect guava version

  • BUG-2082 - feature.xml is missing dependencies on tcp-md5

  • BUG-2115 - close() method of BGPSessionImpl should set the error subcode

  • BUG-2109 - Ghost BGP session could not be cleaned

  • BUG-2167 - pcc-mock is not bindable to different source addresses

  • BUG-2201 - routes announced after initial synchronization not present in loc-rib

  • BUG-2171 - pcc-mock: enable logging level configuration

  • BUG-2204 - pcc-mock does not support mocking pcc with zero initial lsps