Plug-ins are embedded in Linux shared code modules (libraries). A plug-in module can define several plug-ins. A module is identified by a filename (with a .so extension), an internal name, a version, a defined entry point, and a list of plug-ins. Modules also define one or more UI objects common to all plug-ins in the module.
Plug-ins are enumerated by the connection manager server at boot time. The server loads them in an arbitrary order and asks them to register by calling the plug-in entry point. Each plug-in can delay its registration to resolve dependencies problems. If several modules have the same internal name, the Connection Manager uses the one with the highest version. This way, updated plug-in modules in RAM can override ROM-based ones.
A Connection Manager plug-in is responsible for one or more communication devices or protocols. In short, a plug-in is defined by:
- A system-unique name (e.g. "BT"), and an internationalized friendly name (e.g. "Bluetooth")
- A connection callback that deals with low-level Linux routines to start services or protocols, or open devices
- A control callback, for disconnecting, dynamic availability, priority, intercepting profile changes, etc.
- One or more configuration user interfaces
Once registered, a plug-in has an associated record in the Connection Database and a unique database ID.
Plug-In Parameters ^TOP^
The following sections describe the parameters for each included plug-in. Also see "Plug-In Profile Samples."
IPIF Plug-in [IPIF]
The IPIF (IP Interface) plug-in resides in the layer below NetOut. The IPIF plug-in manages the configuration of IP networking interfaces and other associated configuration information such as network routes, domain name resolver configuration entries, etc. It also controls DHCP when automatic configuration is enabled.
The IPIF plug-in has a user interface that is accessed via the TCP/IP tab in the Connection application for Internet profiles. This tab allows the user to set certain configuration parameters such as automatic (IP address is supplied by DHCP or zero-conf) or manual mode (IP address is supplied by the user), DNS servers, and DNS suffixes.
Table 2.1 IPIF plug-in parameters Ā
Name
|
Type
|
UI Access
|
Description
|
DDev
|
string
|
|
Name of the interface to configure. REQUIRED.
|
LoIP
|
string
|
Yes
|
Local IP address, in dotted notation. This parameter can be supplied by the lower plug-in. If this parameter is missing, automatic mode is assumed and the DHCP client is started for this connection. If no DHCP server is found, a zero-conf address is used. For Point-To-Point connections, the address can be provided by the remote server. Always exported.
|
ReIP
|
string
|
|
Remote IP address for Point-To-Point links, in dotted notation. Provided by the lower plug-in. If this parameter is present a default route is added, using this address as a default gateway. Mutually exclusive with GWys.
|
GWys
|
string
|
Yes
|
List of default gateways, in dotted notation separated by spaces.
|
NetM
|
string
|
Yes
|
Subnet mask, in dotted notation. In automatic mode it is computed automatically. Not relevant when ReIP is present.
|
Brod
|
string
|
Yes
|
Broadcast address, in dotted notation. In automatic mode, it is computed automatically.
|
DNSs
|
string
|
Yes
|
List of DNS servers, in dotted notation separated by spaces. This parameter can be supplied by the lower plugin.
|
Doms
|
string
|
Yes
|
List of DNS domain suffixes separated by spaces.
|
Mtic
|
unsigned integer
|
|
Interface metric (defaults to 1 if not available). A metric is a value that is assigned to an IP route for a particular network interface that identifies the cost that is associated with using that route.
|
_MTU
|
unsigned integer
|
|
Maximum transmit unit in bytes. Defaults to the value provided by the lower-level plug-ins.
|
DHcl
|
string
|
|
A client ID to be past to the DHCP server when getting an IP address in automatic mode.
|
DHhn
|
string
|
|
An host name to be past to the DHCP server when getting an IP address in automatic mode.
|
PNam
|
string
|
Yes
|
If the user wants to name the following set of proxy parameters.
|
PAdt
|
integer
|
Yes
|
List of different proxy address format: standard (DNS compliant), IPv4 or IPv6.
|
PAdr
|
string
|
Yes
|
Proxy address. Its value is checked following the selected proxy address format.
|
PPrt
|
integer
|
Yes
|
Proxy port. The value must be included between 0 and 65535.
|
PAut
|
integer
|
Yes
|
Proxy authentication type: HTTP_BASIC, HTTP_DIGEST or WTLS_SS.
|
PAId
|
string
|
Yes
|
Proxy authentication user ID.
|
PAPw
|
string
|
Yes
|
Proxy authentication password.
|
IPIF IN Plug-in [IPIFIN]
The IPIF IN plug-in manages the configuration of incoming connections. As it is designed for the moment its main goal is to provide to the client information about his IP configuration such as an IPV4 address, the default gateway to use or the DNS IP address. In fact it provides to the client all information given by a DHCP server. Thus, its main job is to enable a DHCP server for the network interface which requests it.
Table 2.2 IPIF IN plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
DDev
|
string
|
|
Name of the interface which allows incoming connections. REQUIRED.
|
DHCP
|
unsigned integer
|
|
If true (default value) DHCP server is enabled. However the possibility to use ZeroConf (zcip) is kept by setting this parameter to 0. In this case, this plug-in only assigns an IP address to the DDev interface using ZeroConf protocol. Thus, each newly connecting devices must use ZeroConf to retrieve an IP address
|
Ethernet plug-in [Ethernet]
The Ethernet plug-in manages Ethernet parameters.
Table 2.3 Ethernet plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
DDev
|
string
|
|
Name of the Ethernet interface to use. Always exported.
|
Dlay
|
unsigned integer
|
|
Delay in seconds at connection time.
|
XOpt
|
string
|
|
Extra options to iproute2 for advanced configuration. Added after "ip link set interface". e.g. "arp on multicast off".
|
USB plug-in [Ethernet]
There is no real USB plug-in to provide USBNet connections. Use the Ethernet plug-in and set the device parameter (DDev) to usb0.
PPP plug-in [PPP]
The PPP plug-in configures PPP connections using pppd. The PPP plug-in has a user interface that is accessed via the PPP tab in the Connection application for Internet profiles. This tab allows the user to set certain configuration parameters such as user name, password, timeout, Maximum Receive Unit (MRU) size, authentication type, etc.
Table 2.4 PPP plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
DDev
|
string
|
|
Name of the PPP interface created. Always exported.
|
LoIP
|
string
|
|
Local IP address, in dotted notation. Exported when the local IP address is provided by the remote server.
|
ReIP
|
string
|
|
Remote IP address, in dotted notation. Exported when the remote IP address is provided by the remote server.
|
DNSs
|
string
|
|
List of DNS servers, in dotted notation separated by spaces. Exported when the DNS servers are provided by the remote server.
|
User
|
string
|
Yes
|
Username for authentication with the peer.
|
Pass
|
unsigned integer
|
Yes
|
ID of the password for authentication with the host.
|
ConT
|
unsigned integer
|
Yes
|
Timeout in milliseconds when connecting. The default is 10 seconds (10000).
|
IdlT
|
unsigned integer
|
Yes
|
Timeout in seconds before declaring the link idle and disconnecting.
|
XOpt
|
string
|
|
Extra options to pppd for advanced configuration. e.g. "mru 296 asyncmap 000A0000".
|
LogF
|
string
|
|
Filename of the login script to use at connection time.
|
NDPA
|
integer
|
|
1 to remove default pppd arguments or 0 to keep them (default).
|
Serial plug-in [Serial]
The Serial plug-in configures serial devices using POSIX termios.
Table 2.5 Serial plug-in parameters.
Name
|
Type
|
UI Access
|
Description
|
DevN
|
string
|
|
The name of the serial device (ttySx). Must be an available serial port on the device. REQUIRED.
|
Baud
|
unsigned integer
|
|
The serial line speed. The value must be in {300,600,1200,2400,4800,9600(default),19200,38400,57600,115200}.
|
Bits
|
unsigned integer
|
|
The serial line character size. The value must be in {8(default),7,6,5}.
|
Stop
|
unsigned integer
|
|
The number of stop bits. The value must be in {2,1(default)}.
|
Prty
|
unsigned integer
|
|
The number of parity bits. The value must be in {2,1,0(default)}.
|
FCtl
|
string
|
|
The flux control. Possible values are 'none' (default), 'soft' (for XON/XOFF), 'hard' (for RTS/CTS), 'both'.
|
Bluetooth plug-in [Bluetooth]
The Bluetooth plug-in enables an IP connection thanks to BlueZ PAN stack. The Bluetooth plug-in has a user interface that is accessed via the Bluetooth form in the Connection application for Internet profiles. This form allows the user to set important connection parameters.
The NetOut profile describes cases where the Bluetooth device is a slave PANU.
Table 2.6 Bluetooth plug-in parameters for outgoing connections (NetOut)
Name
|
Type
|
UI Access
|
Description
|
DDev
|
string
|
|
The interface name (bnepX) created by the Bluetooth connection. Always exported.
|
Addr
|
string
|
Yes
|
The Bluetooth address of the remote device to connect. If no address is specified, then do a search and connect to the selected device
|
Topo
|
unsigned integer
|
Yes
|
The topology of the Bluetooth network that the user try to access. Possible values are combinations of PANU=1, GN=2 and NAP=4. REQUIRED.
|
_Sec
|
unsigned integer
|
Yes
|
Security options for Bluetooth communications None=0, Authenticate=1, Encrypt=2, Secure=3.
|
Hci
|
unsigned integer
|
|
Used when the device has more than one Bluetooth device. In that case this parameter is used to define the Bluetooth device to use for the connection.
|
The NetIn profile describes cases where the Bluetooth device behaves as a master (when listening to incoming connections).
Table 2.7 Bluetooth plug-in parameters for incoming connections (NetIn) [BluetoothIn]
Name
|
Type
|
UI Access
|
Description
|
DDev
|
string
|
|
The interface name created by the Bluetooth connection. Always exported.
|
Topo
|
unsigned integer
|
|
The topology of the Bluetooth network that the user try to create. Possible values are combinations of PANU=1, GN=2 and NAP=4.
|
Hci
|
unsigned integer
|
|
Used when the device has more than one Bluetooth device. In that case this parameter is used to define the Bluetooth device to use for the connection.
|
VPN plug-in [VPN]
See "VPN Framework.".
Table 2.8 VPN plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
UPro
|
unsigned integer
|
|
ID of the used profile for the VPN connection. REQUIRED.
|
ReHt
|
string
|
Yes
|
An IP address of the VPN server. REQUIRED.
|
Cert
|
string
|
Yes
|
Filename of the X.509 certificate to use for encryption/authentication
|
PShK
|
unsigned integer
|
Yes
|
ID the pre-shared key to use for encryption/authentication
|
User
|
string
|
Yes
|
Username for authentication
|
Pass
|
unsigned integer
|
Yes
|
ID of the password for authentication
|
EMod
|
string
|
|
The encryption tunnel mode. The value must be "psk" or "X509".The default is "psk" except when there is no pre-shared key specified.
|
Prot
|
unsigned integer
|
|
For protocol encapsulation (like L2TP over IPSEC). The value must be in the IP protocol range (see netinet/in.h)
|
Port
|
unsigned integer
|
|
For protocol encapsulation (like L2TP over IPSEC). The value must be lower than 65536.
|
NoVA
|
unsigned integer
|
|
Is the password managed by the VPN plug-in? 0 for Yes (default).
|
IPSEC plug-in [IPSEC]
See "VPN Framework.".
Table 2.9 IPSEC plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
DDev
|
string
|
|
Name of the virtual interface created. Always exported.
|
LoIP
|
string
|
|
VPN Local IP address or VPN Subnet IP address, in dotted notation. Exported when the local IP address is provided by the remote server.
|
ReHt
|
string
|
|
VPN Remote IP address, in dotted notation. Exported when the remote IP address is provided by the remote server.
|
GWys
|
string
|
|
VPN gateways, in dotted notation separated by spaces. Exported.
|
NetM
|
string
|
|
VPN Subnet mask, in dotted notation. Exported.
|
Aggr
|
unsigned integer
|
|
Aggressive mode for IPSEC interoperability. Possible values are 0 (disable, default) or 1 (enable).
|
CisM
|
unsigned integer
|
|
A CISCO mode. Possible values are 0 (disable, default) or 1 (enable).
|
GroupN
|
unsigned integer
|
|
CISCO group name.
|
PFSe
|
unsigned integer
|
|
Perfect Forwarding Secrecy mode. Possible values are 0 (disable) or 1 (enable, default).
|
L2TP plug-in [L2TP]
See "VPN Framework."
NOTE: There are no parameters for the L2TP plug-in.
Phone plug-in [Phone]
The Phone Plug-in is used to manage the connection between a Phone Application and the Telephony Server. This plug-in specifies the name of the Phone Driver used by the Telephony Server to communicate with the phone module.
See the chapter on Telephony Manager in the Telephony Guide.
Table 2.10 Phone plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
PDrv
|
string
|
|
Name of the Phone Driver to use. REQUIRED.
|
Data Call plug-in [DataCall]
See the chapter on Telephony Manager in the Telephony Guide.
Table 2.11 Data Call plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
Type
|
unsigned integer
|
Yes
|
Type of data call: Circuit Switch (0), Packet Switch (1)
|
Dial
|
string
|
Yes
|
Dial number in case of Circuit Switch data call.
|
Apna
|
string
|
Yes
|
Address of the Access Point Network in case of Packet Switch data call.
|
User
|
string
|
Yes
|
User name. Only used with Direct IP connection.
|
Pass
|
string
|
Yes
|
Password. Only used with Direct IP connection.
|
IPIF6 Plug-in [IPIF6]
The IPIF6 (IP Interface) plug-in resides in the layer below NetOut. The IPIF6 plug-in manages the configuration of IPv6 networking interfaces, and other associated configuration information such as network routes, domain name resolver configuration entries, etc. It also controls DHCP when automatic configuration is enabled. This is the equivalent of the IPIF plug-in for IPv4.
Table 2.12 IPIF6 plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
DDev
|
string
|
|
Name of the interface to configure. REQUIRED.
|
LIPs
|
string
|
Yes
|
List of local IP addresses to add, in dotted notation with the prefix length in CIDR notation. This parameter can be supplied by the lower plug-in. Always exported.
|
DNSs
|
string
|
Yes
|
List of DNS servers, in IPv6 notation separated by spaces. This parameter can be supplied by the lower plug-in.
|
Doms
|
string
|
Yes
|
List of DNS domain suffixes separated by spaces.
|
Mtic
|
unsigned integer
|
|
Interface metric (defaults to 1 if not available). A metric is a value that is assigned to an IP route for a particular network interface that identifies the cost that is associated with using that route.
|
_MTU
|
unsigned integer
|
|
Maximum transmit unit in bytes. Defaults to the value provided by the lower-level plug-ins.
|
TunIP Plug-in [TunIP]
The TunIP plug-in manages the configuration of IPv6-in-Ipv4 tunnels.
Table 2.13 TunIP plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
DDev
|
string
|
|
Name of the virtual interface created. Exported.
|
ReHt
|
string
|
Yes
|
Remote Host address in dotted notation. If no remote is given, a "6to4" tunnel is done.
|
UPro
|
unsigned integer
|
|
ID of the used profile for the VPN connection. REQUIRED.
|
_TTL
|
unsigned integer
|
|
TTL of the tunnel. The default is 64.
|
NetAccess Plug-in [NetAccess]
The NetAccess manages virtual connections for using one IPv4 physical connection.
Table 2.14 NetAccess plug-in parameters
Name
|
Type
|
UI Access
|
Description
|
CPro
|
string
|
Yes
|
Connection profile to use to connect the VPN (default value: any profile).
|
UPro
|
unsigned integer
|
|
ID of the used profile for the VPN connection. Exported.
|
CMod
|
unsigned integer
|
Yes
|
Connection Mode: Auto(0,default value), Ask(1), Confirm(2).
|
ReHt
|
string
|
|
Remote Host. If it's a domain name, NetAccess rewrites it in an IPv4 dotted notation. Exported.
|
Plug-ins UI
Each plug-in can expose UI parameters for profile edition in the Network Panel. There are parameters to enable or disable the display and the edition for a plug-in.
Table 2.15 Common parameters for UI
Name
|
Type
|
UI Access
|
Description
|
UIVi
|
unsigned integer
|
|
Display the plug-in when editing the profile. Values are 0 (no display for the plug-in) and 1 (default, display)
|
Lock
|
unsigned integer
|
|
Disable parameters edition for the plug-in. Values are 0 (default, edition enabled) and 1 (edition disabled)
|
Plug-In Profile Samples ^TOP^
The following is an example of a profile using the device foo. It is configured using DHCP:
P1 = "NetOut/IPIF/Ethernet:DDev='foo'"
The following is an example of a subprofile:
"Mydevice" = "Ethernet:DDev='foo'"
The following profile is equivalent to P1:
P2 = "NetOut/IPIF/Mydevice"
The following example shows a manually configured profile with the local IP address set. The subnet mask and broadcast address are automatically set:
P3 = "NetOut/
IPIF:LoIP='192.168.1.10',GWys='192.168.1.1',DNSs='192.168.2.1',Doms='bar.org'/
Mydevice"
The following example shows a PPP connection using a direct serial link:
P4 = "NetOut/IPIF/PPP:User='foo',Pass=707/Serial:DevN='ttyS0'"
The following example shows a PPP connection with the local IP address manually set and a script:
P5 = "NetOut/IPIF:LoIP='192.168.2.10'/PPP:User='foo',Pass=707,LogF='/etc/ppp/
modem.chat'/Serial:DevN='ttyS0'"
The following example shows a VPN IPSEC connection with user/pass authentication, aggressive mode, and CISCO compatibility:
P6 = "VPN:Host='myoffice.com',User='foo',Pass=6384/IPIF/IPSEC:SCer=1,Aggr=1/
NetAccess"
The following example shows a VPN L2TP over IPSEC connection with pre-shared key:
P7 =
"VPN:Host='myoffice.com',User='foo',Pass=2589,PShK=7543,EMod='psk',Prot=17,Port
=1701/IPIF/PPP/L2TP:Auth='chap'/IPSEC/NetAccess"
The following example shows a USB connection:
P8 = "NetOut/
IPIF:LoIP='192.168.1.10',GWys='192.168.1.1',DNSs='192.168.2.1
',Doms='bar.org'/Ethernet:DDev='usb0'"
Only registered users can write comments.
Please login or register.