TCPMD5 Proposal

Name

TCP-MD5 Support library

Repo Name

tcpmd5

Description

The goal of this library is to provide access to RFC-2385 TCP MD5 Signature Option on operating systems which support it in their TCP stack. This option has been historically used to protect BGP sessions, but is equally useful for protecting PCEP sessions.

Scope

The scope of the project is to define simple APIs to set the MD5 key associated with a TCP channel, for both java.nio and netty channels and implement them using a Java Native Interface (JNI) library, which can be optionally loaded at run-time. As such, this code already exists within the BGPCEP project, where it is forms a separate component.

This proposal aims to move the code into a separate project, with lifecycle separate from BGPCEP. This will have the following advantages:

  • potential for a different set of committers

  • well-defined problem statement

  • more stable versioning

The goal for Helium is to support x86_64 Linux environment only, but other OSes and architectures can be added as the need for them arises and build infrastructure grows cross-compilation support.

Resources Committed (developers committed to working)

(contributors welcome!)

Initial Committers

(committers welcome!)

Vendor Neutral

  • No vendor package names in code

  • No vendor branding present in code or output of build

  • No vendor branding present in documentation

Meets Board Policy (including IPR)