Project

General

Profile

Actions

CsMgmt » History » Revision 8

« Previous | Revision 8/20 (diff) | Next »
Junxiao Shi, 01/21/2018 04:47 PM


Content Store Management

Content Store Management is a module of NFD Management protocol.
It provides commands and datasets about the Content Store and its usage in forwarding.

Content Store Management commands and datasets are available under namespace ndn:/localhost/nfd/cs.

Control Commands

ControlCommand management-module: cs

Update config

command-verb: config

This command updates CS configuration.
To discover the current configuration, either retrieve the CS Information Dataset, or send an empty config command.

ControlParameters fields:

  • Capacity (optional): maximum number of CS entries.
  • Flags (optional): CS enablement flags (see below).
  • Mask (optional): must be specified if Flags is present, or omitted if Flags is omitted.

Flags is an inclusive OR of CS enablement flags.
1=CS_ENABLE_ADMIT, enables the CS to admit new Data.
2=CS_ENABLE_SERVE, enables the CS to satisfy Interests using cached Data.
The initial value of the CS is CS_ENABLE_ADMIT | CS_ENABLE_SERVE.

If all fields are omitted, the command has no effect but is still considered successful.

If the command succeeds, <Body> in ControlResponse block contains updated ControlParameters reflecting current configuration:

  • Capacity (required)
  • Flags (required)

Note to future protocol designers: when the CS is extended to have multiple storage tiers (such as RAM and SSD), ControlParameter shall have an optional Name field to indicate the storage tier being configured.

Erase entry

command-verb: erase

(to be defined in #4318)

CS Information Dataset

CS config and runtime performance are published as a Status Dataset at ndn:/localhost/nfd/cs/info.

CsInfo ::= CS-INFO-TYPE TLV-LENGTH
             Capacity
             Flags
             NCsEntries
             NHits
             NMisses

(TLVs have nonNegativeInteger as value)

Note to future protocol designers: in CsInfo element, fields that reflect configuration shall be placed before fields that reflect runtime counters.

Note to future protocol designers: when the CS is extended to have multiple storage tiers (such as RAM and SSD), each storage tier shall have separate counters, multiple CsInfo elements appear in the dataset and each has a Name field as the first child to indicate the storage tier.

CS Enumeration

A subset of CS entries can be queried into a Status Dataset under ndn:/localhost/nfd/cs/query.

CsQuery ::= CS-QUERY-TYPE TLV-LENGTH
                Name
                PacketSize
                FreshnessPeriod

(TLVs have nonNegativeInteger as value)

TLV-TYPE assignments

Type Assigned number Assigned number (hex)
CsInfo 128 0x80
Capacity 131 0x83
Flags 108 0x6c
NCsEntries 135 0x87
NHits 129 0x81
NMisses 130 0x82

Updated by Junxiao Shi about 6 years ago · 8 revisions