Home - slytechs-repos/jnetworks-examples GitHub Wiki

jNetWorks SDK Examples Wiki

Last Updated: 09:59 AM EDT, Tuesday, July 08, 2025

Welcome to the official wiki for the jNetWorks SDK Examples project. This wiki serves as a comprehensive resource for understanding and utilizing the jNetWorks SDK, a powerful Java-based library designed for high-performance network packet capture, processing, and transmission. The following sections outline the SDK's purpose, usage guidelines, and a summary of key information from the project README.

Overview of jNetWorks SDK

The jNetWorks SDK is a state-of-the-art software development kit that empowers developers to build advanced network applications with ease. Built on a Java foundation, it provides a robust, object-oriented API that abstracts complex low-level network operations. The SDK is fully compatible with PCAP, Napatech SmartNIC, and Intel's DPDK drivers and hardware, ensuring seamless integration with modern network infrastructure. Its design prioritizes performance, scalability, and ease of use, making it an ideal choice for professionals working on network monitoring, testing, and simulation projects.

Purpose

The primary purpose of the jNetWorks SDK is to simplify the development of high-performance network applications by offering a unified platform for packet capture, processing, and transmission. It addresses the needs of developers seeking to leverage advanced hardware capabilities without delving into the intricacies of C-based programming or hardware-specific configurations. The SDK enables rapid prototyping and deployment of network solutions, supporting use cases such as real-time traffic analysis, packet replay, and protocol handling, all while maintaining compatibility with industry-standard formats and hardware.

Usage Guidelines

To effectively utilize the jNetWorks SDK, developers should follow these guidelines:

  • Prerequisites: Ensure the Java Development Kit (JDK) version 22 or higher is installed. The jNetWorks SDK can be obtained from the git repository (slytechs-repos) or the Maven Central repository. Optional support for Napatech SmartNIC or Intel DPDK-compatible hardware enhances performance.
  • Installation: Clone the repository using git clone https://github.com/slytechs-repos/jnetworks-sdk-examples.git and navigate to the project directory. Add the jNetWorks SDK to your project dependencies via Maven or by manually including JAR files.
  • Building and Running: Use Maven or Gradle as build tools. Compile and execute examples with the module path (-mp) option, ensuring proper configuration of the SDK and necessary file permissions.
  • Development Environment: Leverage an integrated development environment (IDE) or command-line tools to manage the project. Verify hardware compatibility and resource availability for optimal performance.

Summary of README Information

The project README provides essential details for getting started with the jNetWorks SDK Examples repository. It includes:

  • Current Examples: Highlights two implemented examples—Capture Example and Retransmit File Example—demonstrating core SDK functionalities.
  • Planned Examples: Lists an extensive set of forthcoming examples covering diverse network tasks, such as VLAN tagging, timestamp injection, and statistics monitoring, to be developed using the jNetWorks SDK in Java.
  • Getting Started: Outlines prerequisites (JDK 22+, jNetWorks SDK, optional hardware, build tools), installation steps, and a command-line example for running the Capture Example using the module path.
  • License: Specifies that the repository is licensed under the Sly Technologies Free License, with details available in the license header of example files or at http://www.slytechs.com/free-license-text.
  • Contact: Offers support and sales contacts—[email protected] and [email protected]—along with the Sly Technologies Inc. website (www.slytechs.com).
  • Acknowledgments: Recognizes the jNetWorks SDK team for their foundational work, crediting their contribution to the project’s Java-based examples.

This wiki will expand with dedicated pages for each example, providing detailed documentation and usage instructions. For the latest updates, refer to the repository and this wiki, maintained as of 09:59 AM EDT on Tuesday, July 08, 2025.