This is packet forwarder with Linux raw socket.
Currently, support only Layer 2, but this will be multi layer switch in future.
- Layer 2 switching
- VLAN tagging(test version)
- support Layer 3 switching (Rounting for connected network)
- support static routing
- support RIPv2 (Dynamic Routing Protocol)
$ git clone https://github.com/kamaboko123/salacia-forwarder.git
$ cd salacia-forwarder/L2SW
$ make
$ ./bin/l2sw enp3s0 enp4s0
You need to specify interfaces as argument.
The interfaces is need to set promiscuous mode.
Example:
$ ifconfig enp3s0 promisc
$ ifconfig enp4s0 promisc
VLAN function is supported as test implementation.
Currently, configuration is only supported by hardcode.
You need to configuration by edit source code.
$ cd salacia-forwarder/forwarder/test/vlan_switch
# Please edit source code for your environment
$ vim vlan_switch.cpp
$ make
$ bin/switch
This forwarder is not tested in except develop enviroment.
Especially, this is not support big endian CPU.
(Probably, this work with intel CPU.)
- CPU : intel J1900
- RAM : DDR3 4GB
- OS : Ubuntu 16.04