Versions Compared

Key

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

...

Utopia is a package with multiple independent utilities. These utilities are launched through a startup sequence using shell scripts.
Few of the sub components within componentswithin Utopia are:

  • dhcp_proxy - Utility to modify the Network Processor (NP) bridge and setup a dhcp proxy between dhcp server (WAN) and dhcp client (LAN CPEs)
  • Firewall - Utility which is used to set all the IPv4 and IPv6 rules on device
  • service_routed - Utility to set routes using ip rule for IPv4 and IPv6. 
  • service_wan - Event triggered utility used to bring up the wan services (static and dhcp)
  • utctx - Standalone batch get/set application. This provides functionality such as Utopia_Free, Utopia_Init, Utopia_RawGet, Utopia_RawSet. This also has the list of Utopia events.

Utopia also contains Open Source Utilities like brctl, vconfig, dropbear, dibbler, ifconfig, iptables, ip rule, ip route, ebtables, portmap and so onswctl.

Utopia also contains swctl:

  • Switch control utility is designed to address dual switches: internal and external.
  • The internal switch connects two processors, network and application processors, in additional to MoCA port and external switch.
  • The external switch consists of 4 external Ethernet ports and the port connecting to internal switch.

Utopia Open source utilities

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


Code Flow

Utopia Initialisation Sequence

...

No Format
TUPLE_FLAG_NORMAL=0x00000000

TUPLE_FLAG_SERIAL=0x00000001

TUPLE_FLAG_EVENT=0x00000002

ACTION_FLAG_NORMAL=0x00000000

ACTION_FLAG_NOT_THREADSAFE=0x00000001

ACTION_FLAG_COLLAPSE_PENDING_QUEUE=0x00000002

Utopia Open source utilities

...

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

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

...

...


User and default configuration initialization

...

Gliffy Diagram
nameEXAMPLE SET FLOW FOR PC URL 1
pagePin1

Example set flow for PC URL