This specification covers the Network AutoMagic configuration GUI for Enterprise situations (i.e. more than one wired ethernet NIC, possibly no wireless interfaces) and Small/Medium Business (SMB) situations (e.g. conventional desktop or laptop)
Caveats: The following mockups are drafts meant to generate feedback. It only has placeholder graphics and does not represent a polished comprehensive UI specification. Validation and Error messaging not covered yet.
Table of Contents
1.0 Overall Framework
2.0 Network Status Tabbed Pane
2.1 Network Status - Enterprise Normal
2.2 Summary - SMB Normal
3.0 Environment Configuration Tabbed Pane
3.1 Environment Configuration - Enterprise
3.2 Environment Configuration - SMB
3.4 Environment - Configuration Dialog 4.0 Network Configuration Tabbed Pane4.1 Network Configuration - Graph View
4.1.1 Enterprise
4.1.2 Small/Medium Business
4.2 Network Configuration - List View
4.2.1 Enterprise
4.2.2 Small/Medium Business
4.3 Creating New IP Interfaces/Links
4.3.1 Adding a New Link/IP Interface Button Menu
4.3.5 New Tunnel
4.4 Editing Existing IP Interfaces/Links
4.4.1 Editing Ethernet
4.4.2 Editing Wireless
4.4.2.1 Wireless - General Tab4.4.2.1.1 Adding Wireless Network
4.4.2.1.2 Editing Wireless Network4.4.2.1.3 View Available Wireless Network
4.4.2.2 Wireless - IP Tab
4.4.6 Editing Tunnel
4.5 Removing Interfaces
4.6 IP Tab
4.6.1 IPv4
4.6.2 IPv6
5.0 VPN Tabbed Pane
1.0 Overall Framework
1.1 Standalone
Since there won't be a services configuration UI framework ready for NWAM integration, the Configuration dialog can be launched through the "Launch" menu on the Desktop. NWAM is providing configuration options that partially overlap with options already available through Gnome. According to the Gnome UI Spec , NWAM Configuration should probably live under Launch -> Administration menu (note: Network Configuration is already an item on this menu), though could possibly be placed under Launch -> Preferences menu (note: Network Proxy is already an item on this menu).
In this case, the window that appears will look like:

Elements
Help Button - brings up help for the particular tab that is showing
Cancel button- closes the configuration window. does not save changes
OK button - applies the changes and closes the window
Window decoration - close button - will close the window. If changes need to be applied, a dialog will ask if they want them applied or cancelled
2.0 Network Status Tabbed Pane
2.1 Network Status - Enterprise

Elements
Active Environment combobox - allow user to switch the active environment
Edit... button - Launches theSection 3.4 dialog of the active environment selected
Network Status listbox - shows the status of each enabled link/IP-interface, shows the Wi-Fi signal strength if applicable
Edit... button - enabled when user selects an item in the list. Launches the appropriate "Edit..." dialog (see section 4.4)
Connect button - enabled when user selects an item in the list that is not currently connected. Attempts to connect the network. Progress (with ability to cancel) and error dialogs appear as appropriate
Disconnect button - enabled when user selects an item in the list that is connected. Disconnects the network.
2.2 Network Status - SMB
Screenshot similar to Section 2.1
Elements
same as above, though expect the list to only have 2-3 entries in the Network Status listbox (e.g. net0, wnet0)
3.0 Environment Configuration Tabbed Pane
3.1 Environment Configuration- Enterprise

Elements
Environment Configuration Tabbed Pane - Environment equate to a group of settings for a particular environment and is meant to facilitate switching of environments without the hassle of manually editing settings to account for the new environment. "Default" and "No Network" will be default environments provided by the system, and the user will specify other environments
List of Environments & Activity Status - this list shows all environments. The user will be able to make an environment active by clicking a radio button in the "Active" column
Add... button - brings up a dialog (spec TBD) to create a new environment.
Remove button - removes the selected environment; only enabled if there is a selection
Edit... button - launches environment configuration dialog, as in 3.1 Environment Configuration
Duplicate button - only enabled if a row is selected. Will duplicate the contents of that Environment, and insert it into the table with the name "Copy of XXX" where XXX is the name of the environment duplicated
3.2 Environment Configuration - SMB
Screenshot similar to Section 3.1, though with possibly of more Environments, such as "Peetbucks", "Friends House", etc
Elements
same as above
3.4 Environment Configuration
When the user selects an environment to edit, the following modal dialog will come up. The categories include
- Proxies
- Name Services
- Routing
- Security
- Services
- Environment Activation
3.4.1 Proxies

