Subject: [6tisch] about 6top MIB

From: Qin Wang <[email-masked]>
Date: Wed, 8 Jan 2014 22:28:24 +0800

Hi Xavi, Thomas and all,

For developing 6top YANG model, a 6top MIB in table format is extracted
from 6top commands. Please see the attached file. For your convenience, I
also copy and paste it as following.

***************************************************************************************************

1.       Cell list. A cell, identified by linkHandle, has attributes as
follows.

name

type

range

description

CellID

Integer

0x0000-0xffff

LinkHandle in IEEE802154e

SlotframeID

Integer

0x00-0xff

slotframeHandle in IEEE802154

slotOffset

Integer

0x0000-0xffff

Defined in IEEE802154e

channalOffset

Integer

0-15

Defined in IEEE802154e

LinkOption

Bitmap

b0 = Transmit, b1 = Receive, b2 = Shared, b3= Timekeeping,

b4–b7 reserved

Defined in IEEE802154

LinkType

Enumeration

NORMAL = 0. ADVERTISING = 1,

Defined in IEEE802154

CellType

Enumeration

Hard =1, Soft =0

6top

Target node address

Integer

0x0000-0xffff

Defined in IEEE802154e

TrackID

Integer

0x0000-0xffff

6top

StatisticsMetriceID

integer

0x00-0xff

StatisticsValue

integer

0x0000-0xffff

Its meaning depends on StatisticsMetriceID

Note: statistics per cell

2.       Slotframe list. A slotframe, identified by slotframeID (i.e.
slotframeHandle), has attributes as follows.

name

type

range

description

SlotframeID

Integer

0x00-0xff

slotframeHandle in IEEE802154e

Number of timeslots

integer

0x0000-0xffff

Size in IEEE802154e

3.       Monitoring status list. A monitoring status, identified by
MonitoringStatusID, is

name

type

range

description

MonitoringStatusID

Integer

0x0000-0xffff

6top

slotframeID

Integer

0x00-0xff

slotframeHandle in IEEE802154e

Target node address

Integer

0x0000-0xffff

Defined in IEEE802154e

Enforce policy

Enumeration

DISABLE=0, BEST_EFFORT=1,

STRICT=2,         OVER-PROVISION=3

6top, current enforced QoS policy

allocated_hard

Integer

0x0000-0xffff

Number of hard cells allocated

allocated_soft

Integer

0x0000-0xffff

Number of soft cells allocated

overprovisioned

Integer

0x0000-0xffff

Overprovisioned cells. 0 if CONFIGURE.qos enforce is DISABLE

QoS

Integer

0x0000-0xffff

Current QoS including overprovisioned cells, i.e. the bandwidth obtained
including the overprovisioned cells.

RQoS

Integer

0x0000-0xffff

real QoS without provisioned cells, i.e. the actual bandwidth without
taking into account the overprovisioned cells.

Note: statistics on (target node & slotframe)

4.       Statistics Metric list. A statistics metric, identified by
StatisticsMetricID, has attributes as follows.

name

type

range

description

StatisticsMetriceID

Integer

0x0000-0xffff

6top

Metric

Enumeration

PDR=0, ETX=1, RSSI=2, LQI=3

The metric to be monitored.

Window

integer

0x0000-0xffff

Period, in Number of the slotframe size

Enable

Enumeration

Enable=1, Disenable=0

Note: remove attribute “cell”, and use StatisticsMetriceID as index.

5.       EB list. A EB, identified by EbID, has attributes as follows.

name

type

range

description

EbID

Integer

0x00-0xff

6top

CellID

Integer

0x0000-0xffff

LinkHandle in IEEE802154e

Period

Integer

0x0000-0xffff

the EBs period, in seconds

Expiration

enumeration

In-Use =0, expired =1

when the EBs periodicity will stop.  If Zero the period never stops.

priority:

.

Integer

0x00-0xff

the joining priority model that will be used for advertisement.  Joining
priority MAY be for example SAME_AS_PARENT, RANDOM, BEST_PARENT+1 or
DAGRANK(rank) as Described in [I-D.vilajosana-6tisch-minimal]

