blob: ec315d653aac376c867da7097a1f4678beae1abc [file] [log] [blame]
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -08001/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
Alexander Afanasyevdfa52c42014-04-24 21:10:11 -07002/**
3 * Copyright (c) 2013-2014, Regents of the University of California.
4 * All rights reserved.
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -08005 *
Alexander Afanasyevdfa52c42014-04-24 21:10:11 -07006 * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
7 * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -08008 *
Alexander Afanasyevdfa52c42014-04-24 21:10:11 -07009 * This file licensed under New BSD License. See COPYING for detailed information about
10 * ndn-cxx library copyright, permissions, and redistribution restrictions.
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080011 */
12
Alexander Afanasyev258ec2b2014-05-14 16:15:37 -070013#ifndef NDN_ENCODING_TLV_NFD_HPP
14#define NDN_ENCODING_TLV_NFD_HPP
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080015
Junxiao Shi28908b72014-03-15 23:25:45 -070016#include "../common.hpp"
17
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080018namespace ndn {
19namespace tlv {
Alexander Afanasyev6d48bc12014-02-18 00:10:51 -080020namespace nfd {
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080021
Junxiao Shi7b1ba1a2014-03-29 01:01:56 -070022// NFD Management protocol
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080023enum {
Junxiao Shibc19b372014-03-23 16:59:25 -070024 // ControlParameters
25 ControlParameters = 104,
26 FaceId = 105,
27 Uri = 114,
28 LocalControlFeature = 110,
Junxiao Shi5f6c74f2014-04-18 16:29:44 -070029 Origin = 111,
Junxiao Shibc19b372014-03-23 16:59:25 -070030 Cost = 106,
Junxiao Shi5f6c74f2014-04-18 16:29:44 -070031 Flags = 108,
Junxiao Shibc19b372014-03-23 16:59:25 -070032 Strategy = 107,
Junxiao Shi5f6c74f2014-04-18 16:29:44 -070033 ExpirationPeriod = 109,
Junxiao Shibc19b372014-03-23 16:59:25 -070034
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080035 // ControlResponse
36 ControlResponse = 101,
37 StatusCode = 102,
38 StatusText = 103,
39
Junxiao Shi5109dee2014-03-27 19:40:30 -070040 // ForwarderStatus
Junxiao Shi28908b72014-03-15 23:25:45 -070041 NfdVersion = 128,
42 StartTimestamp = 129,
43 CurrentTimestamp = 130,
44 NNameTreeEntries = 131,
45 NFibEntries = 132,
46 NPitEntries = 133,
47 NMeasurementsEntries = 134,
48 NCsEntries = 135,
Junxiao Shi5109dee2014-03-27 19:40:30 -070049 NInInterests = 144,
50 NInDatas = 145,
51 NOutInterests = 146,
Junxiao Shi7b1ba1a2014-03-29 01:01:56 -070052 NOutDatas = 147,
53
54 // Face Management
55 FaceStatus = 128,
56 LocalUri = 129,
Alexander Afanasyev4671bf72014-05-19 09:01:37 -040057 ChannelStatus = 130,
Junxiao Shi7b1ba1a2014-03-29 01:01:56 -070058 FaceFlags = 194,
59 FaceEventNotification = 192,
60 FaceEventKind = 193,
61
62 // FIB Management
63 FibEntry = 128,
Alexander Afanasyev4671bf72014-05-19 09:01:37 -040064 NextHopRecord = 129,
65
66 // Strategy Choice Management
67 StrategyChoice = 128
68
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080069};
70
Alexander Afanasyev6d48bc12014-02-18 00:10:51 -080071enum {
72 // Local Control Header
73 LocalControlHeader = 80,
74 IncomingFaceId = 81,
75 NextHopFaceId = 82
76};
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080077
Alexander Afanasyev6d48bc12014-02-18 00:10:51 -080078} // namespace nfd
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080079} // namespace tlv
hilataa99e37e2014-02-15 23:52:46 -060080
81namespace nfd {
82
83const uint64_t INVALID_FACE_ID = std::numeric_limits<uint64_t>::max();
84
85} // namespace nfd
86
Alexander Afanasyeveaf105c2014-01-30 17:40:24 -080087} // namespace ndn
88
Alexander Afanasyev258ec2b2014-05-14 16:15:37 -070089#endif // NDN_ENCODING_TLV_NFD_HPP