Elements
Direct connection to the internet - no proxies
Use the following proxies - Uses the proxies specified by user
* Proxy & Port - accepts domain names and port #s
Use this proxy for all protocols - always enabled, by default not selected. If selected, then the proxy & port textfields are disabled
Automatic proxy configuration - point to a PAC file URL
3.4.2 Name Services

Elements
Name Service Profile combobox - contains the values "Automatic" and "New Name Service Profile..." by default. "Automatic" is the default value.
3.4.3 Routing
3.4.3.1 Routing - Routes

Elements
awaiting feedback
3.4.3.2 Routing - Routing Services
Awaiting routing services feedback
Elements
3.4.4 Security

Elements
File textfield - path to the IPFilter configuration file
Browse... button - brings up a filechooser which has the appropriate extension (e.g. ".conf") as the file type
IPSec- Awaiting feedback
3.4.5 Services

Elements
Default Network Services table - shows the services and a short service description. The services are listed in the Architectural Design Document Section 5.4.4 Dependency Rearrangement ; users select which services are on when the environment is active.
Default Enabled Services:
network/inetd:default
network/smtp:sendmail
network/iscsi_initiator:default
Default Disabled Services:
network/ipfilter:default
network/ssh:default
network/rarp:default
network/slp:default
network/shell:kshell
network/shell:default
network/ntp:default
network/dns/server:default
network/dns/client:default
network/ldap/client:default
Additional Network Services table - List of custom services that are hand picked by the user
Add... button - allow user to add their own services to the custom services table
Remove button - remove the selected custom service
3.4.6 Environment Activation

Note: Default first rule should show "IP address" and "is". "Wireless Network Name" and "doesn't contain" showing in the mockup to give a sense of how big the comboboxes must be to contain these longest strings.
Elements
Match all /Match any radiobuttons - determines if there should be AND or OR treatment of the rules
Rules area - scrollbars are added to the rules as necesary. One rule shows up empty as default. When there are multiple rules, only one rule can be selected at a time (vs multi-selection)
Contents of Rules comboboxes - constraints marked with "*" means that it is the default combobox item that appears
IP Address - 2 constraints; is* - a fully IPv4 or IPv6 address; in range - an IPv4 or IPv6 address with CIDR notation
Domain Name - constraints are all string based; is*, contains, begins with, ends with, is not, doesn't contain
Wireless Network Name - constraints are is*, contains, begins with, ends with, is not, doesn't contain
Wireless BSSID - constraint is is*
Add... button - Adds another line of rule to the rules area
Remove button - enabled when a rule in the rules area is selected. Removes the rule from the list
4.0 Network Configuration Tabbed Pane
4.1 Network Configuration - Graph View
4.1.1 Enterprise

Elements
Graph - Shows a graph view of the network configuration, including how links are related to each other. Badges will appear on links that have an error condition or are offline by the user's choice. More information about the link or IP interface would appear in a tooltip on mouse hover(ALL GRAPHICS ARE PLACEHOLDERS)
Add..., Remove, Edit... buttons - see 4.2.1
4.1.2 Small/Medium Business

Elements
Graph -Same as enterprise view, though some more information such as wireless network connected to and strength of the connection will also appear
4.2 Network Configuration - List View
4.2.1 Enterprise
Fig 4.2.1-1

