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

Future advanced networking improvements #815

Open
m-anish opened this issue May 24, 2018 · 5 comments
Open

Future advanced networking improvements #815

m-anish opened this issue May 24, 2018 · 5 comments

Comments

@m-anish
Copy link
Contributor

m-anish commented May 24, 2018

I'm creating this as a placeholder for possible future networking upgrades to the IIAB.

  1. In large IIAB setups, QoS is increasingly an issue - one user watching a video eats up all the available wifi bandwidth. Something like radius can limit this problem. Another option can be packet filtering/shaping as described in the cookbook here -- http://lartc.org/howto/lartc.cookbook.ultimate-tc.html

  2. There are many instances where upstream network connectivity is spotty (I don't need to give examples I think), there might be use cases where having more than one upstream connection can really improve conditions. Thankfully, multipath-tcp (http://multipath-tcp.org/) has been making some good strides on this front. To have a user experience that is transparent to the user and provides better and more reliable upstream connectivity, one would need to have multipath-tcp run on the IIAB (seems trivial to do on a recent debian/ubuntu machine), and have a multipath-tcp proxy hosted somewhere. The downside is that additional network bandwidth on the proxy/bridge end will be consumed -- but if some university/group is willing to support this, it can really improve things. We could additionally also choose for what kind of packets (data) to enable this for.

  3. Multipath-tcp could potentially be useful on the LAN side as well, if there is IIAB and multiple routers involved. It could smartly route traffic between user-user and user-server. However, at this point, I am not very sure if it offers any tangible improvements over layer 2/3 meshing protocols such as batman-adv et. al.

@holta
Copy link
Member

holta commented Jul 18, 2018

@m-anish hope it's Ok I'm moving this to IIAB 6.7 Milestone as our IIAB 6.6 final release is now approaching?

@holta holta modified the milestones: 6.6, 6.7 Jul 18, 2018
@holta holta modified the milestones: 6.7, 7.0 Dec 10, 2018
@m-anish
Copy link
Contributor Author

m-anish commented Feb 5, 2019

Cool. I hope to start experimenting on this soon.

@holta holta modified the milestones: 7.0, 7.1 May 4, 2019
@holta holta modified the milestones: 7.1, 7.2 Dec 21, 2019
@holta holta modified the milestones: 7.2, 8.0 Sep 10, 2020
@jvonau
Copy link
Contributor

jvonau commented Jul 21, 2021

Update: advanced options now in play
'second_gateway_found' function will exclude the associated interface from the available lan device string parsing by setting 'exclude_devices' which is also available to be used within local_vars.yml to tune excludes for a custom network layout.
'iiab_wired_lan_iface' is computed but available as an override in local_vars for use as slave under br0

Since I'm in a writing mood other options available but less known
'iiab_lan_enabled: False' disables creation of iiab manged dhcp network
'nobridge: True' turns off auto br0 creation.
'user_lan_iface: device' would trump and override iiab_lan_iface detection for iiab's dhcp clients.
'user_wan_iface' would trump and override iaib_wan_detection.

@tim-moody
Copy link
Contributor

I take it these have precedence over everything else, for example

gui_desired_network_role == "LanController" is overruled by iiab_lan_enabled: False or nobridge: True

@jvonau
Copy link
Contributor

jvonau commented Jul 22, 2021

I take it these have precedence over everything else, for example

gui_desired_network_role == "LanController" is overruled by iiab_lan_enabled: False or nobridge: True

'iiab_lan_enabled: False' is the big hammer to turn off all the "LAN" configuration, should effectively create an 'Appliance' like setup on the WAN side and ignore all other interfaces present.
'nobridge' implies just that, only one interface wired or wireless can be what would become the "LAN".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants