Implement More Mikroconf Modules
MikroConf is a command line administration interface for Linux-based embedded systems, which can be easily extended with new administration modules written in the Tcl programming language. It is not only written 100% in Tcl, but also makes heavy use of certain Tcl features such as, Tcl threads, Safe interpreters, TclVFS, and others. It is thus a great advertisement for Tcl's capabilities.
Depending on his background, the student should pick at least three of the following modules ideas to implement, except for the case of routing, which is a project on its own:
- vlan: VLAN configuration using busybox vconfig applet.
- ppp: Support PPPoE, PPPoA, PAP, CHAP using pppd, so that it is possible to configure ADSL gateways.
- serial: Support communication through serial lines.
- tunnel: Support various (encrypted/unencrypted) tunnel technologies, using vtun, stunner, and other programs.
- qos: QoS, Traffic Shaping.
- routing: Dynamic routing using quagga. Integration with quagga should be done on a C-API level, just like Quagga shells communicate with Quagga daemons.
- ddns: Dynamic DNS using dyndns.
- vrrp: VRRP support using vrrpd.
- dhcp: DHCP Server using busybox's udhcpd applet.
- dns: DNS Server using dnsmasq.
- nat: SNAT/DNAT configuration using iptables.
- firewall: Support for access-lists and prefix-lists using iptables.
- snmp: Basic SNMP configuration (read-only) using net-snmp.
- wireless: Wireless configuration using wireless-tools.
- bridge: Layer 2 bridging configuration using busybox's brctl applet.
Mentor: Alexandros Stergiakis Difficulty: Easy/Medium depending on selected modules.