Elements
List view -(not editable inline, excepting the Enabled column) Shows all the IP Interfaces that can be edited
Name - shows the vanity name of the link or IP interface
IP Address - IP address (or addresses) associated with the IP Interface; if an IP address is not applicable or available, the value will be "n/a"
Type - one of the following types (Link Aggregate, IPMP, VLAN, Tunnel, Ethernet, Wireless)
Enabled State - 4 states - Enabled, Disabled, Enabled (Conditionally), Disabled (Conditionally).; See Section 4.7 for the "Edit Conditions" tab on each of the IP-interfaces/link's New or Edit dialog. All Wi-Fi connections will be by default "Enabled (Conditionally) ", that is the conditions would be to only enable when all non-wireless connections are not connected.
Add... button - will launch a button menu. See section 4.3.1 . Not context sensitve.
Remove button - when an item in the list is selected this button is enabled, will remove that interface (if removal is allowed)
Edit... button - when an item in the list is selected this button is enabled, will launch a dialog of the appropriate type described in section 4.4
4.2.2 Small/Medium Business
Screenshot similar to Section 4.2.1, though with probably with only 2-3 items in the list, e.g. net0 and wnet0
Elements
Same elements as Network Configuration Enterprise above
4.3 Creating New IP Interfaces/Links
Clicking the "Add" button will bring up a dialog that will allow users to create a new IP interface/Link. The IP interfaces/Link types are currently limited to Tunnel, Ethernet and Wi-Fi with plans to add Link Aggregation, VLAN, and IPMP Group in a later phase.
Creating New IP Interfaces/Links will be a task that most likely will be used by enterprise system users.
4.3.1 Adding a New Link/IP Interface Button Menu

Elements
Add Button Menu - This menu will appear when clicking anywhere on the "Add" button. User chooses which type of Link/IP interface they want to create - Tunnel, Ethernet, or Wi-Fi
Note: In future releases when VLAN, IPMP Groups, and Link Aggregations are introduced, it might be more useful to the user to see more information on what exactly these are. Consider introducing a mini-wizard (2 panels) with a list of the available items to create, that are accompanied by a description. The second panel of the wizard would be the following dialogs with appropriate wizard buttons (Section 4.3.2 - Section 4.3.7)
4.3.5 New Tunnel
Three types of tunnels can be created - IPv4, IPv6 and 6to4.
4.3.5.1 IPv4 Tunnels

Elements
Name - vanity name for tunnel. Default name "tunN", where N is the next integer that is not currently used, starting at 0
Tunnel Source Address textfield - value validated to be IPv4 format; no default value
Tunnel Destination Address textfield - value validated to be IPv4 format; no default value
Encryption checkbox - turns on encryption (ESP)
Encryption combobox - list of encryption algorithms available on the system; "<Select algorithm>" is the default value
Encryption with Authentication checkbox - turns on encryption with authentication (ESP + authentication); will disable the Encryption combobox
Encryption with Authentication combobox - list of encryption algorithms available on the system;"<Select algorithm>" is the default value
Authentication checkbox -turns on encryption with authentication (AH)
Authentication combobox - list of authentication algorithms available on the system; "<Select algorithm>" is the default value
Maximum Packet Size (MTU) radio buttons - Standard is checked by default; Custom has the default value 1419
4.3.5.2 IPv6 Tunnels

Elements
Same as IPv4 Tunnel except for IPv6 addresses
4.3.5.3 6to4 Tunnels

Elements
Same as IPv4 tunnel, though there is only one tunnel source address that can must be an IPv4 address.
4.3.5.4 New Tunnel - IP tab
4.3.5.4.1 IP tab for IPv4 and IPv6 Tunnels
See Section 4.6 IP Tab , with exception that "Using DHCP" is not an option
4.3.5.4.2 IP tab for 6to4 Tunnels
Since 6to4 tunnel IP address must be IPv6, and the only options available are Automatic and Manual, there are a few changes

Elements
Configure IPv6 combobox - default is Automatically, only other choice is Manually. (See Section 4.6.2.2 for Manually contents)
IPv6 Address - shows address once assigned
Prefix - shows prefix once assigned
4.3.5.5 Enabled State tab
See Section 4.7
4.3.6 New Ethernet
4.3.6.1 Properties tab
User can add a definition for an Ethernet NIC that is not detected (e.g. not yet installed on the system)

Elements
Name textfield - Default name "netN", where N is the next integer that is not currently used, starting at 0
Device textfield -default is empty
Maximum Packet Size - Standard is selected byu default. Custom textfield has the default ?? populated
4.3.6.2 IP tab
See Section 4.6
4.3.6.3 Enabled State tab
See Section 4.7
4.3.7 New Wi-Fi
4.3.7.1 Properties tab
User can add a definition for a Wi-Fi NIC that is not detected (e.g. not yet installed on the system)

