amirreza225/mininet-apple-silicon

By amirreza225

•Updated 9 months ago

Mininet for all types of CPUs, including Apple Silicon M series, intel and AMD

Image
Networking
Monitoring & observability
0

10K+

amirreza225/mininet-apple-silicon repository overview

Mininet SDN Environment - Apple Silicon Compatible šŸš€ Overview A production-ready Docker container providing a complete Software-Defined Networking (SDN) development environment with Mininet and Ryu Controller. Specially optimized for Apple Silicon (M1/M2/M3) Macs while maintaining full AMD64 compatibility. Created by Amirreza Alibeigi - Politecnico di Milano ✨ Key Features

āœ… Apple Silicon Native - Fully optimized for M1/M2/M3 Macs (ARM64) āœ… Cross-Platform - Works seamlessly on Intel/AMD (x86_64) systems āœ… Pre-configured SDN Stack - Mininet + Ryu Controller ready to use āœ… Complete Networking Toolkit - All essential tools included āœ… Persistent Storage - Mount your projects for development āœ… Example Code - Sample controllers and topologies included

šŸ“¦ What's Included

Mininet 2.3+ - Network emulation platform (built from source) Ryu SDN Controller 4.34 - OpenFlow controller framework Open vSwitch - Virtual switching Python 3.8+ - With pip and essential libraries Network Tools - iperf, ping, curl, wget, netstat, tcpdump Development Tools - git, vim, nano, build-essential Ubuntu 20.04 LTS - Stable base system

šŸš€ Quick Start bash# Pull the image docker pull amirreza225/mininet-apple-silicon:latest

⁠Run the container

docker run -it --privileged --name mininet-sdn
--network host
-v "$(pwd)/projects:/app/projects"
-p 6653:6653 -p 8080:8080
amirreza225/mininet-apple-silicon:latest

⁠Test Mininet

sudo mn --test pingall šŸ’» Basic Usage Examples Simple Topology Test bash# Inside container sudo mn --topo single,3 --controller remote,ip=127.0.0.1,port=6653 Run SDN Controller bash# Terminal 1: Start Ryu controller ryu-manager /app/examples/simple_controller.py

⁠Terminal 2: Create topology

python3 /app/examples/simple_topology.py Network Performance Testing bash# Create topology with bandwidth limits sudo mn --link tc,bw=10

⁠In Mininet CLI

mininet> h1 iperf -s & mininet> h2 iperf -c h1 šŸ—ļø Architecture Support

linux/arm64 - Apple Silicon M1/M2/M3 linux/amd64 - Intel/AMD x86_64

šŸ”§ Container Configuration

Privileged Mode: Required for network namespace creation Host Networking: Direct access to host interfaces Exposed Ports:

6653 - OpenFlow 8080 - REST API 8000 - Web Server

šŸ“ Volume Mounts Mount your local directory to /app/projects for persistent development: bash-v "$(pwd)/projects:/app/projects" šŸŽ“ Perfect For

SDN/OpenFlow Development Network Research & Education Mininet Tutorials & Labs Network Automation Testing Academic Projects Cross-platform SDN Development

šŸ“š Documentation & Support

GitHub Repository: MinininetDocker-AppleSiliconCompatible Issues & Support: GitHub Issues Examples: Included in /app/examples/ directory

šŸ·ļø Tags

latest - Most recent stable version v1.0 - Initial release with Apple Silicon support

⚔ Why This Image? Unlike standard Mininet containers that fail on Apple Silicon, this image is specifically built and tested for ARM64 architecture while maintaining backward compatibility. Get a consistent SDN development environment across all your devices - from M3 MacBooks to cloud servers. šŸ“ License MIT License - Free for educational and commercial use šŸ¤ Contributing Contributions welcome! Please submit issues and pull requests on GitHub.

Keywords: mininet, sdn, openflow, ryu, apple-silicon, m1, m2, m3, arm64, network-emulation, docker, networking, education, research

Tag summary

Content type

Image

Digest

sha256:db19aacba…

Size

181 MB

Last updated

9 months ago

docker pull amirreza225/mininet-apple-silicon