- Fix get/set of LeaseTime, StaticAddressNumberOfEntries parameters
- Fix an issue in add object of DHCPv4.Server.Pool.{i}. object
- enhance get/set of some parameters: Enable, Status, SubnetMask, DomainName, IPRouters. so get the value from data instead of the mapping for all the sections and get the corresponding section based on its section name
Some parameters must be specified with microsecond precision such as:
- Device.IP.Diagnostics.DownloadDiagnostics.(ROMTime, BOMTime, EOMTime, TCPOpenResponseTime, etc)
- Device.IP.Diagnostics.UploadDiagnostics.(ROMTime, BOMTime, EOMTime, TCPOpenResponseTime, etc)
- Get: show only hosts that have a name option "_reserved"
- Set: remove hosts that have the name "_reserved" when they are removed from the list value
Fix multiple issues in StaticAddress implementation
- "StaticAddress.{i}.Yiaddr" accepting any IP address -> According to standard, It should accept IP address from DHCP IP pool
- Same IP address can be assigned to multiple MAC address -> According to standard, Once a IP got bind to a MAC, it should not get bind to other MAC
- Able to create multiple entry for same MAC -> According to standard, It should accept only one entry for one MAC
- Able to create multiple object with same Alias -> According to standard, Alias should be unique
- remove unused argument from dmuci_add_section() and dmuci_add_section_bbfdm() functions
- use snprintf instead of dmasptintf
- change function name: add_list_paramameter -> add_list_parameter
According to the standard, each object deletion should have no effect on other objects, so we remove the deletion of Ethernet.Link when calling delete object of the IP.Interface object
if we have an IP.Interface.{i}. links to -> Ethernet.VLANTermination.{i}. which link to -> Ethernet.Link.1. and we need to update Ethernet.VLANTermination.{i}.LowerLayers to Ethernet.Link.2.
the issue is IP.Interface.{i}. was not updated when setting Ethernet.VLANTermination.{i}.LowerLayers to Ethernet.Link.2.
So this commit fixes this issue
- Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataDownlinkRate => should be unsignedInt[1000:] //fixed by multiplying its value * 1000
- Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.LastDataUplinkRate => should be unsignedInt[1000:] //fixed by multiplying its value * 1000
- Device.WiFi.AccessPoint.{i}.AssociatedDevice.{i}.Retransmissions => it's not supported for now, comment it out
Currently, RegulatoryDomain only returns the first two characters but it should be 3 characters according to the standard, the solution is to
save the third character under dmmap_wireless
Fix Get/Set value of these parameters which has a hexbinary encoded value according to the TR-181 standard
- Device.DHCPv4.Server.Pool.{i}.Option.{i}.Value
- Device.DHCPv4.Client.{i}.SentOption.{i}.Value
- Device.DHCPv4.Relay.Forwarding.{i}.UserClassID
- Device.DHCPv6.Server.Pool.{i}.VendorClassID
- Device.DHCPv6.Server.Pool.{i}.UserClassID
- Device.DHCPv6.Server.Pool.{i}.Option.{i}.Value