Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
redox
redox
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 211
    • Issues 211
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 9
    • Merge Requests 9
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • redox-os
  • redoxredox
  • Issues
  • #966

Closed
Open
Opened 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
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: redox-os/redox#966