Skip to content

Archived UDPI

Dave Wallace edited this page Apr 11, 2026 · 1 revision
UDPI Facts

Project Lead: Hongjun Ni, @ Intel
Committers:

Repository: git clone https://gerrit.fd.io/r/udpi
Mailing List: [email protected]
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs: UDPI bugs

Intro

The UDPI (Universal Deep Packet Inspection) project is a reference framework to build a high performance solution for Deep Packet Inspection, integrated with the general purpose FD.io VPP stack. It leverages industry regex matching library to provide a rich set of features, which can be used in IPS/IDS, Web Firewall and similar applications.

The initial code contributions are from Intel and Travelping.

Overview

Overview of the UDPI reference framework: view/File:Reference.md

Project Contact

  • Hongjun Ni, @ Intel,
  • Jian Gu, @ ZTE,
  • Jianghua Shan, @ China Telecom,
  • Xingfu Li, @ HuachenTel,
  • Xiaofan Li, @ Inspur,
  • Yuying Xia, @ Yxlink,
  • Chenggang Fan, @ Sunyainfo,
  • Feng Gao, @ Tencent,
  • Zhong Liu, @ China Unicom,
  • Yong Zhao, @ Huawei,
  • Haiquan Chen, @ QingCloud,
  • Jim Thompson, @ Netgate,
  • Pengjie Li, @ Alibaba,
  • Yanhua Wei, @ 360,
  • Leon Li, @ Trend Micro,
  • Michael Yu, @ Nokia,
  • Xianqiang Li, @ HAOHAN Data,

Scope

UDPI's main responsibility is to provide a reference framework for Deep Packet Inspection. It will cover below key components:

  • Flow Classification

    • HW flow offloading leveraging rte_flow on DPDK
    • SW flow classification
    • Supports both IPv4 and IPv6 flows
    • Supports Tunnel Traffic Classification
    • BD-aware and VRF-aware
    • Bi-directional traffic maps to one flow.
  • Flow Expiration

    • Timer-based expiration mechanism
    • TCP session aware expiration mechanism
  • TCP Segment Reassembly

    • TCP connection tracking
    • TCP segment re-ordering
    • TCP segment overlap handling
  • Application Database

    • Default static Application Database
    • Add new Application rules dynamically
  • Application Detection

    • Leverage Hyperscan Stream Mode
    • Reassembly of TCP segments on the fly
  • Application-based Actions

    • QoS
    • Rate Limiting
    • Policy Routing
    • SD-WAN
  • Supported Protocols:

    • TLS/HTTPS
    • HTTP
    • DNS
    • QUIC
    • etc.

Releases

UDPI releases are based on VPP version numbers.

Contributing

Contributions must go through code-review before being merged:

https://gerrit.fd.io/r/udpi

   git clone

Feel free to subscribe to the following mailing lists:

Papers, Presentations and Demos

  • **Hyperscan: A Fast Multi-pattern Regex Matcher for Modern CPUs **, Hyperscan NSDI Paper, By Xiang Wang & Yang Hong & Harry Chang & KyoungSoo Park & Geoff Langdale & Jiayu Hu & Heqing Zhu, At NSDI 2019
  • **Flow-based Packet Processing Framework on DPDK and VPP **, Flow-base Framework, By Hongjun Ni & Qi Zhang, At Open Source Summit China 2019
  • **Identify Encrypted Application Protocols Based on VPP **, Identifying Encrypted Application, By Hongjun Ni & Xiang Wang, At Open Source Summit Japan 2019
  • **Identifying Layer 7 Applications for HTTPS Traffic **at Intel Booth, by Hongjun Ni, At Open Source Summit North America 2019
  • **Hyperscan Use Case & UDPI Introduction **, Presentation and Demo, Intel PP Meetup, By Xiang Wang & Hongjun Ni, At Intel Packet Processing Beijing Meetup 2019

Code quality

There is no current sonar analysis on: https://sonar.fd.io

Clone this wiki locally