Components

The Gateway runs on an Ubuntu Operating System version 18.04. However, the traditional Open Source components such as the Linux routing and firewall (iptables) subsystem do not process user traffic.

VeloCloud has implemented the entire networking stack in the user space in a process called gwd. While gwd contains the majority of functionality in the system, various other components support the operation of the Gateway.

Figure 1. Network Stack

The following table lists the processes with description and log files.

Table 1. Processes with Description and Log Files
Process Description Log File
vc_procmon VeloCloud SD-WAN Process Monitor (vc_procmon) provides the foundational process of the VeloCloud SD-WAN system. This process launches other VeloCloud SD-WAN processes, re-launches them on failure, and monitoring memory consumption of gwd. /var/log/vc_procmon.log
mgd The Management Plane Daemon (mgd) communicates with the Orchestrator. This process is kept isolated from gwd and if total failure of the gwd process occurs, the Orchestrator can obtain configuration changes or software updates required to resolve the failure. /var/log/mgd.log

 

gwd This process comprises the entire Data and Control Plane of the Gateway except for dynamic routing protocols such as BGP. Use debug.py and dispcnt to query about the process. /var/log/gwd.log
natd This process manages the assignment of Port Address Translation (PAT) entries and stores them in shared memory, ensuring that the usage of the same NAT translations happens after the gwd restarts or upgrades. Use debug.py to query about the process. /var/log/natd.log
watchfrr The watchfrr daemon is part of the FRR open source routing library, and responsible for launching bgpd, re-launching it on failure, and running any other related utilities. The script /usr/sbin/frr.init available on Gateway restarts some daemons. N/A
bgpd The BGP Daemon (bgpd) is part of the FRR open source routing library and manages the BGP neighbors and routes. /var/log/bgpd.log
bfdd The BFD Daemon (bfdd) is part of the FRR open source routing library which detects route failures between two connected entities faster with low-overhead detection of failures. /var/log/bfdd.log

The Gateway uses the gwd1 as an interface and provides the ability for gwd to deliver packets to the kernel. For example, a packet destined for the local gateway host but received by gwd.