Elements
Name textfield - Default name "wnetN", where N is the next integer that is not currently used, starting at 0
Device textfield -default is empty
Speed - Automatic is default choice
4.3.7.2 IP tab
See Section 4.6
4.3.7.3 Enabled State tab
See Section 4.7
4.4 Editing Existing IP Interfaces/Links
By selecting an ip interface/link in the list presented on the 4.0 Configuration Tabbed Pane and pushing the "Edit" button will bring up the following modal dialogs.
4.4.1 Editing Ethernet
4.4.1.1 Editing Ethernet - Properties

Elements
Device - uneditable; name of the NIC
Maximum Packet Size radiobuttons - choice between Standard and Custom. Default value for Custom is ?? Awaiting feedback
4.4.1.2 Edit Ethernet - IP tab
4.4.1.3 Enabled State tab
See Section 4.7
4.4.2 Editing Wireless
4.4.2.1 Wireless - Wireless Networks Tab

Elements
Network list - lists the networks that the user has approved to add to the preference list; list shows the order of preference of wireless network to connect to; this list will be global to all wireless nics on a system
Add... button - launches dialog to add a network, which includes Network Name, Security Type, and User/Password as necessary; See Section 4.4.2.1.1
Remove button - enabled if a network name is selected. Will remove from this list
Edit... button - Will launch a dialog to edit the details of the network
Move up button - enabled if a network is selected and can be moved up in the list (i.e. not at the top of the list)
Move down button - enabled if a network is selected and can be moved down the list (i.e. not at the bottom of the list)
View Available Wireless Networks button - opens a modal dialog that shows (See Section 4.4.2..1.3)
4.4.2.1.1 Adding Wireless Network
4.4.2.1.1.1 Adding Wireless Network - No Security

Elements
Network Name textfield -user can enter name of network
Security combobox - Choice between [ None | WEP ]
More Options expander widget - expands the dialog to show the BSSID field
4.4.2.1.1.2 Adding Wireless Network - No Security with BSSID

Elements
same as above, except:
More Options expander widget - contracts dialog to hide the BSSID field
4.4.2.1.1.3 Adding Wireless Network - WEP

Elements
Same as 4.4.2.1.1.1 Adding Wireless Network - No Security, except security Set to WEP and the following:
Password textfield - user can enter password here. If not specified, the user will be prompted for a password when they try to connect to the network.
Confirm Password textfield - user enters the password again for a simple check if the password is the same. If the passwords aren't the same, an error dialog will appear after "OK" is pushed.
More Options expander widget- expands the dialog to show the BSSID field
4.4.2.1.1.4 Adding Wireless Network - WEP with BSSID

Elements
All elements covered in combination of 4.4.2.1.1.2 Adding Wireless Network - No Security with BSSID and 4.4.2.1.1.3 Adding Wireless Network - WEP
4.4.2.1.2 Editing Wireless Network
4.4.2.1.2.1 Editing Wireless Network - No Security

4.4.2.1.2.2 Editing Wireless Network - No Security with BSSID

4.4.2.1.2.3 Editing Wireless Network - WEP

4.4.2.1.2.4 Editing Wireless Network - WEP with BSSID

4.4.2.1.3 View Available Wireless Networks
This dialog appears when clicking the View Available Wireless Networks button in Section 4.4.2.1
Fig: Showing "linksys" wireless network selected

Elements
Wireless Networks list - lists the network name, security type, strength, icon if it is connected (only one can be connected at a time), and list if already in the preferred networks list.
Connect button - enabled when a network is selected and it is not already connected to. Will attempt to connect to the network, and security dialogs, e.g. WEP password, will appear as necessary. Upon successful connection, the wireless network will be automatically appended to the list of preferred networks.
Disconnect button - enabled when a network is selected and is connected.
Network Description area - Shows the description of the selected network. If nothing is selected, it will show "<Select a network to see the description>" in a dark gray color.
4.4.2.2 Wireless - IP Tab - IP tab
4.4.2.3 Editing Wireless - Properties

