mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
Update documentation
This commit is contained in:
parent
0636a0f457
commit
4e80fa7c00
9 changed files with 38 additions and 1005 deletions
14
README.md
14
README.md
|
|
@ -22,9 +22,7 @@
|
|||
├── libbbfdm
|
||||
│ ├── dmtree
|
||||
│ │ ├── json
|
||||
│ │ ├── tr143
|
||||
│ │ ├── tr181
|
||||
│ │ ├── tr471
|
||||
│ │ ├── vendor
|
||||
│ ├── scripts
|
||||
└── tools
|
||||
|
|
@ -39,15 +37,11 @@ More explanation on how this daemon works and all supported methods are presente
|
|||
|
||||
- `tr181` folder : TR-181 Data Model files
|
||||
|
||||
- `tr143` folder : Diagnostics Data Model files
|
||||
|
||||
- `tr471` folder : IPLayerCapacityMetrics Diagnostics Data Model files
|
||||
|
||||
- `vendor` folder : Vendor Data Model files
|
||||
|
||||
- `json` folder : TR-181 and TR-104 JSON files
|
||||
- `json` folder : Data Model JSON file
|
||||
|
||||
- `scripts` folder which contains all the scripts used to run the different types of diagnostics.
|
||||
- `scripts` folder which contains bbf APIs used to run the different diagnostics scripts.
|
||||
|
||||
- `libbbfdm-api` folder which contains the source code of all API functions (UCI, Ubus, JSON, CLI and memory management). These API are used for GET/SET/ADD/Delete/Operate calls which can be called in internal or external packages.
|
||||
All APIs exposed by libbbfdm-api are presented in this header file [libbbfdm_api.h](./libbbfdm-api/include/libbbfdm_api.h).
|
||||
|
|
@ -69,12 +63,8 @@ All supported tools are presented in this file[BBFDM Tools](./tools/README.md)
|
|||
* [How to add new vendor](./docs/guide/libbbfdm-api_vendor.md)
|
||||
* [Dynamic Object/Parameter/Operate/Event](./docs/guide/libbbfdm-api_dynamic_dm.md)
|
||||
* [Design for firmware activation](./docs/guide/libbbfdm_DeviceInfo_FirmwareImage.md)
|
||||
* [TR181 Firewall datamodel mappings](./docs/guide/libbbfdm_Firewall.md)
|
||||
* [Wireless Configuration handling](./docs/guide/libbbfdm_WiFi.md)
|
||||
* [Explain the different Network Deployment Scenarios](./docs/guide/network_depoyment_scenarios.md)
|
||||
* [How to Configure MACVLAN](./docs/guide/libbbfdm_Ethernet_X_IOPSYS_EU_MACVLAN.md)
|
||||
* [Explain Policy Based Routing Management](./docs/guide/libbbfdm_Routing.md)
|
||||
* [TR181 DNS datamodel](./docs/guide/libbbfdm_DNS.md)
|
||||
|
||||
## Additional datamodel objects
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Migration of deprecated APIs and user defined datatypes
|
||||
# Migration of deprecated/removed APIs and user defined datatypes
|
||||
|
||||
To support new feature sometimes old APIs provided by libbbfdm-api library needs to be updated, this guide provides a better context to the migration.
|
||||
|
||||
|
|
@ -6,6 +6,15 @@ Following table has deprecated and new APIs, datatypes:
|
|||
|
||||
| Type | Deprecated API | New API | Comment |
|
||||
| ---- | -------------- | ------- | ------- |
|
||||
| function | `int bbf_get_reference_param(char *path, char *key_name, char *key_value, char **value)` | `int bbfdm_get_references(struct dmctx *ctx, int match_action, const char *base_path, char *key_name, char *key_value, char *out, size_t out_len)` | Replaced with a generic API that is accessible for both internal (bbfdm core) and external (microservices) data models |
|
||||
| function | `int bbf_get_reference_args(char *value, struct dm_reference *reference_args)` | `int bbfdm_get_reference_linker(struct dmctx *ctx, char *reference_path, struct dm_reference *reference_args)` | Replaced with a generic API that is accessible for both internal (bbfdm core) and external (microservices) data models |
|
||||
| stucture | `struct dmmap_dup` | `structure dm_data` | Replaced to support the extension for Obj/Param/Operate using JSON plugin |
|
||||
|
||||
|
||||
Following table has removed and new APIs, datatypes:
|
||||
|
||||
| Type | Removed API | New API | Comment |
|
||||
| ---- | -------------- | ------- | ------- |
|
||||
| function | `dm_validate_string(char *value, int min_length, int max_length, char *enumeration[], char *pattern[])` | `int bbfdm_validate_string(struct dmctx *ctx, char *value, int min_length, int max_length, char *enumeration[], char *pattern[])`| Replace to support fault_msg in case of errors |
|
||||
| function | `bbf_validate_string(char *value, int min_length, int max_length, char *enumeration[], char *pattern[])` | `int bbfdm_validate_string(struct dmctx *ctx, char *value, int min_length, int max_length, char *enumeration[], char *pattern[])`| Replace to support fault_msg in case of errors |
|
||||
| function | `bbf_validate_boolean(char *value)` | `int bbfdm_validate_boolean(struct dmctx *ctx, char *value)` | Replace to support fault_msg in case of errors |
|
||||
|
|
@ -34,6 +43,10 @@ Following table has deprecated and new APIs, datatypes:
|
|||
| function | `dm_validate_unsignedLong_list(char *value, int min_item, int max_item, int max_size, struct range_args r_args[], int r_args_size)` | `int bbfdm_validate_unsignedLong_list(struct dmctx *ctx, char *value, int min_item, int max_item, int max_size, struct range_args r_args[], int r_args_size)` | Replace to support fault_msg in case of errors |
|
||||
| function | `dm_validate_long_list(char *value, int min_item, int max_item, int max_size, struct range_args r_args[], int r_args_size)` | `int bbfdm_validate_long_list(struct dmctx *ctx, char *value, int min_item, int max_item, int max_size, struct range_args r_args[], int r_args_size)`| Replace to support fault_msg in case of errors |
|
||||
| function | `dm_validate_hexBinary_list(char *value, int min_item, int max_item, int max_size, struct range_args r_args[], int r_args_size)` | `int bbfdm_validate_hexBinary_list(struct dmctx *ctx, char *value, int min_item, int max_item, int max_size, struct range_args r_args[], int r_args_size)` | Replace to support fault_msg in case of errors |
|
||||
| function | `int dm_entry_validate_allowed_objects(struct dmctx *ctx, char *value, char *objects[])` | `int dm_validate_allowed_objects(struct dmctx *ctx, struct dm_reference *reference, char *objects[])` | Replaced with a generic API that is accessible for both internal (bbfdm core) and external (microservices) data models |
|
||||
| function | `int dm_entry_validate_external_linker_allowed_objects(struct dmctx *ctx, char *value, char *objects[])` | `int dm_validate_allowed_objects(struct dmctx *ctx, struct dm_reference *reference, char *objects[])` | Replaced with a generic API that is accessible for both internal (bbfdm core) and external (microservices) data models |
|
||||
| function | `int adm_entry_get_linker_param(struct dmctx *ctx, char *param, char *linker, char **value)` | | Removed, no more required |
|
||||
| function | `int adm_entry_get_linker_value(struct dmctx *ctx, char *param, char **value)` | | Removed, no more required |
|
||||
| enum | `CMD_SUCCESS` | | Removed, no more required |
|
||||
| enum | `CMD_INVALID_ARGUMENTS` | | Removed, no more required |
|
||||
| enum | `CMD_FAIL` | | Removed, no more required |
|
||||
|
|
@ -160,199 +160,8 @@ In this function, there are two functions that need to be defined:
|
|||
|
||||
* `handle_instance_without_section` function: allow to attribute the instances number/alias with constant values.
|
||||
|
||||
- function to link the instances: To link each instance to the data model tree, it's necessary to call `DM_LINK_INST_OBJ()` API for every instance. Additionally, it's recommended to utilize the generic structure `(struct dm_data *)` as the passed `data` at each instance level. This structure will be utilized later in functions related to sub-objects and parameters (Get/Set/Add/Delete/Operate/Event).
|
||||
- function to link the instances: To link each instance to the data model tree, it's necessary to call `DM_LINK_INST_OBJ()` API for every instance. Additionally, it's **mandatory** to use the generic structure `(struct dm_data *)` as passed `data` at each instance level in order to maintain the capability to extend the data model using `JSON` plugin. This structure will be utilized later in functions related to sub-objects and parameters (Get/Set/Add/Delete/Operate/Event).
|
||||
|
||||
> Note1: the browse function is only developed for multi-instances objects.
|
||||
|
||||
> Note2: you can use [bbf_test plugin](../../test/bbf_test/bbf_test.c) as a reference in order to develop any new object/leaf/browse.
|
||||
|
||||
> Note3: Extending the object list below using `JSON` Plugin is prohibited because the `data` passed in `DM_LINK_INST_OBJ()` API differs from the generic structure `(struct dm_data *)`. To accomplish this task, you have two options: either update the required object to utilize the generic structure in the passed data, or alternatively, use the `DotSo` plugin.
|
||||
|
||||
- Device.ATM.Link.{i}.
|
||||
- Device.ATM.Link.{i}.Stats.
|
||||
- Device.Bridging.Bridge.{i}.
|
||||
- Device.Bridging.Bridge.{i}.Port.{i}.
|
||||
- Device.Bridging.Bridge.{i}.Port.{i}.Stats.
|
||||
- Device.Bridging.Bridge.{i}.STP.
|
||||
- Device.Bridging.Bridge.{i}.VLAN.{i}.
|
||||
- Device.Bridging.Bridge.{i}.VLANPort.{i}.
|
||||
- Device.Bridging.ProviderBridge.{i}.
|
||||
- Device.DHCPv4.Server.Pool.{i}.
|
||||
- Device.DHCPv4.Server.Pool.{i}.Client.{i}.
|
||||
- Device.DHCPv4.Server.Pool.{i}.Client.{i}.IPv4Address.{i}.
|
||||
- Device.DHCPv4.Server.Pool.{i}.Client.{i}.Option.{i}.
|
||||
- Device.DHCPv4.Server.Pool.{i}.StaticAddress.{i}.
|
||||
- Device.DHCPv6.Server.Pool.{i}.Client.{i}.
|
||||
- Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Address.{i}.
|
||||
- Device.DHCPv6.Server.Pool.{i}.Client.{i}.IPv6Prefix.{i}.
|
||||
- Device.DNS.Client.Server.{i}.
|
||||
- Device.DNS.Relay.Forwarding.{i}.
|
||||
- Device.DNS.SD.Service.{i}.
|
||||
- Device.DNS.SD.Service.{i}.TextRecord.{i}.
|
||||
- Device.DSL.Channel.{i}.
|
||||
- Device.DSL.Channel.{i}.Stats.
|
||||
- Device.DSL.Channel.{i}.Stats.CurrentDay.
|
||||
- Device.DSL.Channel.{i}.Stats.LastShowtime.
|
||||
- Device.DSL.Channel.{i}.Stats.QuarterHour.
|
||||
- Device.DSL.Channel.{i}.Stats.Showtime.
|
||||
- Device.DSL.Channel.{i}.Stats.Total.
|
||||
- Device.DSL.Line.{i}.
|
||||
- Device.DSL.Line.{i}.Stats.
|
||||
- Device.DSL.Line.{i}.Stats.CurrentDay.
|
||||
- Device.DSL.Line.{i}.Stats.LastShowtime.
|
||||
- Device.DSL.Line.{i}.Stats.QuarterHour.
|
||||
- Device.DSL.Line.{i}.Stats.Showtime.
|
||||
- Device.DSL.Line.{i}.Stats.Total.
|
||||
- Device.DeviceInfo.FirmwareImage.{i}.
|
||||
- Device.DeviceInfo.MemoryStatus.
|
||||
- Device.DeviceInfo.ProcessStatus.
|
||||
- Device.DeviceInfo.ProcessStatus.Process.{i}.
|
||||
- Device.DeviceInfo.Processor.{i}.
|
||||
- Device.DeviceInfo.VendorConfigFile.{i}.
|
||||
- Device.DynamicDNS.Client.{i}.
|
||||
- Device.DynamicDNS.Client.{i}.Hostname.{i}.
|
||||
- Device.DynamicDNS.Server.{i}.
|
||||
- Device.Ethernet.Interface.{i}.
|
||||
- Device.Ethernet.Interface.{i}.Stats.
|
||||
- Device.Ethernet.Link.{i}.
|
||||
- Device.Ethernet.Link.{i}.Stats.
|
||||
- Device.Ethernet.RMONStats.{i}.
|
||||
- Device.Ethernet.VLANTermination.{i}.
|
||||
- Device.Ethernet.VLANTermination.{i}.Stats.
|
||||
- Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.
|
||||
- Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Stats.
|
||||
- Device.FAST.Line.{i}.
|
||||
- Device.FAST.Line.{i}.Stats.
|
||||
- Device.FAST.Line.{i}.Stats.CurrentDay.
|
||||
- Device.FAST.Line.{i}.Stats.LastShowtime.
|
||||
- Device.FAST.Line.{i}.Stats.QuarterHour.
|
||||
- Device.FAST.Line.{i}.Stats.Showtime.
|
||||
- Device.FAST.Line.{i}.Stats.Total.
|
||||
- Device.Firewall.Chain.{i}.
|
||||
- Device.Firewall.Chain.{i}.Rule.{i}.
|
||||
- Device.Firewall.Level.{i}.
|
||||
- Device.Hosts.AccessControl.{i}.
|
||||
- Device.Hosts.AccessControl.{i}.Schedule.{i}.
|
||||
- Device.Hosts.Host.{i}.
|
||||
- Device.Hosts.Host.{i}.IPv4Address.{i}.
|
||||
- Device.Hosts.Host.{i}.IPv6Address.{i}.
|
||||
- Device.Hosts.Host.{i}.WANStats.
|
||||
- Device.IEEE1905.AL.ForwardingTable.ForwardingRule.{i}.
|
||||
- Device.IEEE1905.AL.Interface.{i}.
|
||||
- Device.IEEE1905.AL.Interface.{i}.Link.{i}.
|
||||
- Device.IEEE1905.AL.Interface.{i}.Link.{i}.Metric.
|
||||
- Device.IEEE1905.AL.Interface.{i}.VendorProperties.{i}.
|
||||
- Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.
|
||||
- Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.BridgingTuple.{i}.
|
||||
- Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.
|
||||
- Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IEEE1905Neighbor.{i}.Metric.{i}.
|
||||
- Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv4Address.{i}.
|
||||
- Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.IPv6Address.{i}.
|
||||
- Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.Interface.{i}.
|
||||
- Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.NonIEEE1905Neighbor.{i}.
|
||||
- Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.VendorProperties.{i}.
|
||||
- Device.IP.Interface.{i}.
|
||||
- Device.IP.Interface.{i}.IPv4Address.{i}.
|
||||
- Device.IP.Interface.{i}.IPv6Address.{i}.
|
||||
- Device.IP.Interface.{i}.IPv6Prefix.{i}.
|
||||
- Device.IP.Interface.{i}.Stats.
|
||||
- Device.IP.Interface.{i}.TWAMPReflector.{i}.
|
||||
- Device.InterfaceStack.{i}.
|
||||
- Device.NAT.PortTrigger.{i}.
|
||||
- Device.NAT.PortTrigger.{i}.Rule.{i}.
|
||||
- Device.PPP.Interface.{i}.
|
||||
- Device.PPP.Interface.{i}.IPCP.
|
||||
- Device.PPP.Interface.{i}.IPv6CP.
|
||||
- Device.PPP.Interface.{i}.PPPoE.
|
||||
- Device.PPP.Interface.{i}.Stats.
|
||||
- Device.PTM.Link.{i}.
|
||||
- Device.PTM.Link.{i}.Stats.
|
||||
- Device.PeriodicStatistics.SampleSet.{i}.
|
||||
- Device.PeriodicStatistics.SampleSet.{i}.Parameter.{i}.
|
||||
- Device.QoS.QueueStats.{i}.
|
||||
- Device.Routing.RouteInformation.InterfaceSetting.{i}.
|
||||
- Device.Routing.Router.{i}.
|
||||
- Device.Routing.Router.{i}.IPv4Forwarding.{i}.
|
||||
- Device.Routing.Router.{i}.IPv6Forwarding.{i}.
|
||||
- Device.SSH.AuthorizedKey.{i}.
|
||||
- Device.SSH.Server.{i}.Session.{i}.
|
||||
- Device.Security.Certificate.{i}.
|
||||
- Device.Services.VoiceService.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallControl.
|
||||
- Device.Services.VoiceService.{i}.CallControl.CallingFeatures.
|
||||
- Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallControl.CallingFeatures.Set.{i}.SCREJ.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallControl.Extension.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallControl.Group.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallControl.IncomingMap.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallControl.Line.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.
|
||||
- Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.DSP.
|
||||
- Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.IncomingCalls.
|
||||
- Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.OutgoingCalls.
|
||||
- Device.Services.VoiceService.{i}.CallControl.Line.{i}.Stats.RTP.
|
||||
- Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallControl.NumberingPlan.{i}.PrefixInfo.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallControl.OutgoingMap.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.DSP.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.DSP.ReceiveCodec.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.DSP.TransmitCodec.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Destination.RTP.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.DSP.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.DSP.ReceiveCodec.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.DSP.TransmitCodec.
|
||||
- Device.Services.VoiceService.{i}.CallLog.{i}.Session.{i}.Source.RTP.
|
||||
- Device.Services.VoiceService.{i}.Capabilities.
|
||||
- Device.Services.VoiceService.{i}.Capabilities.Codec.{i}.
|
||||
- Device.Services.VoiceService.{i}.Capabilities.POTS.
|
||||
- Device.Services.VoiceService.{i}.Capabilities.SIP.
|
||||
- Device.Services.VoiceService.{i}.Capabilities.SIP.Client.
|
||||
- Device.Services.VoiceService.{i}.CodecProfile.{i}.
|
||||
- Device.Services.VoiceService.{i}.DECT.
|
||||
- Device.Services.VoiceService.{i}.DECT.Base.{i}.
|
||||
- Device.Services.VoiceService.{i}.DECT.Portable.{i}.
|
||||
- Device.Services.VoiceService.{i}.POTS.
|
||||
- Device.Services.VoiceService.{i}.POTS.FXS.{i}.
|
||||
- Device.Services.VoiceService.{i}.POTS.FXS.{i}.VoiceProcessing.
|
||||
- Device.Services.VoiceService.{i}.ReservedPorts.
|
||||
- Device.Services.VoiceService.{i}.SIP.
|
||||
- Device.Services.VoiceService.{i}.SIP.Client.{i}.
|
||||
- Device.Services.VoiceService.{i}.SIP.Network.{i}.
|
||||
- Device.Services.VoiceService.{i}.SIP.Network.{i}.FQDNServer.{i}.
|
||||
- Device.Services.VoiceService.{i}.VoIPProfile.{i}.
|
||||
- Device.Services.VoiceService.{i}.VoIPProfile.{i}.RTP.
|
||||
- Device.Services.VoiceService.{i}.VoIPProfile.{i}.RTP.RTCP.
|
||||
- Device.Services.VoiceService.{i}.VoIPProfile.{i}.RTP.SRTP.
|
||||
- Device.SoftwareModules.DeploymentUnit.{i}.
|
||||
- Device.SoftwareModules.ExecEnv.{i}.
|
||||
- Device.SoftwareModules.ExecutionUnit.{i}.
|
||||
- Device.Time.Client.{i}.
|
||||
- Device.Time.Client.{i}.Stats.
|
||||
- Device.Time.Server.{i}.
|
||||
- Device.Time.Server.{i}.Stats.
|
||||
- Device.UPnP.Description.DeviceDescription.{i}.
|
||||
- Device.UPnP.Description.DeviceInstance.{i}.
|
||||
- Device.UPnP.Description.ServiceInstance.{i}.
|
||||
- Device.UPnP.Discovery.Device.{i}.
|
||||
- Device.UPnP.Discovery.RootDevice.{i}.
|
||||
- Device.UPnP.Discovery.Service.{i}.
|
||||
- Device.USB.Interface.{i}.
|
||||
- Device.USB.Interface.{i}.Stats.
|
||||
- Device.USB.Port.{i}.
|
||||
- Device.USB.USBHosts.Host.{i}.
|
||||
- Device.USB.USBHosts.Host.{i}.Device.{i}.
|
||||
- Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.
|
||||
- Device.USB.USBHosts.Host.{i}.Device.{i}.Configuration.{i}.Interface.{i}.
|
||||
- Device.UserInterface.HTTPAccess.{i}.
|
||||
- Device.UserInterface.HTTPAccess.{i}.Session.{i}.
|
||||
- Device.Users.Group.{i}.
|
||||
- Device.Users.Role.{i}.
|
||||
- Device.Users.SupportedShell.{i}.
|
||||
- Device.Users.User.{i}.
|
||||
- Device.XMPP.Connection.{i}.
|
||||
- Device.XMPP.Connection.{i}.Server.{i}.
|
||||
- Device.XMPP.Connection.{i}.Stats.
|
||||
|
|
|
|||
|
|
@ -1,75 +0,0 @@
|
|||
# TR181 DNS datamodel
|
||||
|
||||
Aim of this document is to explain how the DNS Client and Relay datamodel objects are mapped in dnsmasq uci.
|
||||
|
||||
As per the definition in TR-181, Device.DNS.Client resolves FQDN on behalf of device internal application and Device.DNS.Relay allows the forwarding of local network DNS queries to local or external DNS servers.
|
||||
|
||||
For DNS resolution `dnsmasq` package has been used and as per the default configuration of `dnsmasq` it listens on all interfaces and performs the role of both the DNS client and DNS relay by default.
|
||||
|
||||
## Default config
|
||||
```bash
|
||||
config dnsmasq
|
||||
option domainneeded '1'
|
||||
option boguspriv '1'
|
||||
option filterwin2k '0'
|
||||
option localise_queries '1'
|
||||
option rebind_protection '0'
|
||||
option rebind_localhost '1'
|
||||
option local '/lan/'
|
||||
option domain 'lan'
|
||||
option expandhosts '1'
|
||||
option nonegcache '0'
|
||||
option authoritative '1'
|
||||
option readethers '1'
|
||||
option leasefile '/tmp/dhcp.leases'
|
||||
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
|
||||
option nonwildcard '1'
|
||||
option localservice '1'
|
||||
option dhcpscript '/usr/lib/dnsmasq/user-dhcp-script.sh'
|
||||
option ednspacket_max '1232'
|
||||
```
|
||||
|
||||
Now datamodel gives the provision to enable/disable DNS relay/client. So if any user disables the DNS relay that means resolution of the DNS queries from LAN network will stop but internal DNS queries from the device itself will be resolved and if the DNS client has been disabled then internal DNS queries will not resolve but DNS queries from LAN network should be resolved.
|
||||
|
||||
To achieve this requirement whenever DNS client or relay object gets disabled we add a new section of dnsmasq in the UCI. This new section is then dedicated to DNS client and the section is named as `dns_client`, where as the existing dnsmasq section is then used for DNS relay only. We introduce two separate `dnsmasq` sections one for client and one for relay so that, at any point of time we can enable/disable the client and/or the relay without any effect to the other's work.
|
||||
|
||||
## UCI with added new section for DNS client
|
||||
```bash
|
||||
config dnsmasq
|
||||
option domainneeded '1'
|
||||
option boguspriv '1'
|
||||
option filterwin2k '0'
|
||||
option localise_queries '1'
|
||||
option rebind_protection '0'
|
||||
option rebind_localhost '1'
|
||||
option local '/lan/'
|
||||
option domain 'lan'
|
||||
option expandhosts '1'
|
||||
option nonegcache '0'
|
||||
option authoritative '1'
|
||||
option readethers '1'
|
||||
option leasefile '/tmp/dhcp.leases'
|
||||
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
|
||||
option nonwildcard '1'
|
||||
option localservice '1'
|
||||
option dhcpscript '/usr/lib/dnsmasq/user-dhcp-script.sh'
|
||||
option ednspacket_max '1232'
|
||||
list notinterface 'loopback'
|
||||
|
||||
config dnsmasq 'dns_client'
|
||||
option domainneeded '1'
|
||||
option boguspriv '1'
|
||||
option filterwin2k '0'
|
||||
option localise_queries '1'
|
||||
option localservice '0'
|
||||
option rebind_protection '0'
|
||||
option rebind_localhost '1'
|
||||
option expandhosts '1'
|
||||
option nonegcache '0'
|
||||
option authoritative '1'
|
||||
option readethers '1'
|
||||
option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
|
||||
option nonwildcard '1'
|
||||
option ednspacket_max '1232'
|
||||
list interface 'loopback'
|
||||
```
|
||||
|
|
@ -1,111 +0,0 @@
|
|||
# MACVLAN
|
||||
The MACVLAN driver is the newest built-in network driver and offers several unique characteristics. It's a very lightweight driver, because rather than using any Linux bridging or port mapping, it connects container interfaces directly to host interfaces.
|
||||
|
||||
## Deployment Scenario
|
||||
Historically MACVLAN used in iowrt devices to support One Vlan per customer scenario, where MACVLAN devices created over tagged wan interface, one MACVLAN device for a specific service type.
|
||||
|
||||
## Current Issues
|
||||
With vlanconf deprecation, uci option vid no longger available for device sections with type MACVLAN, so the current datamodel implementation needs to be updated.
|
||||
Also the current datamodel implementation is bit complex and caused us several bugs and open corner cases.
|
||||
|
||||
## Proposal for MACVLAN
|
||||
With linux MACVLAN driver, it is possible to create MACVLAN device over untagged interfaces or tagged interface
|
||||
|
||||
### UCI for MACVLAN over untagged interface
|
||||
```bash
|
||||
config device 'mv1'
|
||||
option type 'macvlan'
|
||||
option ifname 'eth4'
|
||||
option name 'eth4_1'
|
||||
|
||||
config device 'mv2'
|
||||
option type 'macvlan'
|
||||
option ifname 'eth4'
|
||||
option name 'eth4_2'
|
||||
|
||||
config interface 'wan1'
|
||||
option device 'eth4_1'
|
||||
option proto 'dhcp'
|
||||
|
||||
config interface 'wan2'
|
||||
option device 'eth4_2'
|
||||
option proto 'dhcp'
|
||||
```
|
||||
|
||||
### UCI for MACVLAN over tagged wan interface
|
||||
```bash
|
||||
config device 'tagged_wan'
|
||||
option type '8021q'
|
||||
option ifname 'eth4'
|
||||
option name 'eth4.100'
|
||||
option vid '100'
|
||||
|
||||
config device 'mv1'
|
||||
option type 'macvlan'
|
||||
option ifname 'eth4.100'
|
||||
option name 'eth4_1'
|
||||
|
||||
config device 'mv2'
|
||||
option type 'macvlan'
|
||||
option ifname 'eth4.100'
|
||||
option name 'eth4_2'
|
||||
|
||||
config interface 'service1'
|
||||
option proto 'dhcp'
|
||||
option ifname 'eth4_1'
|
||||
|
||||
config interface 'service2'
|
||||
option proto 'dhcp'
|
||||
option device 'eth4_2'
|
||||
```
|
||||
|
||||
## Datamodel Proposal
|
||||
Although MACVLAN share some similarities with an Ethernet Link object, but it can't be mapped to the Ethernet.Link, as MACVLAN has to be over vlan termination which creates a cyclic dependency.
|
||||
|
||||
Statndart TR181 datamodel does not include MACVLAN in datamodel, but it has a provision to define vendor specific datamodel interface as described in "4.2.4 Vendor-specific Interface Objects" chapter of TR181.
|
||||
|
||||
To simplify the interface stacking, proposal is to introduce a new vendor specific interface layer between IP.Interface and Ethernet.Link, as below
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[IP.Interface.] --> B[Ethernet.X_IOPSYS_EU_MACVLAN.]
|
||||
B --> C[Ethernet.Link.]
|
||||
```
|
||||
|
||||
It could be possible to create a MACVLAN interface on tagged and untagged interfaces, which could be done as below:
|
||||
|
||||
### Datamodel for MACVLAN over untagged interface
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[IP.Interface.] --> B[Ethernet.X_IOPSYS_EU_MACVLAN.]
|
||||
B --> C[Ethernet.Link.]
|
||||
C --> D[Ethernet.Interface.]
|
||||
```
|
||||
|
||||
### Datamodel for MACVLAN over Tagged interface
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[IP.Interface.] --> B[Ethernet.X_IOPSYS_EU_MACVLAN.]
|
||||
B --> C[Ethernet.VLANTermination.]
|
||||
C --> D[Ethernet.Link.]
|
||||
D --> E[Ethernet.Interface.]
|
||||
```
|
||||
|
||||
#### Datamodel parameter proposal
|
||||
Since this new vendor extention is an interface object, so proposal is to have similar parameter set as on an interface object for it, which is as below:
|
||||
```bash
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Enable
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Status
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Alias
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Name
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.LowerLayers
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.MACAddress
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Stats.BytesSent
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Stats.BytesReceived
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Stats.PacketsSent
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Stats.PacketsReceived
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Stats.ErrorsSent
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Stats.ErrorsReceived
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Stats.DiscardPacketsSent
|
||||
Device.Ethernet.X_IOPSYS_EU_MACVLAN.{i}.Stats.DiscardPacketsReceived
|
||||
```
|
||||
|
|
@ -1,318 +0,0 @@
|
|||
# Datamodel mappings for Device.IEEE1905.
|
||||
|
||||
IEEE1905 datamodel object provides details about the self-node in 'Device.IEEE1905.AL.' Object and it shows the first hop connected IEEE1905 devices in 'Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.{i}.' Object.
|
||||
|
||||
For any 3rd party application like NMS/GUI/UI which wants to show the network topology, has to cross reference between different tables to show the complete network topology.
|
||||
|
||||
Since, this has been now under discussion in Broadband forum, we added support to show the self-node in the NetworkTopology as well.
|
||||
|
||||
Following is an example of an easymesh setup, in this
|
||||
the self-node:
|
||||
**Device.IEEE1905.AL.IEEE1905Id => 46:d4:37:71:b5:00**
|
||||
|
||||
Can also be seen in NetworkTopology:
|
||||
**Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Id => 46:d4:37:71:b5:00**
|
||||
|
||||
```bash
|
||||
root@eagle-44d43771b500:~# bbfdmd -c get Device.IEEE1905.
|
||||
Device.IEEE1905.Version => 1905.1a
|
||||
Device.IEEE1905.AL.IEEE1905Id => 46:d4:37:71:b5:00
|
||||
Device.IEEE1905.AL.Status => Enabled
|
||||
Device.IEEE1905.AL.RegistrarFreqBand => 802.11 5 GHz,802.11 2.4 GHz,802.11 60 GHz
|
||||
Device.IEEE1905.AL.Security.SetupMethod => PBC
|
||||
Device.IEEE1905.AL.Security.Password =>
|
||||
Device.IEEE1905.AL.NetworkingRegistrar.Registrar2dot4 => 00:00:00:00:00:00
|
||||
Device.IEEE1905.AL.NetworkingRegistrar.Registrar5 => 00:00:00:00:00:00
|
||||
Device.IEEE1905.AL.NetworkingRegistrar.Registrar60 => 00:00:00:00:00:00
|
||||
Device.IEEE1905.AL.InterfaceNumberOfEntries => 9
|
||||
Device.IEEE1905.AL.Interface.1.InterfaceId => 44:d4:37:71:b5:01
|
||||
Device.IEEE1905.AL.Interface.1.Status => Up
|
||||
Device.IEEE1905.AL.Interface.1.LowerLayers => Device.Ethernet.Interface.1
|
||||
Device.IEEE1905.AL.Interface.1.MediaType => IEEE 802.3ab
|
||||
Device.IEEE1905.AL.Interface.1.PowerState => On
|
||||
Device.IEEE1905.AL.Interface.1.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.1.LinkNumberOfEntries => 1
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.InterfaceId => 44:d4:37:71:b4:11
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.IEEE1905Id => 46:d4:37:71:b4:10
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.MediaType => IEEE 802.3ab
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.Metric.IEEE802dot1Bridge => 1
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.Metric.PacketErrors => 0
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.Metric.PacketErrorsReceived => 0
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.Metric.TransmittedPackets => 2059
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.Metric.PacketsReceived => 0
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.Metric.MACThroughputCapacity => 0
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.Metric.PHYRate => 0
|
||||
Device.IEEE1905.AL.Interface.1.Link.1.Metric.RSSI => 255
|
||||
Device.IEEE1905.AL.Interface.2.InterfaceId => 44:d4:37:71:b5:01
|
||||
Device.IEEE1905.AL.Interface.2.Status => Up
|
||||
Device.IEEE1905.AL.Interface.2.LowerLayers => Device.Ethernet.Interface.2
|
||||
Device.IEEE1905.AL.Interface.2.MediaType => IEEE 802.3ab
|
||||
Device.IEEE1905.AL.Interface.2.PowerState => On
|
||||
Device.IEEE1905.AL.Interface.2.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.2.LinkNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.3.InterfaceId => 44:d4:37:71:b5:0f
|
||||
Device.IEEE1905.AL.Interface.3.Status => Up
|
||||
Device.IEEE1905.AL.Interface.3.LowerLayers => Device.WiFi.Radio.1
|
||||
Device.IEEE1905.AL.Interface.3.MediaType => IEEE 802.11ax 5.0
|
||||
Device.IEEE1905.AL.Interface.3.PowerState => On
|
||||
Device.IEEE1905.AL.Interface.3.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.3.LinkNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.4.InterfaceId => 3e:d4:37:71:b5:08
|
||||
Device.IEEE1905.AL.Interface.4.Status => Up
|
||||
Device.IEEE1905.AL.Interface.4.LowerLayers => Device.WiFi.Radio.1
|
||||
Device.IEEE1905.AL.Interface.4.MediaType => IEEE 802.11ax 5.0
|
||||
Device.IEEE1905.AL.Interface.4.PowerState => On
|
||||
Device.IEEE1905.AL.Interface.4.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.4.LinkNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.5.InterfaceId => 44:d4:37:71:b5:0e
|
||||
Device.IEEE1905.AL.Interface.5.Status => Up
|
||||
Device.IEEE1905.AL.Interface.5.LowerLayers => Device.WiFi.Radio.2
|
||||
Device.IEEE1905.AL.Interface.5.MediaType => IEEE 802.11ax 2.4
|
||||
Device.IEEE1905.AL.Interface.5.PowerState => On
|
||||
Device.IEEE1905.AL.Interface.5.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.5.LinkNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.6.InterfaceId => 3a:d4:37:71:b5:0f
|
||||
Device.IEEE1905.AL.Interface.6.Status => Up
|
||||
Device.IEEE1905.AL.Interface.6.LowerLayers => Device.WiFi.Radio.2
|
||||
Device.IEEE1905.AL.Interface.6.MediaType => IEEE 802.11ax 2.4
|
||||
Device.IEEE1905.AL.Interface.6.PowerState => On
|
||||
Device.IEEE1905.AL.Interface.6.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.6.LinkNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.7.InterfaceId => 44:d4:37:71:b5:00
|
||||
Device.IEEE1905.AL.Interface.7.Status => Down
|
||||
Device.IEEE1905.AL.Interface.7.LowerLayers =>
|
||||
Device.IEEE1905.AL.Interface.7.MediaType => IEEE 802.3u
|
||||
Device.IEEE1905.AL.Interface.7.PowerState => On
|
||||
Device.IEEE1905.AL.Interface.7.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.7.LinkNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.8.InterfaceId => 44:d4:37:71:b5:00
|
||||
Device.IEEE1905.AL.Interface.8.Status => Down
|
||||
Device.IEEE1905.AL.Interface.8.LowerLayers =>
|
||||
Device.IEEE1905.AL.Interface.8.MediaType => IEEE 802.3u
|
||||
Device.IEEE1905.AL.Interface.8.PowerState => On
|
||||
Device.IEEE1905.AL.Interface.8.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.8.LinkNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.9.InterfaceId => 44:d4:37:71:b5:02
|
||||
Device.IEEE1905.AL.Interface.9.Status => Up
|
||||
Device.IEEE1905.AL.Interface.9.LowerLayers => Device.Ethernet.Interface.3
|
||||
Device.IEEE1905.AL.Interface.9.MediaType => IEEE 802.3u
|
||||
Device.IEEE1905.AL.Interface.9.PowerState => On
|
||||
Device.IEEE1905.AL.Interface.9.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.Interface.9.LinkNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.ForwardingTable.SetForwardingEnabled => 0
|
||||
Device.IEEE1905.AL.ForwardingTable.ForwardingRuleNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.Enable => 1
|
||||
Device.IEEE1905.AL.NetworkTopology.Status => Available
|
||||
Device.IEEE1905.AL.NetworkTopology.MaxChangeLogEntries => 100
|
||||
Device.IEEE1905.AL.NetworkTopology.LastChange =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905DeviceNumberOfEntries => 2
|
||||
Device.IEEE1905.AL.NetworkTopology.ChangeLogNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Id => 46:d4:37:71:b5:00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Version => 1905.1a
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.FriendlyName => 1905Device
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.ManufacturerName => IOPSYS
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.ManufacturerModel => 1905-SampleDev
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.ControlURL =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv4AddressNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6AddressNumberOfEntries => 4
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.InterfaceNumberOfEntries => 9
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.NonIEEE1905NeighborNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905NeighborNumberOfEntries => 1
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.L2NeighborNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.BridgingTupleNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.1.MACAddress => 44:d4:37:71:b5:0f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.1.IPv6Address => fe80::46d4:37ff:fe71:b50f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.1.IPv6AddressType => Unknown
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.1.IPv6AddressOrigin => ::
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.2.MACAddress => 3e:d4:37:71:b5:08
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.2.IPv6Address => fe80::3cd4:37ff:fe71:b508
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.2.IPv6AddressType => Unknown
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.2.IPv6AddressOrigin => ::
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.3.MACAddress => 44:d4:37:71:b5:0e
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.3.IPv6Address => fe80::46d4:37ff:fe71:b50e
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.3.IPv6AddressType => Unknown
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.3.IPv6AddressOrigin => ::
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.4.MACAddress => 3a:d4:37:71:b5:0f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.4.IPv6Address => fe80::38d4:37ff:fe71:b50f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.4.IPv6AddressType => Unknown
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IPv6Address.4.IPv6AddressOrigin => ::
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1.InterfaceId => 44:d4:37:71:b5:01
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1.MediaType => IEEE 802.3ab
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.2.InterfaceId => 44:d4:37:71:b5:01
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.2.MediaType => IEEE 802.3ab
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.2.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.2.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.2.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.2.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.2.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.2.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.3.InterfaceId => 44:d4:37:71:b5:0f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.3.MediaType => IEEE 802.11ax 5.0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.3.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.3.NetworkMembership => 44:d4:37:71:b5:0f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.3.Role => AP
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.3.APChannelBand => 02
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.3.FrequencyIndex1 => 74
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.3.FrequencyIndex2 => 28
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.4.InterfaceId => 3e:d4:37:71:b5:08
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.4.MediaType => IEEE 802.11ax 5.0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.4.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.4.NetworkMembership => 3e:d4:37:71:b5:08
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.4.Role => AP
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.4.APChannelBand => 02
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.4.FrequencyIndex1 => 74
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.4.FrequencyIndex2 => 28
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.5.InterfaceId => 44:d4:37:71:b5:0e
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.5.MediaType => IEEE 802.11ax 2.4
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.5.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.5.NetworkMembership => 44:d4:37:71:b5:0e
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.5.Role => AP
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.5.APChannelBand => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.5.FrequencyIndex1 => 0b
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.5.FrequencyIndex2 => 28
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.6.InterfaceId => 3a:d4:37:71:b5:0f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.6.MediaType => IEEE 802.11ax 2.4
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.6.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.6.NetworkMembership => 3a:d4:37:71:b5:0f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.6.Role => AP
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.6.APChannelBand => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.6.FrequencyIndex1 => 0b
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.6.FrequencyIndex2 => 28
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.7.InterfaceId => 44:d4:37:71:b5:00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.7.MediaType => IEEE 802.3u
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.7.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.7.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.7.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.7.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.7.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.7.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.8.InterfaceId => 44:d4:37:71:b5:00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.8.MediaType => IEEE 802.3u
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.8.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.8.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.8.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.8.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.8.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.8.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.9.InterfaceId => 44:d4:37:71:b5:02
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.9.MediaType => IEEE 802.3u
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.9.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.9.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.9.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.9.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.9.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.9.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.LocalInterface => Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.NeighborDeviceId => 46:d4:37:71:b4:10
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.MetricNumberOfEntries => 1
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.NeighborMACAddress => 44:d4:37:71:b4:11
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.IEEE802dot1Bridge => 1
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.PacketErrors => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.PacketErrorsReceived => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.TransmittedPackets => 2059
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.PacketsReceived => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.MACThroughputCapacity => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.LinkAvailability => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.PHYRate => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.IEEE1905Neighbor.1.Metric.1.RSSI => 255
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.BridgingTuple.1.InterfaceList => Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.1,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.3,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.4,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.5,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.1.Interface.6
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Id => 46:d4:37:71:b4:10
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Version => 1905.1
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.FriendlyName =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.ManufacturerName =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.ManufacturerModel =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.ControlURL =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.VendorPropertiesNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IPv4AddressNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IPv6AddressNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.InterfaceNumberOfEntries => 8
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.NonIEEE1905NeighborNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905NeighborNumberOfEntries => 1
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.L2NeighborNumberOfEntries => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.BridgingTupleNumberOfEntries => 1
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1.InterfaceId => 44:d4:37:71:b4:11
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1.MediaType => IEEE 802.3ab
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.2.InterfaceId => 7e:d4:37:71:b4:18
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.2.MediaType => IEEE 802_11AX
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.2.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.2.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.2.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.2.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.2.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.2.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.3.InterfaceId => 7e:d4:37:71:b4:19
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.3.MediaType => IEEE 802_11AX
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.3.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.3.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.3.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.3.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.3.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.3.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.4.InterfaceId => 7a:d4:37:71:b4:1f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.4.MediaType => IEEE 802_11AX
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.4.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.4.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.4.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.4.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.4.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.4.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.5.InterfaceId => 7a:d4:37:71:b4:10
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.5.MediaType => IEEE 802_11AX
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.5.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.5.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.5.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.5.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.5.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.5.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.6.InterfaceId => 44:d4:37:71:b4:10
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.6.MediaType => IEEE 802.3u
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.6.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.6.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.6.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.6.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.6.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.6.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.7.InterfaceId => 44:d4:37:71:b4:1f
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.7.MediaType => IEEE 802.3ab
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.7.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.7.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.7.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.7.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.7.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.7.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.8.InterfaceId => 44:d4:37:71:b4:1e
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.8.MediaType => IEEE 802.3ab
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.8.PowerState => On
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.8.NetworkMembership =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.8.Role =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.8.APChannelBand =>
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.8.FrequencyIndex1 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.8.FrequencyIndex2 => 00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.LocalInterface => Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.NeighborDeviceId => 46:d4:37:71:b5:00
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.MetricNumberOfEntries => 1
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.NeighborMACAddress => 44:d4:37:71:b4:11
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.IEEE802dot1Bridge => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.PacketErrors => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.PacketErrorsReceived => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.TransmittedPackets => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.PacketsReceived => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.MACThroughputCapacity => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.LinkAvailability => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.PHYRate => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.IEEE1905Neighbor.1.Metric.1.RSSI => 0
|
||||
Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.BridgingTuple.1.InterfaceList => Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.1,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.2,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.3,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.4,Device.IEEE1905.AL.NetworkTopology.IEEE1905Device.2.Interface.5
|
||||
```
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
# How to test IPLayerCapicity
|
||||
To test the IPLayerCapacity for uplink and downlink `obudpst` tool can be used. This is a client/server software utility to demonstrate one approach of doing IP capacity measurements.
|
||||
|
||||
## Usage for server mode
|
||||
Before starting a IPLayerCapacity diagnostic it is needed to have a server to which the CPE will communicate.
|
||||
So need to start the server on a host which is reachable from the CPE for a successful diagnostic result. Below is the command to start `obudpst` server.
|
||||
|
||||
```
|
||||
root@asd:/#udpst -4 -v -D [ip]
|
||||
```
|
||||
| option | info |
|
||||
|--------|----------------------------------------------------------|
|
||||
| [ip] | IP address of the interface on which server will listen |
|
||||
| -4 | Use IPv4 address family |
|
||||
| -v | Verbose mode enable |
|
||||
| -D | Enable debug logs |
|
||||
|
||||
|
||||
## How to start IPLayerCapacity diagnostic on CPE
|
||||
For a minimal testing below are the parameters need to be configured on CPE.
|
||||
- Device.IP.Diagnostics.IPLayerCapacityMetrics.Interface => Interface instance on which client will bind
|
||||
- Device.IP.Diagnostics.IPLayerCapacityMetrics.Role => `Sender` for uplink `Receiver` for downlink test
|
||||
- Device.IP.Diagnostics.IPLayerCapacityMetrics.Host => Server address
|
||||
|
||||
After setting the above parameters, need to set `Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState` to `Requested` for starting the test.
|
||||
Above test will produce incremental result if the test success. To check the status of the test just do get of `Device.IP.Diagnostics.IPLayerCapacityMetrics.DiagnosticsState`.
|
||||
If test will succeed then to check the result do get of `Device.IP.Diagnostics.IPLayerCapacityMetrics.IncrementalResult.`.
|
||||
|
||||
### How to collect ModalResult
|
||||
For running bimodal test, along with the above parameters an additional parameter `Device.IP.Diagnostics.IPLayerCapacityMetrics.NumberFirstModeTestSubIntervals` need to set with the value for e.g 2 (must be lower than `NumberTestSubInterval` parameter value, which is by default 10 and must be greater than 0). This parameter should be configured before starting the test.
|
||||
|
||||
To collect the bimodal test result, do get of `Device.IP.Diagnostics.IPLayerCapacityMetrics.ModalResult.`.
|
||||
|
||||
> Note: IPLayerCapacity test starts after the end of currently running CWMP session if the DiagnosticsState is set to `Requested`
|
||||
|
|
@ -1,261 +0,0 @@
|
|||
# Wireless configuration using TR-181
|
||||
|
||||
The purpose of this document is to explain the TR181 datamodel parameters handling/mapping for the wireless configuration.
|
||||
|
||||
Before TR181 - v2.13, wifi configuration was modeled for a single device and managed with following objects
|
||||
|
||||
- WiFi.Radio.
|
||||
- maps to actual wireless radios present in the system, which is driven from 'config wifi-device' uci sections of wireless uci
|
||||
- WiFi.SSID.
|
||||
- Provides SSID related configuration, which is driven from 'config wifi-iface' uci sections of wireless uci, with 'option mode' set as 'ap'
|
||||
- WiFi.AccessPoint.
|
||||
- Provides Access related configuration for a SSID, this maps 1-to-1 with SSID mapped 'config wifi-iface' section of wireless uci
|
||||
- WiFi.EndPoint.
|
||||
- Used to manage/define STA(s) in the system, maps to 'config wifi-iface' uci section of wireless uci, with 'option mode' set as 'sta'
|
||||
|
||||
|
||||
With TR181 - 2.14, it also provides a way to configure/manage easy-mesh controller, with the help of 'Device.WiFi.DataElements.' object.
|
||||
So, now it is possible to manage/optimize wifi network configuration on a easymesh network devices including self node.
|
||||
|
||||
More information about easymesh available in this [link](https://www.wi-fi.org/discover-wi-fi/specifications)
|
||||
|
||||
## Uci examples
|
||||
|
||||
Example wireless uci
|
||||
```bash
|
||||
config wifi-device 'wl0'
|
||||
option type 'mac80211'
|
||||
option channel 'auto'
|
||||
option band '5g'
|
||||
option country 'DE'
|
||||
option htmode 'HE80'
|
||||
option apsta '0
|
||||
option phy 'phy0'
|
||||
|
||||
config wifi-iface 'default_wl0'
|
||||
option device 'wl0'
|
||||
option network 'lan'
|
||||
option mode 'ap'
|
||||
option ifname 'wl0'
|
||||
option ssid 'test'
|
||||
option uuid 'd3d3e3e6-e5de-4453-9483-44D43771B500'
|
||||
option key 'VGVQOB2WX3E5OU'
|
||||
option wps '1'
|
||||
option wps_pushbutton '1'
|
||||
option ieee80211k '1'
|
||||
option ieee80211v '1'
|
||||
option bss_transition '1'
|
||||
option multicast_to_unicast '1'
|
||||
option multi_ap '2'
|
||||
option encryption 'sae-mixed'
|
||||
option ieee80211w '1'
|
||||
option mbo '1'
|
||||
option wps_device_type '6-0050f204-1'
|
||||
option isolate '0'
|
||||
option disabled '0'
|
||||
option multi_ap_backhaul_ssid 'MAP-44D43771B500-BH-5GHz'
|
||||
option multi_ap_backhaul_key '4e89e7a73ce54d765d48c61bd2cf82e18a807e7b1f231456663836b2641c8bf'
|
||||
|
||||
config wifi-device 'wl1'
|
||||
option type 'mac80211'
|
||||
option channel 'auto'
|
||||
option band '2g'
|
||||
option country 'DE'
|
||||
option htmode 'HE20'
|
||||
option apsta '0'
|
||||
option phy 'phy1'
|
||||
|
||||
config wifi-iface 'default_wl1'
|
||||
option device 'wl1'
|
||||
option network 'lan'
|
||||
option mode 'ap'
|
||||
option ifname 'wl1'
|
||||
option ssid 'iopsysWrt-44D43771B500'
|
||||
option uuid 'd3d3e3e6-e5de-4453-9483-44D43771B500'
|
||||
option key 'VGVQOB2WX3E5OU'
|
||||
option wps '1'
|
||||
option wps_pushbutton '1'
|
||||
option ieee80211k '1'
|
||||
option ieee80211v '1'
|
||||
option bss_transition '1'
|
||||
option multicast_to_unicast '1'
|
||||
option multi_ap '2'
|
||||
option encryption 'sae-mixed'
|
||||
option ieee80211w '1'
|
||||
option mbo '1'
|
||||
option wps_device_type '6-0050f204-1'
|
||||
option isolate '0'
|
||||
option disabled '0'
|
||||
option multi_ap_backhaul_ssid 'MAP-44D43771B500-BH-2.4GHz'
|
||||
option multi_ap_backhaul_key '4e89e7a73ce54d765d48c61bd2cf82e18a807e7b1f231456663836b2641c8bf'
|
||||
|
||||
config wifi-iface 'wl0_1_ap'
|
||||
option ifname 'wl0.1'
|
||||
option ieee80211k '1'
|
||||
option bss_transition '1'
|
||||
option uuid 'd3d3e3e6-e5de-4453-9483-44D43771B500'
|
||||
option hidden '1'
|
||||
option network 'lan'
|
||||
option ssid 'MAP-44D43771B500-BH-5GHz'
|
||||
option key '4e89e7a73ce54d765d48c61bd2cf82e18a807e7b1f231456663836b2641c8bf'
|
||||
option encryption 'sae'
|
||||
option mode 'ap'
|
||||
option device 'wl0'
|
||||
option multi_ap '1'
|
||||
option ieee80211w '2'
|
||||
option mbo '1'
|
||||
option multicast_to_unicast '0'
|
||||
option isolate '0'
|
||||
option disabled '0'
|
||||
|
||||
config wifi-iface 'wl1_1_ap'
|
||||
option ifname 'wl1.1'
|
||||
option ieee80211k '1'
|
||||
option bss_transition '1'
|
||||
option uuid 'd3d3e3e6-e5de-4453-9483-44D43771B500'
|
||||
option hidden '1'
|
||||
option network 'lan'
|
||||
option ssid 'MAP-44D43771B500-BH-2.4GHz'
|
||||
option key '4e89e7a73ce54d765d48c61bd2cf82e18a807e7b1f231456663836b2641c8bf'
|
||||
option encryption 'sae'
|
||||
option mode 'ap'
|
||||
option device 'wl1'
|
||||
option multi_ap '1'
|
||||
option ieee80211w '2'
|
||||
option mbo '1'
|
||||
option multicast_to_unicast '0'
|
||||
option isolate '0'
|
||||
option disabled '0'
|
||||
```
|
||||
|
||||
Example map-controller uci
|
||||
|
||||
```bash
|
||||
config controller 'controller'
|
||||
option enabled '1'
|
||||
option profile '4'
|
||||
option registrar '2 5 6'
|
||||
option debug '0'
|
||||
option bcn_metrics_max_num '10'
|
||||
option initial_channel_scan '0'
|
||||
option enable_ts '0'
|
||||
option primary_vid '1'
|
||||
option primary_pcp '0'
|
||||
option allow_bgdfs '0'
|
||||
option channel_plan '0'
|
||||
option de_collect_interval '60'
|
||||
|
||||
config sta_steering
|
||||
option steer_module 'rcpi'
|
||||
option enabled '1'
|
||||
option enable_sta_steer '0'
|
||||
option enable_bsta_steer '0'
|
||||
option use_bcn_metrics '0'
|
||||
option use_usta_metrics '0'
|
||||
option bandsteer '0'
|
||||
option diffsnr '8'
|
||||
option rcpi_threshold_2g '70'
|
||||
option rcpi_threshold_5g '86'
|
||||
option rcpi_threshold_6g '86'
|
||||
option report_rcpi_threshold_2g '80'
|
||||
option report_rcpi_threshold_5g '96'
|
||||
option report_rcpi_threshold_6g '96'
|
||||
|
||||
config ap
|
||||
option band '2'
|
||||
option ssid 'iopsysWrt-44D43771B500'
|
||||
option encryption 'sae-mixed'
|
||||
option key 'VGVQOB2WX3E5OU'
|
||||
option vid '1'
|
||||
option type 'fronthaul'
|
||||
|
||||
config ap
|
||||
option band '5'
|
||||
option ssid 'iopsysWrt-44D43771B500'
|
||||
option encryption 'sae-mixed'
|
||||
option key 'VGVQOB2WX3E5OU'
|
||||
option vid '1'
|
||||
option type 'fronthaul'
|
||||
|
||||
config ap
|
||||
option band '6'
|
||||
option ssid 'iopsysWrt-44D43771B500'
|
||||
option encryption 'sae'
|
||||
option key 'VGVQOB2WX3E5OU'
|
||||
option vid '1'
|
||||
option type 'fronthaul'
|
||||
|
||||
config ap
|
||||
option band '2'
|
||||
option ssid 'MAP-44D43771B500-BH-2.4GHz'
|
||||
option encryption 'sae'
|
||||
option key '4e89e7a73ce54d765d48c61bd2cf82e18a807e7b1f231456663836b2641c8bf'
|
||||
option type 'backhaul'
|
||||
option vid '1'
|
||||
|
||||
config ap
|
||||
option band '5'
|
||||
option ssid 'MAP-44D43771B500-BH-5GHz'
|
||||
option encryption 'sae'
|
||||
option key '4e89e7a73ce54d765d48c61bd2cf82e18a807e7b1f231456663836b2641c8bf'
|
||||
option type 'backhaul'
|
||||
option vid '1'
|
||||
|
||||
config ap
|
||||
option band '6'
|
||||
option ssid 'MAP-44D43771B500-BH-6GHz'
|
||||
option encryption 'sae'
|
||||
option key '4e89e7a73ce54d765d48c61bd2cf82e18a807e7b1f231456663836b2641c8bf'
|
||||
option type 'backhaul'
|
||||
option vid '1'
|
||||
|
||||
config node 'node_46d43771b500'
|
||||
option agent_id '46:d4:37:71:b5:00'
|
||||
|
||||
config radio 'radio_44d43771b50f'
|
||||
option agent_id '46:d4:37:71:b5:00'
|
||||
option macaddr '44:d4:37:71:b5:0f'
|
||||
option band '5'
|
||||
|
||||
config radio 'radio_44d43771b50e'
|
||||
option agent_id '46:d4:37:71:b5:00'
|
||||
option macaddr '44:d4:37:71:b5:0e'
|
||||
option band '2'
|
||||
|
||||
config node 'node_46d43771b410'
|
||||
option agent_id '46:d4:37:71:b4:10'
|
||||
|
||||
config radio 'radio_44d43771b41f'
|
||||
option agent_id '46:d4:37:71:b4:10'
|
||||
option macaddr '44:d4:37:71:b4:1f'
|
||||
option band '5'
|
||||
|
||||
config radio 'radio_44d43771b41e'
|
||||
option agent_id '46:d4:37:71:b4:10'
|
||||
option macaddr '44:d4:37:71:b4:1e'
|
||||
option band '2'
|
||||
```
|
||||
|
||||
# Ambiguity in self node management
|
||||
Now, with the inclusion of 'DataElement', we have two control points to manage the SSID and AccessPoint related configurations, either with
|
||||
- WiFi.DataElements., or
|
||||
- WiFi.SSID./WiFi.AccessPoint.
|
||||
|
||||
|
||||
TR181 definition for WiFi management does not address this ambiguity and its bit open for the Easymesh enabled cpe.
|
||||
|
||||
To simplify the same in our implementation,
|
||||
- WiFi.SSID./WiFi.AccessPoint. objects maps 1-to-1 with wireless uci, which means it shows non-multi-ap access-points, fronthaul-access-points and backhaul-access-points
|
||||
- Any updates done using WiFi.SSID./WiFi.AccessPoint. objects specifically in SSID, Password, EncryptionType and Enable parameters also propagated to `mapcontroller` uci as well in case of Easymesh device for 'multi_ap' access-points.
|
||||
|
||||
> Note: If 'multi_ap' option is defined in wireless uci and its corresponding section not present in `mapcontroller` uci, then an error will be returned when the user tries to modify any configuration for those wireless access-point.
|
||||
|
||||
# Easymesh management from TR181
|
||||
'Device.WiFi.DataElements.' table used for managing Easymesh nodes, regardless of if the node is self node or a remote network node, the management ownership owned by easy-mesh controller.
|
||||
|
||||
Easymesh controller provides an ubus object to show the current/active configuration, and an uci to configure the input parameters.
|
||||
|
||||
Any configuration update in easymesh uci might take some time to apply the same in network, and to update it in the ubus object output.
|
||||
So, datamodel parameters which maps to 'WiFi.DataElements.' table might also show the old values until the configuration not propagated to the network node by easymesh controller.
|
||||
|
||||
> Note: To verify the new configuration, either user can wait for a significant time before getting the datamodel and verify the configuration, or they can subscribe for ValueChange notification with a max timeout to handler the same.
|
||||
|
|
@ -212,7 +212,17 @@
|
|||
"proto": "git",
|
||||
"version": "devel",
|
||||
"dm_files": [
|
||||
"bbf_plugin/*.c"
|
||||
"bbf_plugin/ethernet.c",
|
||||
"bbf_plugin/dmlayer.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "https://dev.iopsys.eu/hal/ethmngr.git",
|
||||
"proto": "git",
|
||||
"version": "devel",
|
||||
"dm_files": [
|
||||
"bbf_plugin/vendor_ethernet.c",
|
||||
"bbf_plugin/dmlayer.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -291,6 +301,16 @@
|
|||
"dm_files": [
|
||||
"src/dataelements.c"
|
||||
]
|
||||
},
|
||||
{
|
||||
"repo": "https://dev.iopsys.eu/hal/mcastmngr.git",
|
||||
"proto": "git",
|
||||
"version": "devel",
|
||||
"dm_files": [
|
||||
"bbf_plugin/mcast_bbf.c",
|
||||
"bbf_plugin/x_iopsys_eu_igmp.c",
|
||||
"bbf_plugin/x_iopsys_eu_mld.c"
|
||||
]
|
||||
}
|
||||
],
|
||||
"output": {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue