Introduction¶
By default, rVRRPd reads the /etc/rvrrpd.conf
configuration file.
This file holds all the configuration elements needed for the proper operation
of the daemon, the virtual routers, and their related functions.
At this time of writing, both TOML (default) and the JSON formats are supported for the main configuration file. The former is usually simpler to understand and to write, greatly reducing human errors. JSON based configurations however, are harder to write and to parse for some people, but may be more practical when used with automation tools or with an HTTP based Application Programming Interface (API).
If you don’t know which configuration file format to use, we recommend to stick with TOML, unless you want to use the Client API extensively.
The rVRRPd daemon runs one virtual-router
per interface, group
pair, which means you can configure the same VRRP groups id or
virtual-router
id across several physical interfaces. The daemon can
scale to hundreds if not thousands of active virtual-routers if the CPU
and memory resources permit.
The initial developer of rVRRPd has chosen to build the daemon entirely using the Rust programming language. Rust is a language, aimed primarily at security and speed. You get all the benefits of a modern object-oriented programming language such as Java or C++, without their respective performance penalty and inherent security risks.
We tried to keep unsafe
blocks as small as possible in order to provides
a clean interface to unsafe functions. However, we cannot removes all of them
as they are necessary to implement functions calls to the standard C library,
and to the various interfaces (such as IOCTLs) to the operating system kernel.
We hope that you will enjoy running rVRRPd and you would be able to solve your current network and high-availability challenges in less time and thus without the hassles commonly found in commercial solutions.
This project wouldn’t be live without the dedication of its developers, and the open source community. Any contributions are greatly welcome, and will help us developing new features and a more stable and secure implementation.
Developpers¶
- Nicolas Chabbey
- Keybase: @e3prom
- PGP Public Key Fingerprint:
DBD4 3BD8 81F3 C3E2 37E1 9E54 D7FF 004E 2E22 CF1C
Sponsorship¶
You can help us directly by donating to the project.
Every single penny will cover the development cost of rVRRPd, which is comprised of a lot of coffee, and the power bill of the bare-metal servers running the interoperability and testing labs.
You can donate by Paypal, or by using a crypto-currency listed below:
Crypto Currency | Wallet Address |
---|---|
Bitcoin (BTC) | 3Pz7PQk5crAABg2MsR6PVfUxGzq2MmPd2i |
Etherum (ETH) | 0x0686Dd4474dAA1181Fc3391035d22C8e0D2dA058 |
Software License¶
A standalone, multi-platform, fast and secure VRRPv2 daemon. Copyright (C) 2019-2023 Nicolas Chabbey This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program <LICENSE-GPLv3>. If not, see <https://www.gnu.org/licenses/>. Additional permission under GNU GPL version 3 section 7 If you modify this Program, or any covered work, by linking or combining it with OpenSSL (or a modified version of that library), containing parts covered by the terms of OpenSSL <LICENSE-OpenSSL>, the licensors of this Program grant you additional permission to convey the resulting work.