LocalControlHeader » History » Version 4
Alex Afanasyev, 02/05/2014 04:26 PM
1 | 1 | Junxiao Shi | # NFD local control header |
---|---|---|---|
2 | 3 | Alex Afanasyev | |
3 | NFD local control header can be used between application and local forwarding daemon to exchange various NFD-specific local information that is not part of Interest and Data packet. |
||
4 | For example, the control header allows applications to request bypassing the Interest forwarding strategy by directly specify FaceId to which the Interest should be forwarded. |
||
5 | |||
6 | NFD local control header is not enabled by default and requires explicit request from the client to enable. |
||
7 | This request is in form of [[Signed_Interests|Signed Interest]] and have the following structure: |
||
8 | |||
9 | /localhost/nfd/control-header/<command-verb>/<timestamp>/<SignatureInfo>/<SignatureValue> |
||
10 | |||
11 | \ / \ / \ / |
||
12 | ------------ ------------ ---- ----- -------------------- -------------------- |
||
13 | \/ \/ \/ |
||
14 | NFD Control Command "enable" or Signed Interest related information |
||
15 | "disable" |
||
16 | |||
17 | |||
18 | ## LocalControlHeader |
||
19 | |||
20 | If command to enable LocalControlHeader is authorized by NFD, all subsequent communication from NFD will include LocalControlHeader as defined below. |
||
21 | The authorized application will also be able to include LocalControlHeader in communication to NFD---until specifically enabled, all specified LocalControlHeaders should be ignored by NFD. |
||
22 | |||
23 | LocalControlHeader ::= LOCAL-CONTROL-HEADER-TYPE TLV-LENGTH |
||
24 | LocalControlInfo |
||
25 | (Interest | Data) |
||
26 | |||
27 | LocalControlInfo ::= LOCAL-CONTROL-INFO-TYPE TLV-LENGTH |
||
28 | 4 | Alex Afanasyev | (IncomingFaceId | |
29 | OutgoingFaceId | |
||
30 | TapInfo) |
||
31 | 1 | Junxiao Shi | |
32 | 4 | Alex Afanasyev | IncomingFaceId ::= INCOMING-FACE-ID-TYPE TLV-LENGTH |
33 | nonNegativeInteger |
||
34 | 1 | Junxiao Shi | |
35 | 4 | Alex Afanasyev | OutgoingFaceId ::= INCOMING-FACE-ID-TYPE TLV-LENGTH |
36 | nonNegativeInteger |
||
37 | |||
38 | TapInfo ::= TAP-INFO-TYPE TLV-LENGTH |
||
39 | ... |
||
40 | (TBD) |
||
41 | |||
42 | |||
43 | 3 | Alex Afanasyev | ## TLV-TYPE assignments |
44 | |||
45 | Type | Assigned value | Assigned value (hex) |
||
46 | ------------------------------------------- | ----------------- | -------------------- |
||
47 | 1 | Junxiao Shi | LocalControlHeader | 109 | 0x6d |
48 | LocalControlInfo | 110 | 0x6e |
||
49 | 4 | Alex Afanasyev | IncomingFaceId | 111 | 0x6f |
50 | OutgoingFaceId | 112 | 0x70 |
||
51 | TapInfo | 113 | 0x71 |