/in-network_ml

Primary LanguagePythonApache License 2.0Apache-2.0

In-Network Machine Learning

In-network machine learning experiment repository.

Description

This repository contains examples of how to push Machine Learning classification models for P4 switches into the Smartnics (Netronome).

Training directory

It contains python3 scripts responsible for transforming data from pcap files, in models suitable for deployment in the network layer.

Smartnic directory

It contains the source codes to run the experiments into the Smartnic Netronome (https://www.netronome.com/products/agilio-cx/)

Confusion Matrixes

Next Confusion Matrix graphics are relative to classification results achieved by MAP4 in two proposed use-cases scenarios: (a) Intrusion Detection System (IDS), and; (b) Internet of Things (IoT).

CICIDS2017 Confusion matrices for: per-flow classification after the last (left) and the first (middle) packets of each flow are observed; and per-packet classification (right). Values are normalized by the sum of each row.



UNSW-IoT Confusion matrix per-flow classification after the last packets of each flow are observed.



UNSW-IoT Confusion matrix per-flow classification after the first packets of each flow are observed.



UNSW-IoT Confusion matrix per-packet classification.