Ejemplo n.º 1
0
def create_default_network_diag_tlv_factories():
    return {
        network_diag.TlvType.EXT_ADDRESS:
        network_layer.MacExtendedAddressFactory(),
        network_diag.TlvType.ADDRESS16:
        mle.Address16Factory(),
        network_diag.TlvType.MODE:
        mle.ModeFactory(),
        network_diag.TlvType.POLLING_PERIOD:
        mle.TimeoutFactory(),
        network_diag.TlvType.CONNECTIVITY:
        mle.ConnectivityFactory(),
        network_diag.TlvType.ROUTE64:
        create_default_mle_tlv_route64_factory(),
        network_diag.TlvType.LEADER_DATA:
        mle.LeaderDataFactory(),
        network_diag.TlvType.NETWORK_DATA:
        create_default_mle_tlv_network_data_factory(),
        network_diag.TlvType.IPV6_ADDRESS_LIST:
        network_diag.Ipv6AddressListFactory(),
        network_diag.TlvType.MAC_COUNTERS:
        network_diag.MacCountersFactory(),
        network_diag.TlvType.BATTERY_LEVEL:
        network_diag.BatteryLevelFactory(),
        network_diag.TlvType.SUPPLY_VOLTAGE:
        network_diag.SupplyVoltageFactory(),
        network_diag.TlvType.CHILD_TABLE:
        network_diag.ChildTableFactory(),
        network_diag.TlvType.CHANNEL_PAGES:
        network_diag.ChannelPagesFactory(),
        network_diag.TlvType.TYPE_LIST:
        network_diag.TypeListFactory(),
        network_diag.TlvType.MAX_CHILD_TIMEOUT:
        network_diag.MaxChildTimeoutFactory()
    }
Ejemplo n.º 2
0
def create_deafult_network_tlvs_factories():
    return {
        network_layer.TlvType.TARGET_EID:
        network_layer.TargetEidFactory(),
        network_layer.TlvType.MAC_EXTENDED_ADDRESS:
        network_layer.MacExtendedAddressFactory(),
        network_layer.TlvType.RLOC16:
        network_layer.Rloc16Factory(),
        network_layer.TlvType.ML_EID:
        network_layer.MlEidFactory(),
        network_layer.TlvType.STATUS:
        network_layer.StatusFactory(),
        network_layer.TlvType.TIME_SINCE_LAST_TRANSACTION:
        network_layer.TimeSinceLastTransactionFactory(),
        network_layer.TlvType.ROUTER_MASK:
        network_layer.RouterMaskFactory(),
        network_layer.TlvType.ND_OPTION:
        network_layer.NdOptionFactory(),
        network_layer.TlvType.ND_DATA:
        network_layer.NdDataFactory(),
        network_layer.TlvType.THREAD_NETWORK_DATA:
        network_layer.ThreadNetworkDataFactory(
            create_default_network_data_tlvs_factory()),

        # Routing information are distributed in a Thread network by MLE Routing TLV
        # which is in fact MLE Route64 TLV. Thread specificaton v1.1. - Chapter 5.20
        network_layer.TlvType.MLE_ROUTING:
        create_default_mle_tlv_route64_factory()
    }
Ejemplo n.º 3
0
    def test_should_create_MacExtendedAddress_from_bytearray_when_parse_method_is_called(
            self):
        # GIVEN
        mac_address = any_mac_extended_address()

        factory = network_layer.MacExtendedAddressFactory()

        # WHEN
        mac_extended_address = factory.parse(io.BytesIO(mac_address),
                                             common.MessageInfo())

        # THEN
        self.assertTrue(
            isinstance(mac_extended_address, network_layer.MacExtendedAddress))
        self.assertEqual(mac_address, mac_extended_address.mac_address)