Introduction
Dhcp Manager Support has been brought in completely for both ipv4 and ipv6 in Bannapi R4.This page shares information about code changes and test results done for the integration of dhcp manager in BPI R4.
RdkDHCPManager is a component in RDK-B OS responsible for configuration and command control of DHCP client and server for both IPv4 and IPv6.
Code Changes :
We need to do the following code changes to integrate Dhcp Manager in the Bananapi R4 platform
...
<Record name="dmsb.wanmanager.if.1.VirtualInterface.1.IP.DHCPV6Interface" type="astr">Device.DHCPv6.Client.1</Record>
<Record name="dmsb.wanmanager.if.2.VirtualInterface.1.IP.DHCPV4Interface" type="astr">Device.DHCPv4.Client.1</Record>
<Record name="dmsb.wanmanager.if.2.VirtualInterface.1.IP.DHCPV6Interface" type="astr">Device.DHCPv6.Client.1</Record>
<Record name="dmsb.dhcpmanager.ClientNoOfEntries" type="astr">1</Record>
<Record name="dmsb.dhcpmanager.Client.1.Alias" type="astr" >WANOE</Record>
<Record name="dmsb.dhcpmanager.Client.1.ReqOptionNoOfEntries" type="astr">4</Record>
<Record name="dmsb.dhcpmanager.Client.1.ReqOption.1.Tag" type="astr">125</Record>
<Record name="dmsb.dhcpmanager.Client.1.ReqOption.1.Order" type="astr">1</Record>
<Record name="dmsb.dhcpmanager.Client.1.ReqOption.2.Tag" type="astr">42</Record>
<Record name="dmsb.dhcpmanager.Client.1.ReqOption.2.Order" type="astr">2</Record>
<Record name="dmsb.dhcpmanager.Client.1.ReqOption.3.Tag" type="astr">2</Record>
<Record name="dmsb.dhcpmanager.Client.1.ReqOption.3.Order" type="astr">3</Record>
<Record name="dmsb.dhcpmanager.Client.1.ReqOption.4.Tag" type="astr">122</Record>
<Record name="dmsb.dhcpmanager.Client.1.ReqOption.4.Order" type="astr">4</Record>
<Record name="dmsb.dhcpmanager.Client.1.SendOptionNoOfEntries" type="astr">3</Record>
<Record name="dmsb.dhcpmanager.Client.1.SendOption.1.Tag" type="astr">43</Record>
<Record name="dmsb.dhcpmanager.Client.1.SendOption.1.Value" type="astr">020745524f55544552030c45524f555445523a45445641</Record>
<Record name="dmsb.dhcpmanager.Client.1.SendOption.2.Tag" type="astr">60</Record>
<Record name="dmsb.dhcpmanager.Client.1.SendOption.2.Value" type="astr">65526F75746572312E30</Record>
<Record name="dmsb.dhcpmanager.Client.1.SendOption.3.Tag" type="astr">125</Record>
<Record name="dmsb.dhcpmanager.Client.1.SendOption.3.Value" type="astr">0000118b0701027B7C7c0107</Record> <Record name="dmsb.dhcpmanager.dhcpv6.ClientNoOfEntries" type="astr">1</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.Alias" type="astr">WANOE</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.RequestedOptions" type="astr"> 23 , 24 </Record> <!-- domain, dns-server -->
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.ReqAddr" type="astr">TRUE</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.ReqPrefix" type="astr">FALSE</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOptNoOfEntries" type="astr">3</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOption.1.Alias" type="astr">class-id</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOption.1.Tag" type="astr">16</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOption.1.Value" type="astr">0000118b000a65526f75746572312e30</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOption.2.Alias" type="astr">vendor-specific-info</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOption.2.Tag" type="astr">17</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOption.2.Value" type="astr">0000118b0001000800260027087A087B0002000745524F555445520003000B45524F555445523A4544560027000107</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOption.3.Alias" type="astr">pd</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOption.3.Tag" type="astr" >25</Record>
<Record name="dmsb.dhcpmanager.dhcpv6.Client.1.SentOption.3.Value" type="astr">{ prefix ::/56 }</Record>
Test Results
1. All ccsp process Status root@Filogic-GW:~# ps | grep eRT. 3732 non-root 307m S /usr/bin/CcspCrSsp -subsys eRT. 3930 root 470m S /usr/bin/telcovoice_manager -subsys eRT. 4315 non-root 244m S /usr/bin/PsmSsp -subsys eRT. 4437 root 689m S /usr/bin/CcspDHCPMgr -subsys eRT. 4533 root 170m S /usr/bin/VlanManager -subsys eRT. 5576 root 1188m S /usr/bin/CcspPandMSsp -subsys eRT. 5580 non-root 908m S /usr/rdk/wanmanager/wanmanager -subsys eRT. 5605 non-root 550m S /usr/bin/CcspEthAgent -subsys eRT. 5664 root 684m S /usr/bin/cellularmanager -subsys eRT. 5667 non-root 106m S /usr/bin/fwupgrademanager -subsys eRT. 6493 root 343m S /usr/bin/CcspTandDSsp -subsys eRT. 6512 non-root 561m S /usr/bin/CcspLMLite -subsys eRT. 6563 non-root 479m S /usr/bin/CcspTr069PaSsp -subsys eRT. 6603 non-root 397m S /usr/bin/CcspXdnsSsp -subsys eRT. 9124 non-root 612m S /usr/bin/webpa -subsys eRT. 9731 root 754m S /usr/bin/OneWifi -subsys eRT. 10745 root 458m S /usr/bin/CcspAdvSecuritySsp -subsys eRT. 43546 root 2248 S grep eRT. 2. Status on CcspDHCPMgr root@Filogic-GW:~# root@Filogic-GW:~# systemctl status CcspDHCPMgr * CcspDHCPMgr.service - CcspDHCPMgr service Loaded: loaded (8;;file://Filogic-GW/lib/systemd/system/CcspDHCPMgr.service/lib/systemd/system/CcspDHCPMgr.service8;;; enabled; vendor p) Active: active (running) since Thu 2022-04-28 17:44:03 UTC; 3 years 11 months ago TriggeredBy: * CcspDHCPMgr.path Process: 4379 ExecStart=/usr/bin/CcspDHCPMgr -subsys $Subsys (code=exited, status=0/SUCCESS) Main PID: 4437 (CcspDHCPMgr) Tasks: 13 (limit: 4708) Memory: 9.8M CGroup: /system.slice/CcspDHCPMgr.service |- 4437 /usr/bin/CcspDHCPMgr -subsys eRT. |- 7666 udhcpc -O 122 -O timezone -O ntpsrv -O 125 -x 0x7D:0000118b0701027B7C7c0107 -V eRouter1.0 -x 0x2B:020745524f55544552030cR `- 7926 dibbler-client start -w /etc/dibbler/erouter0 2022 Apr 28 17:44:02 Filogic-GW systemd[1]: Starting CcspDHCPMgr service... 2022 Apr 28 17:44:03 Filogic-GW CcspDHCPMgr[4379]: rdk_dyn_log_initg_dl_socket = 3 __progname = CcspDHCPMgr 2022 Apr 28 17:44:03 Filogic-GW systemd[1]: Started CcspDHCPMgr service. 2026 Apr 03 11:15:56 Filogic-GW CcspDHCPMgr[4437]: ioctl(SIOCSIFMTU): Invalid argument 3. ipv4 test & Network Status root@Filogic-GW:~# ifconfig erouter0 erouter0 Link encap:Ethernet HWaddr 02:01:00:7B:5E:88 inet addr:192.168.20.178 Bcast:192.168.23.255 Mask:255.255.252.0 inet6 addr: fe80::1:ff:fe7b:5e88/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:55450 errors:0 dropped:2535 overruns:0 frame:0 TX packets:1283 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5307918 (5.0 MiB) TX bytes:163917 (160.0 KiB) root@Filogic-GW:~# ping www.google.com PING www.google.com (142.251.151.119): 56 data bytes 64 bytes from 142.251.151.119: seq=0 ttl=119 time=10.354 ms 64 bytes from 142.251.151.119: seq=1 ttl=119 time=10.287 ms 64 bytes from 142.251.151.119: seq=2 ttl=119 time=10.293 ms 64 bytes from 142.251.151.119: seq=3 ttl=119 time=10.301 ms 64 bytes from 142.251.151.119: seq=4 ttl=119 time=10.298 ms ^C --- www.google.com ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss 4 CPU & Memore Utilization Tasks: 211 total, 1 running, 210 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.4 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.1 hi, 0.1 si, 0.0 st MiB Mem : 3924.8 total, 3542.3 free, 251.1 used, 131.4 buff/cache MiB Swap: 0.0 total, 0.0 free, 0.0 used. 3623.8 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3218 root 20 0 13228 9776 6204 S 0.6 0.2 0:01.71 snmpd 10109 root 20 0 772396 36844 12576 S 0.6 0.9 0:01.90 OneWifi 12485 root 20 0 5284 2656 1968 R 0.6 0.1 0:00.07 top 37 root 20 0 0 0 0 I 0.3 0.0 0:00.35 kworker/u8:1-phy0 44 root 20 0 0 0 0 I 0.3 0.0 0:00.15 kworker/u8:2-events_power_efficient 1851 root 20 0 2153580 31332 15828 S 0.3 0.8 0:00.88 asterisk 4460 root 20 0 705956 7316 5080 S 0.3 0.2 0:00.12 CcspDHCPMgr 5. ipv6 test & Network Status erouter0 Link encap:Ethernet HWaddr 02:01:00:9C:9D:E6 inet addr:10.42.0.69 Bcast:10.42.0.255 Mask:255.255.255.0 inet6 addr: fe80::1:ff:fe9c:9de6/64 Scope:Link inet6 addr: 2001:db8:1111:0:7053:9f81:75e0:b70/128 Scope:Global UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:128 errors:0 dropped:0 overruns:0 frame:0 TX packets:176 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:27441 (26.7 KiB) TX bytes:37496 (36.6 KiB) brlan0 Link encap:Ethernet HWaddr 02:03:00:9C:9D:ED inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: 2601:9c0:d00:1170:3:ff:fe9c:9ded/64 Scope:Global inet6 addr: fe80::3:ff:fe9c:9ded/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:176 errors:0 dropped:0 overruns:0 frame:0 TX packets:178 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:32028 (31.2 KiB) TX bytes:29230 (28.5 KiB) root@Filogic-GW:~# ping6 www.google.com PING www.google.com (2001:4860:4828:7700::): 56 data bytes 64 bytes from 2001:4860:4828:7700::: seq=0 ttl=115 time=849.442 ms 64 bytes from 2001:4860:4828:7700::: seq=1 ttl=115 time=888.983 ms 64 bytes from 2001:4860:4828:7700::: seq=2 ttl=115 time=1007.157 ms 64 bytes from 2001:4860:4828:7700::: seq=3 ttl=115 time=1091.083 ms ^C --- www.google.com ping statistics --- 5 packets transmitted, 4 packets received, 20% packet loss round-trip min/avg/max/mdev = 849.442/959.166/1091.083/24.043 ms |
|---|
References.
BPIR4 Jira reference wrt Dhcp Manager.
| Jira |
|---|
| server | JIRA |
|---|
| columnIds | issuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution |
|---|
| columns | key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution |
|---|
| serverId | 11deff04-0380-3a3d-a916-0849d4e573f7 |
|---|
| key | RDKBACCL-1484 |
|---|
|