Log-in |

What's New

  • Brussels II Presentation
     We have uploaded a presentation which provides a quick overview of the project, various subcommands in /sbin/ipadm(1m) and some design questions that will be addressed as part of the project. Presentation is available here 
  • Brussels II Design document
     Latest version (v1.7) of the design document is now available here.
  • ifconfig(1m)/ipadm(1m) feature mapping
     At here you can find a table, which provides one-to-one feature mapping between ifconfig(1m) and ipadm(1m)
  • Access to 'ipadm-gate'
     To access the mercurial repository of 'ipadm' development gate, click here. If you are interested in contributing please send us an email brussels-dev@opensolaris.org

Project Overview

The objective of the Brussels Project is to provide a standard set of Interfaces for network configuration. The first phase of this project provided interfaces for configuring all GLDv3 network drivers via dladm.

 As more drivers are plugging into the framework provided by Brussels I, we are also evaluating a similar improved configuration method for TCP/IP tunables - the problem area and proposed solution for Brussels II (work in progress) are described here. As with Phase I, the primary motivation for this project is the well-known weakness of /sbin/ndd in providing persistent network configuration of TCP/IP parameters. In addition, Brussels II will introduce a libipadm library that will provide a set of Stable Interfaces for managing IP interfaces.

We welcome comments and feedback - please join the brussels-dev list to send us your input.

Overview of Brussels II

In the first phase of this project, we will implement a utility /sbin/ipadm(1m) and a dynamic shared object /lib/libipadm.so.1

The utility 'ipadm(1M)' will allow system administrators to persistently set TCP/IP tunables so that the settings will be reactivated on subsequent reboot. This utility overcomes well-known inadequacies of ndd(1M), which has been the constant complaint from SE's in the field and System administrators. The initial delivery would include:

  • link plumb/unplumb
  • IP address management (add/delete/show)
  • tunable parameters setting and retrieval (set/get)

The library 'libipadm.so.1' will lay the foundation for an extensible networking library and will provide stable interfaces which can be used by multiple configuration tools. Today the frequent problem encountered by applications trying to plug into the networking code is lack of any 'interfaces'. A classic example of this is IP interface plumbing. The code which implements this feature is part of ifconfig(1M) alone and all the applications which need it are either forced to copy/paste the code or spawn (i.e., fork(2) and exec(2)) a copy of ifconfig. The former approach is fragile and will create a nightmare in terms of maintainability and the latter approach is inefficient.

Key Brussels II Milestones


Overview of Brussels I

In the first Phase of this project, we implemented extensions to the GLDv3 framework and associated /sbin/dladm utility to provide a much-needed, and vastly improved, Stable Interface for datalink drivers that had previously been forced to use ndd to dynamically modify parameters.

In addition to providing a frame-work for the configuration of datalink driver parameters, Brussels I brought with it

  • persistent property configuration, so that parameter settings are restored when the driver is restarted (a feature notably lacking with ndd(1m))
  • provision for dynamic tuning of many parameters like mtu (which has tradtionally beem tuned with driver.conf(4), with modifications requiring destructive resets like reboot)
  • a uniform name-space for parameters (no more dilemmas like "link\_duplex or link\_mode?", "half\_duplex == 0, or half\_duplex == 1"?)

 Here are some reference documents for Brussels I

We have also put together an interactive prototype of our proposed GUI  that will eventually be integrated into NWAM - please try it out and send us your input!

Key Brussels I Milestones

  • PSARC 2007/396 ("Removal of duplicate BGE/NGE kstats ") (Raymond Li putback to onnv71)
  • PSARC 2007/429 framework component commitment review completed Oct 17 2007
  • Brussels interactive GUI prototype available (Raoul Carag/Jenya Gestrin Nov 2007)
  • PSARC 2007/429 putback to onnv_83 Jan 24 2008
  • PSARC 2008/171 ("Brussels NDD compatibility") fast-track approved March 2008
  • PSARC 2008/175 ("Brussels Framework enhancements") fast-track approved March 2008
  • nge driver Brussels putback to onnv_86 (Miles Xu/Jason King March 18 2008)
  • e1000g driver Brussels putback to onnv_88 (Chenlu Chen/Ted You April 10 2008)
  • nxge driver Brussels putback to onnv_88 (May Lin Apr 14 2008)
  • PSARC 2008/171 putback to onnv_90
  • Brussels putback to onnv_93
last modified by admin on 2009/10/26 12:12
Collectives
Project


© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.