Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • redox redox
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 226
    • Issues 226
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 14
    • Merge requests 14
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • redox-os
  • redoxredox
  • Issues
  • #966
Closed
Open
Created Jun 17, 2017 by Jeremy Soller@jackpot51Owner

Rethink the network interfaces (network scheme, drivers)

Created by: real-unoriginal

Currently (it seems) that redox has two nic drivers, each of which when ran mounts the one nic directly to the network scheme. The additional networking daemons that use the network scheme directly or indirectly also depend on the fact that there is only one interface (so there is no routing table for example).

This design makes using more than 1 physical nic at the same time impossible. Also since many networking protocols (eg: PPP(oE), WIREGUARD) that require setting up virtual network interfaces (that than will be used to route appropriate IP packets through), currently they cannot be implemented.

In order to fix this we would need to do something similar to the disk schemes, that mounts multiple disks as disk:/1. disk:/2 etc. The following questions arise:

  • How to name physical interfaces (traditional eth{x}, something like systemd does: "enp0s3" or the same as disk names disks /1 /2 /3 ...) ?
  • Where do virtual interfaces are connected to? Do we mount them under the network scheme too or do we want to make a separete scheme for phisical nics, and virtual ones?
  • Who maintains the routing table (ipd?)? When creating a new virtual interface that has an ip address and can reach a set of ip adresses how do we signal this to the daemon that maintains the routing table?
Assignee
Assign to
Time tracking