From Fedora Project Wiki

NetworkManager commandline tools

Summary

Control NetworkManager without a GUI

Owner

Current status

  • Targeted release: Fedora 12
  • Last updated: 2009-05-14
  • Percentage of completion: 0%

Detailed Description

There is no reason that NetworkManager can not be controllable via commandline tools. This will be very useful to interact with NetworkManager from initscripts, and on servers. To make the commandline tools usable in these situations they should be lightweight and have a small footprint. Therefore, tools written in C will be preferable over Python scripts.

There are two use cases:

  • Server: In this case, the tool should talk directly to NetworkManager and control only system-wide connections. Basic functionality to cover: ifup/ifdown, list connections, find out details about connections (connection type, speed, uptime, etc)
  • Session: For this case, we might want the tool to talk to nm-applet to find user connections. It can still talk directly to NetworkManager for manipulating these connections. This may then cause the applet to pop up keyring dialogs when secrets are needed. Giving the tool direct access to user configuration data in gconf and secrets in gnome-keyring will be much more complicated and is probably out of scope for the first version.

Benefit to Fedora

NetworkManager becomes more suitable on servers, bringing Fedora closer to a consolidated network configuration. Power users will have one less reason to complain about the 'dumbing down' of Linux...

Scope

NetworkManager and nm-applet already provide comprehensive dbus apis. The remaining task is simply to write a tool that offers commandline access to this API in a way that makes sense. An important side-effect of this should be to produce documentation for the NetworkManager apis.

How To Test

Use TOOLNAME to control various aspects of NetworkManager functionality. List connections, find out detailed information about connections, bring connections up and down.

This section needs to be fleshed out further in parallel to writing the TOOLNAME(1) man page.

User Experience

Dependencies

None.

Contingency Plan

Fall back on the existing cnetwork-manager package for commandline control of NetworkManager.

Documentation

None yet.

Release Notes

Fedora 12 introduces TOOLNAME, which is a tool that allows to control NetworkManager from the commandline. See the TOOLNAME(1) man page for more information.

Comments and Discussion