Elements
Device - uneditable; name of the NIC
Speed combobox - values are Automatic, ??; default is Automatic
4.4.2.4 IP Tab
See Section 4.6
4.4.2.5 Enabled State tab
See Section 4.7
4.4.6 Editing Tunnel
4.4.6.1 Edit IPv4 Tunnel
Same as Section 4.3.4.1 New IPv4 Tunnel, with "Edit" in place of "New" in dialog title
4.4.6.2 Edit IPv6 Tunnel
Same as Section 4.3.4.2 New IPv6 Tunnel with "Edit" in place of "New" in dialog title
4.4.6.3 Edit 6to4 Tunnel
Same as Section 4.3.4.3 New 6to4 Tunnel with "Edit" in place of "New" in dialog title
4.5 Removing Interfaces
Selecting an interface that can be removed from the 4.0 Connection Tabbed Pane will enable the remove button ("-").
Interfaces that CANNOT be removed include interfaces that represent physical interfaces, such as those mapping to links to device instances like bge0, ce0, ath0.
4.6 IP Tab
Launched by "Edit" button from Configuration panels and Creating New IP Interfaces/Links
4.6.1 IPv4
The IP tab shows in the New and Edit link dialogs (e.g. New Link Aggregation, Edit VLAN, New Tunnel)
There are 4 options for IPv4 assignment:
- Using DHCP (default)
- Manually
- Multiple addresses
- Do not assign IP address (only shows for certain links - Link Aggregation and Ethernet)
4.6.1.1 IPv4 - Using DHCP

Elements
Options... button - launches Sec 4.6.1.1.1 DHCP Options dialog
IPv4 Address: - shows currently assigned IPv4 address; not editable, but is selectable
Subnet:- shows currently assigned subnet; not editable, but is selectable
Configure IPv6 button - launches the Configure IPv6 dialog
4.6.1.1.1 DHCP Options Dialog

Elements
DHCP Timeout (seconds) - timeout value; default is 60
Use link-local address radiobutton- default; assigns to a link-local address
Use static address radiobutton - user must assign a valid IP address value if this option is selected
4.6.1.2 IPv4 - Manually

Elements
Options... button - disabled WebHome
IPv4 Address: - validation of IPv4 format address occurs on "OK"
Subnet:-validation of subnet format address occurs on "OK"
Configure IPv6 button - launches the Configure IPv6 dialog
4.6.1.3 IPv4 - Multiple IP Addresses

Elements
Options button- disabled
IP address table - lists all IP addresses, name and subnet
Add... button - launches Section 4.6.1.3.1 New IPv4 Address
Remove button - only enabled when a row in the table is selected; removes the item from the table
Configure IPv6 button - launches the Configure IPv6 dialog
4.6.1.3.1 New IPv4 Address

Elements
Host Name textfield - host name; if host name can be resolved to an IP address and subnet, fill in the remaining fields. If there are already values in the other fields, do not alter them.
Rules for host name:
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}
Or, in English :-)
- first character must be alpha-numeric
- following characters can be alpha-numeric or "-"
- length must be between 1 and 63 inclusive
Then for host names, you start with the node name rules: - one or more host labels
- if more than one, each is separated by "."
- total length must be between 1 and 255 inclusive
An example is "opal.eng.sun.com", where "opal" is the first label. Note that
node names are often the first label of host names, but they follow the same
rules as host names; there is a common (but false) perception that node names
are not allowed to have a ".".
IPv4 Address: - validation of IPv4 format address occurs on "OK"; if IP address can be resolved a host name, fill in the host name fields. If there is already a value for Host Name, do not alter it
Subnet:-validation of subnet format address occurs on "OK"
4.6.1.4 IPv4 - Do Not Assign IP Address

Elements
Options button- disabled
Configure IPv6 button - launches the Configure IPv6 dialog
4.6.2 IPv6 Dialog
There are 4 choices to assign IPv6
- Automatically (default)
- Manually
- Advanced
- Do not assign IP address
4.6.2.1 IPv6 - Automatically

Elements
IPv6 Address - label (textfield only shows for Manually)
Prefix - label (textfield only shows for Manually)
4.6.2.2 IPv6 - Manual

Elements
IPv6 Address - validation of IPv6 format address occurs on "OK"
Prefix -validation of IPv6 format address occurs on "OK"
4.6.2.3 IPv6 - Advanced

