zoukankan      html  css  js  c++  java
  • Zigbee 对路由请求的原语处理

    NLME-ROUTE-DISCOVERY.request

    这里是对 NLME-ROUTE-DISCOVERY.request的解读。

    NLME-ROUTE-DISCOVER.request{
        DstAddrMode, // mode (简记,方便后面描述, 下同)
        DstAddr,    // addr
        Radius,
        NoRouteCache    // cache
    }
    NameTypeValid RangeDesc
    mode Integer 0-2 0(no destination address) 
    1(16 bit nwk addr of a multicst group) 
    2(16 bit nwk address of an individual device)
    addr 16-bit any nwk addr 如果mode=0, 该字段不存在
    Radius integer 0x0-0xff 限制转次跳数
    cache bool true/false 禁止建立 路由记录表(route record table) 
    TRUE no 
    FALSE ,establish a route record table

    本地处理

      • ZIGBEE END 接收到这条原语(primitive) 返回状态 INVALID_REQUEST
      • mode != 0, addr 为广播, 返回 INVALID_REQUEST
      • FFD设备接收到, 但设备本身没有路由能力, mode != 0, 则使用 NLME_ROUTE-DISCOVERY.confirm(ROUTE_ERROR ,4)返回
      • FFD设备接收到,本身拥有路由能力, mode = 2, 启动网络层来进行路由发现,试图建立当前设备跟addr之间的路由
      • FFD设备接收到,本身拥有路由能力, mode = 1, 网络层检查设备的nwkGroupIDTable 来判断是否为小组成员,如果是小组成员, NLME-ROUTE-DISCOVERY.confirm(SUCCESS), 停止后续的处理。如果不是小组成员,则网络层会继续进行路由发现,找到当前设备与group id标定设备之间的路由。
      • FFD设备接收到,本身拥有路由能力, mode = 0,网络层管理实体发起MANY-TO-ONE路由发现,这一部分在3.6.3.5.1描述。
      • 以上3种情况中任意1种路由发现,设备会发送一个route discovery command frame 来开展路由发现。若是mode=0, 则立即返回SUCCESS, mode!=0的情况下,要等收到一个route reply command frame 或者 操作超时 (timeout)。 收到路由应答则返回SUCCESS, 没有收到则返回ROUTE_ERROR。
    ------------------------------------------------ Newbit Studio, 感谢你的光临 http://weibo.com/newbittech ------------------------------------------------
  • 相关阅读:
    linux Linux下USB无线网卡WL167G、TLWN321G驱动安装过程详解
    linux CW_EPPC_8.8在linux下的安装和卸载
    linux Linux diff与patch的深入分析
    linux 嵌入式2.6.37wifivnt6656移植驱动
    linux 华为ET128 &中兴ZTE MU351移动TDSCDMA G3上网卡 .
    linux CW8.8 编译 提示缺少libstdc++.so.5的error
    linux codewarrior 8.8 for powerpc 在win7经常崩溃的解决方法
    linux ubuntu 安装smb共享文件夹
    [zt]c++builder调用VC的dll以及VC调用c++builder的dll
    电子认证服务管理办法
  • 原文地址:https://www.cnblogs.com/newbit/p/15397824.html
Copyright © 2011-2022 走看看