6.       Timesource

name

type

range

description

policy

enumeration

ALL_PARENTS=0,

BEST_CONNECTED=1, LOWEST_JOIN_PRIORITY=2,

The policy used to select the time source neighbor

Target node address

Integer

0x0000-0xffff

address of the time source neighbor

Min time correction

Integer

0x0000-0xffff

In microsecond

Max time correction

Integer

0x0000-0xffff

In microsecond

Ave time correction

Integer

0x0000-0xffff

In microsecond

7.       Neigobor list. A neighbor, identified by neighbor address, has
attributes as follows.

name

type

range

description

neighbor address

Integer

0x0000-0xffff

address of the neighbor

RSSI

Integer

0x00-0xff

RSSI when last receiving a packet

LinkQuality

Integer

0x00-0xff

The LQI at which the network beacon was received. Defined in IEEE802154

ASN

Integer

0x0000000000-0xffffffffff

ASN when that neighbor has been added

8.       Queue list. A queue, identified by QueueID, has attributes as
follows.

name

type

range

description

QueueID

Integer

0x00-0xff

txqlength

Integer

0x00-0xff

the desired transmission queue length

rxqlength

Integer

0x00-0xff

the desired reception queue length

numrtx

Integer

0x00-0xff

number of allowed retransmissions.

age

Integer

0x0000-0xffff

In second. Discard packet according to its age on the queue. 0 if no
discards are allowed.

rtxbackoff:

Integer

0x00-0xff

retransmission backoff in number of slotframes. 0 if next available
timeslot wants to be used.

statswindow:

integer

0x0000-0xffff

In second, window of time used to compute stats

Queue priority

Integer

0x00-0xff

TrackIDs

Integer

0x0000-0xffff

a set of TrackIDs.  While it is empty, no specific track is associated with
the queue

Min length of tx queue

integer

0x00-0xff

statistics

Max length of tx queue

integer

0x00-0xff

Statistics

Ave length of tx queue

integer

0x00-0xff

Statistics

Min length of rx queue

integer

0x00-0xff

Statistics

Max length of rx queue

integer

0x00-0xff

Statistics

Ave length of rx queue

integer

0x00-0xff

Statistics

Min retransmission

integer

0x00-0xff

Statistics

Max retransmission

integer

0x00-0xff

Statistics

Ave retransmission

integer

0x00-0xff

Statistics

Min age of packet in queue

integer

0x0000-0xffff

Statistics. In second

Max age of packet in queue

integer

0x0000-0xffff

Statistics. In second

Ave age of packet in queue

integer

0x00ff-0xffff

Statistics. In second

Min backoff

integer

0x00-0xff

Statistics. In number of slotframe

Max backoff

integer

0x00-0xff

Statistics. In number of slotframe

Ave backoff

integer

0x00-0xff

Statistics. In number of slotframe

Question: does it mean a queue can be used as both txq and rxq at same
time? Should it be queueType = TX or RX, and txrxqlength?

9.       Labelswitch list. A label switch, identified by LabelSwitchID, has
the following attributes

name

type

range

description

LabelSwitchID

Integer

0x00-0xff

Input cells

List of cellIDs

one or more cells in a bundle

Output cells

List of cellIDs

one or more cells in a bundle

load balancing policy

enumeration

ROUND=0,

ROBIN=1

Question: How about replacing “input cells” with “input bundle”, “output
cells” with “output bundle”?

10.   Bundle list. A bundle, identified by BundleID, has the following
attributes.

Name

type

range

description

BundleID

Integer

0x00-0xff

Target node address

Integer

0x0000-0xffff

List of cellIDs

StatisticsMetricID

integer

0x00-0xff

StatisticsValue

integer

0x0000-0xffff

Meaning depends on StatisticsMetricID

11.   Track list. A track, identified by TrackID, has the following
attributes.

Name

type

range

description

TrackID

Integer

0x0000-0xffff || 0x00-0xff

