Roaming support, general real-time network measurements #330
Labels
infra
deployment architectures, recipes and automation
integration
external stack and/or lib augmentations
This issue demands a networking tool-set driven by 2 sets of
requirements:
as per
ib
backend work in Ib dedicated data client #321, we need anevent oriented task that will request a data re-connection
whenever the network status changes, usually most importantly
when the user changes networks aka they are roaming.
we need a set of network diagnostics tools which can generate
real-time measurements that can be recorded alongside market
charts to display connectivity performance per-provider.
Breakdown per bullet:
RE: Roaming
More or less the ideal UX is when a user reconnects a live running
pikerd
session, we are able to detect this and fire requests toreconnect the gateway with a faster timeout then the default 😂.
Some brief web searching says start digging in these on linux:
ip rule
stuff we need as per Roll apikerized
ib-gw
container, probably onnixos
#329nftables
example: https://github.com/svinota/pyroute2/blob/master/examples/nftables.pyNetlink
events: https://github.com/svinota/pyroute2/blob/master/examples/iproute/ip_monitor.pyRE: connectivity metrics
A set of
trio
native network probe tools would be most ideal tobe able to (dynamically) spawn tasks which record measurements
using the same subsystems as FSP and data feeds. Likely we'll have
to compromise to start with some kinda
asyncio
lib wrapping...mtr
is the classic tool with most of the functionality forall this:
https://github.com/traviscross/mtr
asyncio
based wrapper py lib:https://github.com/matt-kimball/mtr-packet-python
there is the https://www.ip2location.com/ service which has
free dbs for certain sets of geo data:
https://github.com/chrislim2888/IP2Location-Python
The text was updated successfully, but these errors were encountered: