Project Proposals/processing pipeline

From fd.io
Jump to: navigation, search

Processing and forward

Name

Processing Pipeline with SRv6

Project Contact Name and Email

Andre Surcouf (asurcouf@cisco.com)
Clarence Filsfils (cfilsfil@cisco.com)

Repository Name

ppsr

Description

Thank to this project it will be possible to create complex processing pipeline in which each node applies some transformation not at the IP packet level but rather at “application data level” which represents several IP packet payloads. For any given node in the processing pipeline the input and the output data sizes can be different.

For media specific domain the implementation is based on a VPP plugin architecture. The media specific part is actually made of three plugins:


  • The input media plug-in. This plug-in is responsible for receiving incoming traffic and make it available to one of the media virtual function through a piece of memory
  • The output media plug-in. This plug-in is responsible for sending outgoing traffic from one media processing virtual function.
  • The media control plugin is used to configure the other plug-ins.

  • The media input as well as output plugin is actually split in two parts the media specific part and the ip specific part.

    (A fully detailed description of the involved mechanism is accessible in a separate document).

    Scope

      - Processing
            - Transform
            - Forward
    


    Initial Committers

    Axel Taldir (ataldir@cisco.com)
    Eyal Shalev (eshalev@cisco.com)
    Francois Clad (fclad@cisco.com)

    Vendor Neutral

    There is no need for any particular hardware. However some implementation could use dedicated hardware to increase the performances. No driver required for any specific hardware

    The code of each plugin is itself divided in two parts:

  • A fully generic part which is responsible for IP packetization and depacketization. This part exposes a configuration API totally agnostic from the application specific part. This part is also responsible for maintaining IP continuity across processing applications which are not IP aware. This fully generic part is actually an extension of the existing v6SR development project managed by Clarence Filsfils.
  • An application specific part which is responsible for implementing the communication between the VPP node and the external application using it. In the media particular case shared memory are used for this purpose. This domain specific part is new and could be considered either as an extension of the v6SR project or as a separate sub-project.
  • Meets Board Policy (including IPR, being within Board defined Scope etc)

    Meets board policy as expressed in Technical Community Charter and IP Policy

    Administrata

    • Request for Project proposal consideration
      • Email: (place link to email to TSC proposing project, this can be obtained from TSC Archives
      • Date: (date proposed, makes it simpler to calculate the pre-requisite 2 week time period of gestation before being permitted to be voted on)