2009-06-04 13:29:31

by Maxim Osipov

[permalink] [raw]
Subject: [RFC] ieee802154 configuration interface (iz)

Hello,

I'm working currently on defining a command line configuration
interface for ieee802154 stack, keeping in mind further possible
extensions with ZigBee support, etc.

Current version below, however we have a heavy discussion regarding
design of the tool, and main questions are the following:

1. Is it better to have a single tool for configuration of all
protocols or one for ieee802154 (iz), one for ZigBee (zb) and so on?
2. Is it better to have a command defined (like "iz dev wpan0 poll")
and returning "Not implemented" or not defined at all?
3. Does it make sense to have a "phy" class? Currently we do not
provide any netlink interface to ieee802154 PHY, but I consider it may
be useful a) for testing b) for user-space implementation of certain
protocols.

Would appreciate comments and suggestions.

-----

iz [options] [class command]

Options:
-d [--debug] - print netlink messages and other debug information
-v [--version] - print version
-h [--help] - print help

Classes:
all - all known object classes
phy - radio (master, PHY) interfaces
dev - network interfaces (IEEE802.15.4 MAC, ZigBee, ...)

Common commands:
list - list all interfaces of class(es)
event - monitor events of class(es) from the kernel
add <iface> - add interface
del <iface> - delete interface

IEEE 802.15.4 PHY specific commands:
cca - perform clear channel assignment procedure
ed - perform energy detect procedure
set-trx-state - change transmitter state
get - get PIB value
set - set PIB value

Events are: CCA-CONF, ED-CONF, SET-TRX-STATE-CONF, GET-CONF, SET-CONF

IEEE 802.15.4 MAC specific commands:
associate - associate with a network
disassociate - disassociate from a network
gts - configure guaranteed time slots
orphan-response - react to orphan indication
reset - reset
rx-enable - enable receiver
scan - perform scan
start - start node
sync - synchronize with a beacon
poll - poll for data
get - get MIB value
set - set MIB value

Events are: ASSOCIATE-IND, ASSOCIATE-CONF, DISASSOCIATE-IND,
DISASSOCIATE-CONF, BEACON-IND...

ZigBee specific commands:
net-discovery - discover networks operating within device visibility
net-formation - start a new network as a coordinator
permit-join - start accepting devices to a network (router or coordinator)
start-router - start router activities (router)
ed-scan - request energy detection scan
join - join/rejoin a network or change operating channel
direct-join - directly join another device to a network
leave - leave a network
reset - perform reset operation
sync - synchronize (with coordinator or router) or check for pending data
route-discovery - initiate route discovery
get - get NIB or AIB value
set - set NIB or AIB value

Events are: NET-DISCOVERY-CONF, NET-FORMATION-CONF,
PERMIT-JOINING-CONF, START-ROUTER-CONF, ED-SCAN-CONF, JOIN-IND,
JOIN-CONF...

Kind regards,
Maxim