Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

UtilityDescriptionReference
brctlIt is a tool used to configure Ethernet bridge (Network Bridging)https://linux.die.net/man/8/brctl
vconfigIt allows user to create and remove vlan-devices on a vlan enabled kernel. Vlan-devices are virtual Ethernet devices which represents the virtual lans on the physical lan.https://linux.die.net/man/8/vconfig
dropbearIt is a lightweight SSH2 server designed to be small enough to be used in small memory environments, while still being functional and secure enough.

https://linux.die.net/man/8/dropbear

https://matt.ucc.asn.au/dropbear/dropbear.html

dibblerIt is an implementation of DHCPv6 Server/Clienthttp://klub.com.pl/dhcpv6/
ifconfigUtility used to configure a network interfacehttps://linux.die.net/man/8/ifconfig
iptablesAdministration tool for IPv4 packet filtering and NAThttps://linux.die.net/man/8/iptables
ip ruleUtility used to manipulate rules in the routing policy database control the route selection algorithmhttp://man7.org/linux/man-pages/man8/ip-rule.8.html
ip routeUtility used to manipulate routing tableshttp://linux-ip.net/html/tools-ip-route.html
ebtablesIt is an application program used to set up and maintain the tables of rules (inside the Linux kernel) that inspect Ethernet frames. It is analogous to the iptables application, but less complicated, due to the fact that the Ethernet protocol is much simpler than the IP protocol.https://linux.die.net/man/8/ebtables
portmapIt is a server that converts RPC program numbers into DARPA protocol port numbers. It must be running in order to make RPC calls.https://linux.die.net/man/8/portmap


User and default configuration initialization

Syscfg_create executable creates shared memory with user configuration data (/nvram/syscfg.db). This is present in the code base at the location /ccsp/utopia/source/syscfg

Image Added

Apply_system_defaults executable reads the data from system_defaults file (path: /etc/utopia/system_defaults) and compares with syscfg.db, in case of any data is missing in syscfg, those defaults are written in to shared memory. On start of any module, data is read from the shared memory during initialization.

If syscgf.db does not exists (e.g in case of factory reset) apply_system_default executable writes all default data on to shared memory and syscfg_commit() gets called which in turn creates syscgf.db.

Example Firewall Initialization

Gw_prov_utopia exe calls Init script. Init script executes all executables present in /etc/utopia/registration.d/ directory. 10_firewall exe is responsible for firewall events and it registers for sysevent callback with service name as firewall. Handler script is firewall_log_handle.sh. If any firewall event occurs sysevent is triggered with firewall-restart event name.

Image Added

Firewall Initialization Process

Image Added

On firewall-restart event service_start() method gets called. Ip4table and Ip6table rules are prepared by reading data from shared memory, written into /tmp/.ipt and /tmp/.ipt_v6 files respectively. Iptable rules are restored using these files.

Example Set flow

Following sequence explains flow when a SET from SNMP, TR69 or CLI is done:

  • When commit needs to be done xml mapped API PCBlkURL_Commit() api gets called.
  • If object is new CosaDmlBlkURL_AddEntry() is called, else CosaDmlBlkURL_SetConf() api is called.
  • Utopia_SetBlkURLByIndex() prepares the syscfg data by appending proper index to be added to the cfg file.


Eg. Second row entry details are saved as shown below in xml.

pcms_2::method=URL
pcms_2::always=1
pcms_2::end_time=
ManagedSiteBlock_2=pcms_2
pcms_2::alias=cpe-BlockedURL-2
pcms_2::days=
pcms_2::site=https://www.wellsfargo.com
pcms_2::ins_num=2
pcms_2::start_time=

  • syscfg_set() checks if the syscfg value exists, if not allocates memory and add it to the end of the linked list and sets the value.
  • SysCfg_Commit() – calls syscfg_commit().
  • syscfg_commit API updates the persistent memory with the shared memory details.

Image Added

Example set flow for PC URL