Skip to content

sooty1892/packet-pro

Repository files navigation

Packet Processing in Java

This is a fast packet processing framework implemented in Java based around the Data Plane Development Kit (DPDK) from Intel. It was originally developed as a final year computing project and therefore isn't been developed on.

Repository Structure

presentation.pdf - presentation

setup.sh - script to install module, bind NICs and add huge pages. Will need modifying depending on system

apps/ - contains main DPDKJava framework and associated applications

  • DPDKJava/ - main framework up until report
  • DPDKJava-R/ - framework re-vamp after the report, with much faster packet handling and affinity thread handling
  • c_apps/ - DPDK applications written in native language
    • firewall/ - simple firewall implementation
    • pktcapture/ - receives and frees packets as fast as possible
  • java_apps/ - DPDK applications written in Java using DPDKJava
    • Firewall/ - simple firewall implementation using config file and blacklist. mak.sh will make, compile and install required libraries
    • PacketCap/ - receives and frees packets as fast as possible. mak.sh will make, compile and install required libraries
    • old/ - contains an older version of PacketCap application not using framework

benchmark/ - testing programs for benchmarking for serialization, data access and comparison of language performance

  • data_access/ - tests for sharing data between Java and C
  • language/ - tests performance between C, Java and JNI
  • serializing/ - tests for speed of serializing data on Java side

data/ - contains all test data

  • firewall/ - firewall implementation results for Java and C
  • firewall_r/ - firewall implementation results using DPDKJava-R framework for Java
  • pctest1/ - packet capture results for DPDKJava with no improvements
  • pctest2/ - packet capture results for DPDKJava after 1st improvements
  • pctest3/ - packet capture results for DPDKJava after 2nd improvements
  • pctest4/ - packet capture results for DPDKJava after 3rd improvements
  • pctest_r/ - packet capture results using DPDKJava-R
  • pktcap/ - packet capture results using C implementation

docs/ - collection of useful documentation

dpdk-2.0.0/ - DPDK as produced by Intel. Includes some custom minor changes to structs to make them packed. DPDKJava and DPDKJava-R will only work with this

example_code/ - some code provided by Abdul Alim for basic set-up of applications and shared libraries

pkygen-2.8.6/ - packet generator application which uses DPDK

playing-code/ - code examples used to get to grips with JNI, DPDK, byte buffers etc

reports/ - final and interim reports in latex

About

Packet Processing in Java research and implementations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published