A lightweight, encrypted, WAN oriented, software defined network device.
This fixes a bug where the auto detection of public ipv6 addressing was failing on systems with link local ipv6 addresses assigned to them.
This also fixes a bug where you could potentially overwhelm a server by setting workers
to an arbitrarily high number.
quantum
now exposes a simple REST api to gather internal statistics from. The default configuration is to expose the api at http://127.0.0.1:1099/stats
, which will respond to GET
requests and return something like the following:
{
"TxStats": {
"droppedPackets": 0,
"packets": 3,
"droppedBytes": 0,
"bytes": 348,
"links": {
},
"queues": [
]
},
"RxStats": {
"droppedPackets": 0,
"packets": 3,
"droppedBytes": 0,
"bytes": 348,
"links": {
},
"queues": [
]
}
}
This is a big release of quantum
in that it brings it close to feature lock for version 1, that being said this includes the following changes:
This release brings full rolling upgrades to quantum
.
The process works by sending a SIGHUP
to the currently running binary, which causes it to spawn a new copy of it self using the new binary and configuration data. However there is one drawback, command line based arguments will remain the same, and only environment variables/configuration file entries will be updated during this process.
A myriad of bug fixes for the imminent version 1.0.0 release. This particular release introduces a small breaking change which will require a wipe of current networks.
This will most likely never be the case again.
Moved to the std log library provided from golang, and added a full README.md explaining basic functionality and usage. The wiki is going to be updated with advanced usage and example configurations.
quantum
now has decent unit test coverage, and will get more and more as time goes on.
Stats aggregation of both incoming and outgoing packets has been implemented. The system relies on a StatsSink
interface which exposes a SendData()
func which can be extended to support a multitude of output options. Currently only console output is enabled.
Allows configuration to be set by any combination of cli arguments, environment variables, and a configuration file.
The hierarchy of which is as follows:
DHCP is now persisted for each node for the length of the LeaseTime specified for each network.
This release brings basic DHCP support.
Features to come: Persistent leases through restarts