- FreeRouter is using UNIX socket in order to forward packet dedicated to control plane + dataplane communication.
This essential paradigm is used to ensure communication between freeRouter and BMv2TOFINO bf_switchd P4 dataplane. It is ensured by pcapInt binary from freeRouter net-tools that will bind freeRouter socket (veth251@locathost:22710) to a virtual network interface (veth250@localhost:22709) connected to CPU_PORT 64. - freeRouter control plane and dataplane communication is enabled by RARE bf_forwarder.py
bf_forwarder.py is a simple python script based on GRPC client P4RuntimeBfRuntime python library. freeRouter is doing all the control plane route computation and write/modify/remove message entry via P4RuntimeBfRuntime so that P4 entries are created/modified/removed accordingly from P4 tables While BMv2TOFINO bf_switchd virtual model target is a very good choice for packet processing algorithm validation , it on TOFINO platform, the virtual model is not an ideal a target for production use. We will see in next articles how we can reach a higher rate throughput related reach TREMENDOUS traffic throughput required by Internet Service Provider's use cases defined by network operators. . Indeed, while with the model we can validate algorithm accuracy, traffic transfers achieved have a very low throughput. (I could barely make my setup described above working) In a subsequent article we will demonstrate how we can create with RARE/freeRouter/TOFINO TNA architecture, a service provider/carrier grade router that technically is able to switch 3.3 Tbps of traffic (line rate) using EdgeCore WEDGE100BF32X hardware switch. Note |
---|
TOFINO NPU family most powerful NPU has the ability to switch 6.5 Tbps traffic throughput, our WEDGE100BF32X switches are powered by the NPU little brother that is able to handle 3.3 Tbps line rate traffic throughput. |
|