Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roaming support, general real-time network measurements #330

Open
3 tasks
goodboy opened this issue Jun 5, 2022 · 1 comment
Open
3 tasks

Roaming support, general real-time network measurements #330

goodboy opened this issue Jun 5, 2022 · 1 comment
Labels
infra deployment architectures, recipes and automation integration external stack and/or lib augmentations

Comments

@goodboy
Copy link
Contributor

goodboy commented Jun 5, 2022

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 an
    event 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 to
reconnect the gateway with a faster timeout then the default 😂.

Some brief web searching says start digging in these on linux:


RE: connectivity metrics

A set of trio native network probe tools would be most ideal to
be 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...

@goodboy goodboy added integration external stack and/or lib augmentations infra deployment architectures, recipes and automation labels Jun 5, 2022
@goodboy
Copy link
Contributor Author

goodboy commented Jun 6, 2022

found a small script that seems to work with iproute2 pretty well, slightly modified from this one:

'''
Simplest example to monitor Netlink events with a Python script.
'''

from pyroute2 import IPRSocket
from pprint import pprint

ip = IPRSocket()
ip.bind()

while True:
    pprint(ip.get())

ip.close()

@goodboy goodboy changed the title ib roaming support Roaming support, general real-time network measurements Aug 10, 2023
goodboy added a commit that referenced this issue Aug 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infra deployment architectures, recipes and automation integration external stack and/or lib augmentations
Projects
None yet
Development

No branches or pull requests

1 participant