A TrackID is a tuple (TrackOwnerAddr,InstanceID), where TrackOwnerAddr is
the address of the node which initializes the process of creating the
track, i.e., the owner of the track; and InstanceID is an instance
identifier given by the owner of the track.  InstanceID comes from upper
layer;   InstanceID could for example be the local instance ID defined in
RPL.

12.   Chunk list. A chunk, identified by ChunkID, has the following
attributes.

Name

type

range

description

ChunkID

Integer

0x0000-0xffff

slotframeID

Integer

0x00-0xff

List of chunk-cell, A chunk cell has the following attributes

slotOffset

integer

0x0000-0xffff

channelOffset

integer

0x0000-0xffff

status

Enumeration

Unassigned=0

Assigned=1

Note: need to discuss more.

**************************************************************************************************

Besides the notes and questions in the document, I have the following
questions for you.

1. In the current version of 6top MIB, security related tables are removed,
because it belongs to IEEE802154. As we discussed before, 6top YANG model
will include 6top MIB, IEEE80154 PIB and IEEE802154e PIB. Thus, the
security related tables will be expressed in 6top YANG model, but not be
part of 6top MIB. What do you think?

2. There are three threads of statistics in the current version of 6top
MIB, i.e.
   - Per cell, see “cell list”
   - Per set of cells @(target node address & slotframe ID), see “neighbor
list”
   - Per bundle, i.e. per set of cells @( target node address), see “bundle
list”
What do you think?

Thanks
Qin

---

From: Thomas Watteyne <[email-masked]>
Date: Wed, 8 Jan 2014 22:41:47 -0800

Qin,

Great document. A couple of quick remarks and questions to start the
discussion:
- in Table 1, I would argue that the "target node address" could be its
long and/or short IEEE802.15.4 address.
- in Table 1, is it possible to have multiple statistics being gathered at
the same time for a cell? Any suggestion on the example metricsID?
- Each element in the monitoring status list (Table 3) represents the
monitoring action of 6top on communication with a particular neighbor.
Correct?
- About Table 4, what does an entry correspond to? A single cell, or a
bundle with a neighbor?
- Could you comment on the expiration element in Table 5?
- The way the queues are described in the 6top draft, there are multiple TX
queues, but no RX queues. Maybe keep the same?

Thomas

On Wed, Jan 8, 2014 at 6:28 AM, Qin Wang <[email-masked]> wrote:

> a set of TrackIDs.  While it is empty, no specific track is associated
> with the queue
>
> Min length of tx queue
>
> integer
>
> 0x00-0xff
>
> statistics
>
> Max length of tx queue
>
> integer
>
> 0x00-0xff
>
> Statistics
>
> Ave length of tx queue
>
> integer
>
> 0x00-0xff
>
> Statistics
>
> Min length of rx queue
>
> integer
>
> 0x00-0xff
>
> Statistics
>
> Max length of rx queue
>
> integer
>
> 0x00-0xff
>
> Statistics
>
> Ave length of rx queue
>
> integer
>
> 0x00-0xff
>
> Statistics
>
> Min retransmission
>
> integer
>
> 0x00-0xff
>
> Statistics
>
> Max retransmission
>
> integer
>
> 0x00-0xff
>
> Statistics
>
> Ave retransmission
>
> integer
>
> 0x00-0xff
>
> Statistics
>
> 9.       Labelswitch list. A label switch, identified by LabelSwitchID,
> has the following attributes
>
> name
>
> type
>
> range
>
> description
>
> LabelSwitchID
>
> Integer
>
> 0x00-0xff
>
>
>
> Input cells
>
> List of cellIDs
>
>
>
> 1. In the current version of 6top MIB, security related tables are
> removed, because it belongs to IEEE802154. As we discussed before, 6top
> YANG model will include 6top MIB, IEEE80154 PIB and IEEE802154e PIB. Thus,
> the security related tables will be expressed in 6top YANG model, but not
> be part of 6top MIB. What do you think?
>
>    - Per bundle, i.e. per set of cells @( target node address), see
> “bundle list”
> What do you think?
>
> Thanks
> Qin
>
>
> _______________________________________________
> 6tisch mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/6tisch
>
>