Elements
Accept IP address offered by DHCP - selected by default
Accept prefix offered by the router - selected by default
IP address table - lists all IP addresses, name and subnet
Add... button - launches Section 4.6.2.3.1 New IPv4 Address
Remove button - only enabled when a row in the table is selected; removes the item from the table
4.6.2.3.1 New IPv6 Address dialog

Elements
Host Name textfield - host name; if host name can be resolved to an IP address and subnet, fill in the remaining fields. If there are already values in the other fields, do not alter them. See rules for host name in Section 4.6.1.3.1 New IPv4 Address
IPv6 Address: - validation of IPv6 format address occurs on "OK"; if IP address can be resolved a host name, fill in the host name fields. If there is already a value for Host Name, do not alter it
Prefix :-validation of prefix occurs on "OK"
IPv6 - None

4.7 Enabled State tab
This tab appears on all the New or Edit dialogs (Ethernet, Tunnel, Wi-Fi). The contents are the same, but the default state differs.

Elements
Status text- shows the current status of the IP-interface/link. "<name> is currently XXX", where XXX could be one of four messages - enabled, disabled, enabled based on conditions, disabled based on conditions.
Enable radiobutton -default for all IP-interface/links except Wi-Fi; if selected, will enable after OK
Disable radiobutton - if selected, will disable after OK
Specify Conditions radiobutton - if selected, will conditionally enable/disable upon OK
Disable/Enable XXX combobox - two choices - Disable YYY or Enable YYY, where YYY is the name of the IP-interface/link
List of IP-interfaces/Links - lists all others besides the current IP-interface/link. For Wi-Fi, all wired links will be selected and the combobox set to Disable.
5.0 VPN Tabbed Pane

Elements
Network Aware Application table - name??; contains list of applications with status icons.
Add - button that brings up the dialog in Section 5.1
Remove - button, enabled when an item is selected. Removes the application from the list
5.1 Add VPN dialog
Fig 5.1-1

Elements
Name textfield - user provides their name for the app; has an example name that clears out once it gets focus.
Start Command textfield - user provides the CLI for launching the app including options; has an example name that clears out once it gets focus. This command used when user tries to connect from the Status tab.
Stop Command textfield - user provides the CLI for killing the app including options; has an example name that clears out once it gets focus. This command used when user tries to disconnect from the Status tab.
More Options turner - by default closed; if open will show Fig 5.1-2 with a Process textfield. NWAM will monitor this process to tell if the application is running or not Exact presentation of turner vs More/Fewer Options button dependent on if the turner is standard
Fig 5.1-2

| Revision | Description | Author | Date |
|---|---|---|---|
| 0.6 | Various button clean up (adding ellipses, using correct buttons), Clean up New/Add link/IP interface dialogs; Add View Available Wireless Network dialog, New design for New/Edit Tunnel's IP tab for 6to4 tunnels, VPN tab loses buttons to start/stop (this functionality available through the Network Status tab); Change "Network Configuration" tab's "Enabled" state, and added corresponding "Enabled State" tabs to the Add/Edit IP-interface/link dialogs; Remove all non-simple ip-interfaces (i.e. IPMP, VLAN, Link Aggregation) | Ann Sunhachawee | 2007 Mar 16 |
| 0.5 | New tab names: Network Status, Network Configuration, Environment Configuration; Introduce Conditionally Enabled state to "Enabled" column; Introduce VPN tab | Ann Sunhachawee | 2007 Feb 14 |
| 0.4 | Integrate feedback; Add standalone section; Add environment configuration dialogs; Changed "Connection Options" dialogs; Add New Tunnel dialogs; Move IP dialog to be part of the New/Edit <Link> Dialogs | Ann Sunhachawee | 2007 Jan 5 |
| 0.3 | Integrate feedback; Add IPv6 dialogs; Add Environment "Auto Activation" dialog | Ann Sunhachawee | 2006 Oct 20 |
| 0.2 | Integrated feedback & introduced Small Medium Business mockups | Ann Sunhachawee | 2006 Oct 3 |
| 0.1 | Screen mockups | Ann Sunhachawee | 2006 Sep 14 |