Filtrage haut débit avec DPDK
Voir les releases »
Rapport
·
Documentation
·
Contact
Ce répertoire contient quelques tutos et configurations établies lors de notre projet long de Master SSIR. Ce répertoire n'est pas exhaustif du travail fournis, mais donne un aperçu des résultats obtenus. Pour plus de détails sur notre méthodologie et nos réalisations, merci de consulter le rapport du projet (accès restreint).
Une petite introduction pour s'assurer que DPDK est installé et fonctionne :
- DPDK basics : doc/basic_dpdk.md
Dans cette section, nous détaillons fortement les étapes suivies, notamment pour la configuration de DPDK sur un VM locale tournant sous KVM. Le but est de testé un peu plus les performances et de réussir à utiliser un exemple de code C.
- DPDK KVM avec
testpmd
: doc/kvm_dpdk.md - DPDK KVM avec
l2fwd
: doc/kvm_l2fwd.md
Dans cette section, nous présentons la mise en place de DPDK sur un banc d'essai virtuel :
- Banc d'essais sur hyperviseur : doc/hyperviseur_dpdk.md
- Détails des performances sur Proxmox : doc/perf_dpdk_promox.md
Résultats : doc/perf_dpdk_reel.md.
Nous avons implémenté un module DPDK réalisant du filtrage IPv4 simple basé sur l'adresse IP source ou destination d'un paquet. Ce module présente des performances intéressantes que nous essayerons d'évaluer. La configuration du filtrage s'effectue dans un fichier rules.cfg
dont voici un exemple :
# Exemple de fichier de configuration
block src 244.174.221.178
block dst 192.168.0.3
block dst 192.168.0.4
Vous devez avoir installé DPDK (plusieurs exemples dans /doc), vous pouvez build avec :
make # Meilleurs performances
make debug # Avec les informations de debug (lent)
Un script est également disponible pour build à distance sur un banc d'essais et/ou si vous n'avez pas d'installation de DPDK en local.
Voir la /doc pour optimiser les performances. Lancer le programme avec :
./main -l2,3
Pour plus d'information, voir le répertoire src/.
Voir manah.fr.
Voir license. Nous utilisons la licence du projet DPDK. Des parties de code peuvent être emprunter aux exemples fournis par DPDK (Copyright(c) Intel Corporation
).