---

From: Qin Wang <[email-masked]>
Date: Fri, 10 Jan 2014 04:05:39 +0800

Hi Thomas,

Besides the comment on "target node address" on a previous email, here is
my consideration to your other questions.

1. For multiple statistics: change the statistics related part in Table 1
(cell list) and Table 10 (bundle list) to:

 NumOfStatistics

Integer

0x00-0xff

List of (StatisticsMetriceID, StatisticsValue)

StatisticsMetriceID

integer

0x0000-0xffff

StatisticsValue

integer

0x0000-0xffff

Their meaning depends on the value of Metrics indexed by StatisticsMetricsID

2. Each entry in table 3 (Monitoring Status List)  represents the
monitoring action of 6top on communication with a particular neighbor at a
specific slotframe, because it is supposed that a soft cell will be
re-allocated in same slotframe. Does it make sense?

3. A entry of Table 4 defines a pattern to do statistics, which can be used
per cell or per bundle, see Table 1 and Table 10. Therefore, a entry of
Table 4 can correspond to more than one cells or bundles. Make sense?

4. Regarding to expiration attribute in Table 5, the value range should be "0:
Never Stop, 1: expired when period time is achieved" . Make sense?

5. Regarding to Rx queues. In my mind, when a node receives a packet, if
the node is destination, the packet will be processed immediately,
otherwise the packet will be move to one of Tx queues for forwarding. If
the microprocessor in the node is not fast enough to process the
packet immediately,  a internal queue should be needed. But the internal
queue is implementation dependent, e.g. the microprocessor used, and thus
I'm not sure if the queue should be included in 6top. Thought?

Thanks
Qin

On Thu, Jan 9, 2014 at 2:41 PM, Thomas Watteyne
<[email-masked]>wrote:

> - The way the queues are described in the 6top draft, there are multiple
> TX queues, but no RX queues. Maybe keep the same?
>
> Thomas
>
>
> ...
> [Message clipped]

---

From: Tom Phinney <[email-masked]>
Date: Thu, 09 Jan 2014 17:13:25 -0700

On 2014.01.09 13:05, Qin Wang wrote:

Hi Thomas,

Besides the comment on "target node address" on a previous
email, here is my consideration to your other questions.

1. For multiple statistics: change the statistics related
part in Table 1 (cell list) and Table 10 (bundle list) to:

NumOfStatistics

Integer

0x00-0xff

List
of (StatisticsMetriceID, StatisticsValue)

StatisticsMetriceID

integer

0x0000-0xffff

StatisticsValue

integer

0x0000-0xffff

Their meaning depends on the value of
Metrics indexed by StatisticsMetricsID

2. Each entry in table 3 (Monitoring Status List)  represents
the monitoring action of 6top on communication with a
particular neighbor at a specific slotframe, because it is
supposed that a soft cell will be re-allocated in same
slotframe. Does it make sense?

3.
A entry of Table 4 defines a pattern to do statistics, which
can be used per cell or per bundle, see Table 1 and Table
10. Therefore, a entry of Table 4 can correspond to more
than one cells or bundles. Make sense?

4.
Regarding to expiration attribute in Table 5, the value
range should be "0:
Never Stop, 1:
expired
when period time is achieved" . Make
sense?

5. Regarding to Rx queues.
In my mind, when a node receives a packet, if the node is
destination, the packet will be processed immediately,
otherwise the packet will be move to one of Tx queues for
forwarding. If the microprocessor in the node is not fast
enough to process the packet immediately,  a internal queue
should be needed. But the internal queue is implementation
dependent, e.g. the microprocessor used, and thus I'm not
sure if the queue should be included in 6top. Thought?

Not. Internal implementation
considerations AFTER delivery are not things that the
communication subsystem should measure.

Thanks

Qin

On Thu, Jan 9, 2014 at 2:41 PM, Thomas Watteyne <[email-masked]>
wrote:

Qin,

Great document. A couple of quick remarks and
questions to start the discussion:

- in Table 1, I would argue that the "target node
address" could be its long and/or short IEEE802.15.4
address.

- in Table 1, is it possible to have multiple
statistics being gathered at the same time for a cell?
Any suggestion on the example metricsID?

- Each element in the monitoring status list (Table
3) represents the monitoring action of 6top on
communication with a particular neighbor. Correct?

- About Table 4, what does an entry correspond to? A
single cell, or a bundle with a neighbor?

- Could you comment on the expiration element in
Table 5?

- The way the queues are described in the 6top draft,
there are multiple TX queues, but no RX queues. Maybe
keep the same?

Thomas

On Wed, Jan 8, 2014 at 6:28 AM, Qin
Wang <[email-masked]>
wrote:

Hi Xavi, Thomas and all,

For developing 6top YANG model, a 6top MIB
in table format is extracted from 6top
commands. Please see the attached file. For
your convenience, I also copy and paste it as
following.

1.
Cell
list. A cell, identified
by linkHandle, has attributes as follows.

name

type

range

description

CellID

Integer

0x0000-0xffff

LinkHandle in
IEEE802154e

SlotframeID

Integer

0x00-0xff

slotframeHandle in
IEEE802154

slotOffset

Integer

0x0000-0xffff

Defined in
IEEE802154e

channalOffset

Integer

0-15

Defined in
IEEE802154e

LinkOption

Bitmap

b0
= Transmit, b1 = Receive, b2 =
Shared, b3= Timekeeping,

b4–b7 reserved

Defined in IEEE802154

LinkType

Enumeration

NORMAL = 0.
ADVERTISING = 1,

Defined in IEEE802154

CellType

Enumeration

Hard =1, Soft =0

6top

Target node address

Integer

0x0000-0xffff

Defined in
IEEE802154e

TrackID

Integer

0x0000-0xffff

6top

StatisticsMetriceID

integer

0x00-0xff

StatisticsValue

integer

0x0000-0xffff

Its
meaning depends on
StatisticsMetriceID

2.
Slotframe
list. A slotframe,
identified by slotframeID (i.e.
slotframeHandle), has attributes as
follows.

name

type

range

description

SlotframeID

Integer

0x00-0xff

slotframeHandle in
IEEE802154e

Number of timeslots

integer

0x0000-0xffff

Size in IEEE802154e

3.
Monitoring
status list. A
monitoring status, identified by
MonitoringStatusID, is

name

type

range

description

MonitoringStatusID

Integer

0x0000-0xffff

6top

slotframeID

Integer

0x00-0xff

slotframeHandle in
IEEE802154e

Target node address

Integer

0x0000-0xffff

Defined in
IEEE802154e

Enforce policy

Enumeration

DISABLE=0,
BEST_EFFORT=1,

STRICT=2,
OVER-PROVISION=3

6top,
current enforced QoS policy

allocated_hard

Integer

0x0000-0xffff

Number
of hard cells allocated

allocated_soft

Integer

0x0000-0xffff

Number
of soft cells allocated

overprovisioned

Integer

0x0000-0xffff

Overprovisioned
cells. 0 if CONFIGURE.qos enforce
is DISABLE

QoS

Integer

0x0000-0xffff

Current
QoS including overprovisioned
cells, i.e. the bandwidth obtained
including the overprovisioned
cells.

RQoS

Integer

0x0000-0xffff

real
QoS without provisioned cells,
i.e. the actual bandwidth without
taking into account the
overprovisioned cells.

Note: statistics on (target
node & slotframe)

4.
Statistics
Metric list. A
statistics metric, identified by
StatisticsMetricID, has attributes as
follows.

name

type

range

description

StatisticsMetriceID

Integer

0x0000-0xffff

6top

Metric

Enumeration

PDR=0,
ETX=1, RSSI=2, LQI=3

The metric to be
monitored.

Window

integer

0x0000-0xffff

Period, in Number of
the slotframe size

Enable

Enumeration

