YaST2 Developers Documentation: Network configuration

Network configuration

modules/Lan.ycp
Network card data

This module has an unstable interface.

Representation of the configuration of network cards. Input and output routines.

Imports

  • Arch
  • DNS
  • Detection
  • Host
  • Hostname
  • IP
  • Map
  • Mode
  • NetworkConfig
  • NetworkDevices
  • NetworkModules
  • NetworkService
  • NetworkStorage
  • Package
  • ProductFeatures
  • Progress
  • Routing
  • Service
  • String
  • SuSEFirewall4Network
  • Summary

Includes

  • network/complex.ycp
  • network/hardware.ycp
  • network/install.ycp
  • network/routines.ycp
  • network/runtime.ycp
  • network/runtime.ycp

Structures

Global Variables

Global Functions

Local Variables

Local Functions

Info:

Current module information

local start_immediately -> boolean

autoinstallation: if true, write_only is disabled and the network settings are applied at once, like during the normal installation. #128810, #168806

global hotplug -> string

Hotplug type ("" if not hot pluggable)

global wl_wpa_eap -> map<string, any>

wl_wpa_eap aggregates the settings in a map for easier CWM access.

Structure wpa_eap

 WPA_EAP_MODE: string ("TTLS" "PEAP" or "TLS")
 WPA_EAP_IDENTITY: string
 WPA_EAP_PASSWORD: string (for TTLS and PEAP)
 WPA_EAP_ANONID: string (for TTLS and PEAP)
 WPA_EAP_CLIENT_CERT: string (for TLS, file name)
 WPA_EAP_CLIENT_KEY: string (for TLS, file name)
 WPA_EAP_CLIENT_KEY_PASSWORD: string (for TLS)
 WPA_EAP_CA_CERT: string (file name)
 WPA_EAP_AUTH: string ("", "MD5", "GTC", "CHAP"*, "PAP"*, "MSCHAP"*, "MSCHAPV2") (*: TTLS only)
 WPA_EAP_PEAP_VERSION: string ("", "0", "1")
global AbortFunction -> block<boolean>

Abort function return boolean return true if abort

local Hardware -> list<map>

Hardware information

See
ReadHardware
Info:

Modules information

See
ReadModules
Info:

Deleted modules

local InstallInf -> map

/etc/install.inf data

local modified -> boolean

Data was modified?

global operation -> symbol

Which operation is pending?

global Modified () -> boolean

Data was modified?

Return value:
true if modified
global DriverType (string type) -> string

For s390 hwinfo gives us a multitude of types but some are handled the same, mostly acording to the driver which is used. So let's group them under the name Driver Type.

Parameters:
type a type, as in Lan::type
Return value:
driver type, like formerly type2 for s390
local initialized -> boolean

Lan::Read (`cache) will do nothing if initialized already.

global Read (symbol cache) -> boolean

Read all network settings from the SCR

Parameters:
cache : `cache=use cached data, `nocache=reread from disk (for reproposal); TODO pass to submodules
Return value:
true on success
global ReadWithCache () -> boolean

(a specialization used when a parameterless function is needed)

Return value:
Read(`cache)
global Write () -> boolean

Update the SCR according to network settings

Return value:
true on success
global WriteOnly () -> boolean

Only write configuration without starting any init scripts and SuSEconfig

Return value:
true on success
global Import (map settings) -> boolean

Import data

Parameters:
settings settings to be imported
Return value:
true on success
global Export () -> map

Export data

Return value:
dumped settings (later acceptable by Import())
local SelectHWMap (map hw) -> void

Select the hardware component

Parameters:
hw the component
global SelectHW (integer which) -> void

Select the hardware component

Parameters:
which index of the component
global Summary (string mode) -> list

Create a textual summary and a list of unconfigured devices

Parameters:
mode "split": split configured and unconfigured?
"summary": add resolver and routing symmary, "proposal": for proposal, add links for direct config
Return value:
summary of the current configuration
global SummaryNM () -> list

Create a textual summary for the NetworkManager proposal

Return value:
[rich text, links]
global Overview () -> list

Create an overview table with all configured devices

Return value:
table items
global FreeDevices (string type) -> list

Return 10 free devices

Parameters:
type device type
Return value:
of 10 free devices
global FreeAliases (string type, integer num) -> list

Return 10 free aliases

Parameters:
type device type
num device number
Return value:
of 10 free devices
local GetDefaultsForHW () -> map

must be in sync with SetDefaultsForHW

global SetDefaultsForHW () -> void

must be in sync with GetDefaultsForHW

local SysconfigDefaults -> map<string, string>

the defaults here are what sysconfig defaults to (as opposed to what a new interface gets, in Select)

local SetDeviceVars (map devmap, map defaults) -> void

Set various device variables

Parameters:
devmap map with variables
defaults
global Select (string dev) -> boolean

Select the given device

Parameters:
dev device to select ("" for new device, default values)
Return value:
true if success
global Add () -> boolean

Add a new device

Return value:
true if success
global Edit (string name) -> boolean

Edit the given device

Parameters:
name device to edit
Return value:
true if success
global Delete (string name) -> boolean

Delete the given device

Parameters:
name device to delete
Return value:
true if success
global Commit () -> boolean

Commit pending operation

Return value:
true if success
local GetModuleForInterface (string ay_device, list<map> ay_modules) -> map

Get the module configuration for the modules configured in the interface section

Parameters:
ay_device Device, for example eth0
ay_modules list of modules from the AY profile
Return value:
the module map with module name and options
local FindMatchingDevice (map interface) -> map

Find matching device Find a device, optionally with some predefined values

Parameters:
interface interface map
Return value:
The map of the matching device.
local UseNetworkManager () -> boolean

Uses product info and is subject to installed packages.

Return value:
Should NM be enabled?
local ProposeNMInterfaces () -> void

Create minimal ifcfgs for the case when NetworkManager is used: NM does not need them but yast2-firewall and SuSEfirewall2 do Avoid existing ifcfg from network installation

global ProposeInterfaces () -> boolean

Propose interface configuration

Return value:
true if something was proposed
local ProposeHostname () -> boolean

Propose the hostname See also DNS::Read

Return value:
true if something was proposed
global ProposeRoutesAndResolver () -> boolean

Propose configuration for routing and resolver

Return value:
true if something was proposed
global Propose () -> boolean

Propose a configuration

Return value:
true if something was proposed
global Autoinstall () -> boolean

Create a configuration for autoyast

Return value:
true if something was proposed
global AnyDHCPDevice () -> boolean

Check if any device except the current one is configured with DHCP. The current one is checked separately because there may be uncommitted changes. (#17391)

Return value:
true if any DHCP device except the current one is configured
global HasAliases (string dev) -> boolean

Check if the given device has any virtual alias.

Parameters:
dev device to be checked
Return value:
true if there are some aliases
global Packages () -> list<string>

Return value:
of packages needed when writing the config
global AutoPackages () -> map

Return value:
of packages needed when writing the config in autoinst mode
global GetModified () -> boolean

Function which returns if the settings were modified

Return value:
settings were modified
global SetModified () -> void

Function sets internal variable, which indicates, that any settings were modified, to "true"

global UnsetModified () -> void

Function sets internal variable, which indicates, that any settings were modified, to "false"

global HaveXenBridge () -> boolean

Xen bridging confuses us (#178848)

Return value:
whether xenbr* exists