From Fedora Project Wiki
Line 12: Line 12:


Support temporary connections. Temporary connections could be made permanent (saved to disk), modified or reset to the permanent
Support temporary connections. Temporary connections could be made permanent (saved to disk), modified or reset to the permanent
version (rollback).
version (rollback). Access to write to both temporary and permanent connections and for copying infromation in both directions.


=== IP configuration ===
=== IP configuration ===

Revision as of 16:07, 1 October 2012

Build & distributions

I would like to remove --with-distro. Currently only initscripts are need it and I would like to remove them and leave them up to distributions (if we can't have one mostly working initscript).

Interfaces

Ethernet bridges and bonds work in 'pavlix/next'. They should work in any combination with VLAN, which I didn't test (dcbw/danw might know more).

Connections

Support temporary connections. Temporary connections could be made permanent (saved to disk), modified or reset to the permanent version (rollback). Access to write to both temporary and permanent connections and for copying infromation in both directions.

IP configuration

Manual configuration works but gateway still can't be specified separately.

IPv6 router advertisements are handled by the kernel. SLAAC and RA DNS options work. D HCPv6 works. The 'DHCP Only' method is both broken and useless, should be removed. Methods should be more consistent between IPv4 and IPv6.

Platform interaction

I want to have platform interaction in one place (NMPlatform class in 'pavlix/next'). Other module should not depend on NMNetlinkMonitor

Configuration simplification

Currently a configuration file for Ethernet looks like this:

[connection]
id=Ethernet
uuid=d880f3bb-8c51-4ca4-aef7-1954e022820f
type=802-3-ethernet

[802-3-ethernet]
mac-address=52:54:00:eb:e9:fb

I would like it to look more like this:

[connection]
type=ethernet

[ethernet]
mac-address=52:54:00:eb:e9:fb

CLI

I would like to have a reasonable CLI covering almost all of NetworkManager possibilities and providing useful output.

Modularization

Some features of NetworkManager can be disabled at build time, some can be disabled by not including a plugin and some can be disabled at runtime. By carefully choosing which features should fall into which category, it is possible to make basic NetworkManager more compact and thus more suitable for embedded use or even initramfs use.

Development

NetworkManager should be able to replace itself with the --replace command-line option and use a configuration directory specified by --config-dir option.

Regression testing

I want to have a fake NMPlatform and fake DHCP plugin implementations that would be used for complex (non-integration) tests of NetworkManager's behavior. I would like to test the following things for the beginning:

  • Ethernet
  • Manual IPv4 and IPv6
  • Automatic IPv4 and IPv6
  • Bridges, bonds and VLANs
  • Connection assumption

The tests would be fully automatic and would not depend on virtualization or root access. They would prevent regressions in critical parts of NetworkManager. The basic set testsuite would also be very quick.

Keyfile documentation

I already had to set up lots of testing configurations. It's probably time to start writing manpages.