Enable=1, Disenable=0

Note: remove attribute
“cell”, and use StatisticsMetriceID
as index.

5.
EB list.
A EB, identified by EbID,
has attributes as follows.

name

type

range

description

EbID

Integer

0x00-0xff

6top

CellID

Integer

0x0000-0xffff

LinkHandle in
IEEE802154e

Period

Integer

0x0000-0xffff

the EBs period, in
seconds

Expiration

enumeration

In-Use =0, expired =1

when the EBs
periodicity will stop.  If Zero
the period never stops.

priority:

.

Integer

0x00-0xff

the
joining priority model that will
be used for advertisement.
Joining priority MAY be for
example SAME_AS_PARENT, RANDOM,
BEST_PARENT+1 or DAGRANK(rank) as
Described in
[I-D.vilajosana-6tisch-minimal]

6.
Timesource

name

type

range

description

policy

enumeration

ALL_PARENTS=0,

BEST_CONNECTED=1,
LOWEST_JOIN_PRIORITY=2,

The policy used to
select the time source neighbor

Target node address

Integer

0x0000-0xffff

address of the time
source neighbor

Min time correction

Integer

0x0000-0xffff

In microsecond

Max time correction

Integer

0x0000-0xffff

In microsecond

Ave time correction

Integer

0x0000-0xffff

In microsecond

7.
Neigobor
list. A neighbor,
identified by neighbor address, has
attributes as follows.

name

type

range

description

neighbor address

Integer

0x0000-0xffff

address of the
neighbor

RSSI

Integer

0x00-0xff

RSSI when last
receiving a packet

LinkQuality

Integer

0x00-0xff

The
LQI at which the network
beacon was received.
Defined in IEEE802154

ASN

Integer

ASN when that
neighbor has been added

8.
Queue
list. A queue, identified
by QueueID, has attributes as follows.

name

type

range

description

QueueID

Integer

0x00-0xff

txqlength

Integer

0x00-0xff

the desired
transmission queue length

rxqlength

Integer

0x00-0xff

the desired reception
queue length

numrtx

Integer

0x00-0xff

number of allowed
retransmissions.

age

Integer

0x0000-0xffff

In second. Discard
packet according to its age on the
queue. 0 if no discards are
allowed.

rtxbackoff:

Integer

0x00-0xff

retransmission
backoff in number of slotframes. 0
if next available timeslot wants
to be used.

statswindow:

integer

0x0000-0xffff

In second, window of
time used to compute stats

Queue priority

Integer

0x00-0xff

TrackIDs

Integer

0x0000-0xffff

a set of TrackIDs.
While it is empty, no specific
track is associated with the queue

Min length of tx
queue

integer

0x00-0xff

statistics

Max length of tx
queue

integer

0x00-0xff

Statistics

Ave length of tx
queue

integer

0x00-0xff

Statistics

Min length of rx
queue

integer

0x00-0xff

Statistics

Max length of rx
queue

integer

0x00-0xff

Statistics

Ave length of rx
queue

integer

0x00-0xff

Statistics

Min retransmission

integer

0x00-0xff

Statistics

Max retransmission

integer

0x00-0xff

Statistics

Ave retransmission

integer

0x00-0xff

Statistics

Min age of packet in
queue

integer

0x0000-0xffff

Statistics. In second

Max age of packet in
queue

integer

0x0000-0xffff

Statistics. In second

Ave age of packet in
queue

integer

0x00ff-0xffff

Statistics. In second

Min backoff

integer

0x00-0xff

Statistics. In number
of slotframe

Max backoff

integer

0x00-0xff

Statistics. In number
of slotframe

Ave backoff

integer

0x00-0xff

Statistics. In number
of slotframe

Question: does it mean a
queue can be used as both txq and rxq at
same time? Should it be queueType = TX or
RX, and txrxqlength?

9.
Labelswitch
list. A label
switch, identified by LabelSwitchID, has
the following attributes

name

type

range

description

LabelSwitchID

Integer

0x00-0xff

...

[Message clipped]