* Add new file 'network_traffic_filter.c/.h"
* Add feature to drop or accept specific packet transmit over edge network interface by rules.
* fix CMakeLists.txt typo
* Update Rule String Format
* replace -F (filter) with -R (rule) for traffic restrictions.
* Update edge help (-h) message. Update documents.
* Pass Build on CircleCI and local Windows 10 VS2019
* Fix cmake build failed because of sn_selection
* fix operate void* cause vs2016 build failed
* Fix typo to pass build on windows.
* add inttypes.h for n2n_typedefs.h to pass windows build
* modify headers to pass build on windows.
* Add new file 'network_traffic_filter.c/.h"
* Add feature to drop or accept specific packet transmit over edge network interface by rules.
* fix CMakeLists.txt typo
* Update Rule String Format
* replace -F (filter) with -R (rule) for traffic restrictions.
* Update edge help (-h) message. Update documents.
* add cmake export commands
* add extra edge description (hint) field
* add peer2peer description registry
* fixed bug: peer2peer not pass the dev_desc filed
* update -I option in the helper text
Co-authored-by: Longtao Wang <longtao.wang@cortexlabs.ai>
1. Edge can view the IP address and socket information of the connected tap adapter through the management console (127.0.0.1:5644);
2. Repair two memory leaks;
3. Fix several code errors and redundant logic;
1. Automatically assign IP addresses to the edge through the DHCP function that comes with sn, the default IP address pool is 172.17.12.0/24.
2. The -d parameter is added to sn, and the IP address pool of the embedded DHCP can be customized.
3. Now edge does not need to add -a and -s parameters to automatically obtain the IP address.
4. The IP automatically obtained by the cross-community edge can be the same, because the communities are isolated from each other and do not interfere with each other.
5. On the management side of sn (127.0.0.1:5645), you can now view the IP address of the tutap adapter of each edge.
6. Fix many bugs that have a certain chance of causing memory leaks.
7. Note: This version is not fully compatible with the previous version.
It seems the previous `route.net_addr == INADDR_NONE` check was incorrect and was probably a result of copy-pasting the previous if statement and not changing the condition.
The new -n option can now be used to setup routes directly from the edge command line.
It supports both network routes and default gateway routes. Here is an example:
- "-n 192.168.100.0/24:192.168.99.1" routes the 192.168.100.0/24 network traffic via 192.168.99.1
- "-n 0.0.0.0/0:192.168.99.1" routes all the host traffic via 192.168.99.1