Skip to main content

Minutes for ROLL at interim-2015-roll-2
minutes-interim-2015-roll-2-1

Meeting Minutes Routing Over Low power and Lossy networks (roll) WG
Date and time 2015-09-29 07:00
Title Minutes for ROLL at interim-2015-roll-2
State Active
Other versions plain text
Last updated 2015-10-13

minutes-interim-2015-roll-2-1
Webex detail
ROLL use-of-rpi
Tuesday, September 29, 20159:00 am  |  Eastern Daylight Time (New York,
GMT-04:00)  |
2 hrs Join WebEx meeting
https://ietf.webex.com/ietf/j.php?MTID=m05c1064b5d2c2aa56ec932073514a5c8
Meeting number:642 820 567
Meeting password:roll
Join by phone1-877-668-4493 Call-in toll free number
(US/Canada)1-650-479-3208 Call-in toll number (US/Canada)
Access code: 642 820 567

   PLEASE PUT YOUR NAME FOR BLUESHEET RECORDING REQUERIMENTS
   Please also put your handle in the upper right pull down, so that your
typing colour is associated with your name.


Participants:

   Michael Richardson (mcr)
   Cenk Gündoğan
   Alexander Aring
   Ines Robles
   Pascal Thubert
   Alvaro Retana


Goal    Fill the respective uses cases

TOPIC

Explain

Traffic flows: Posibility to transmit in
Storing or                Non-Storing mode: RPI,  RH3, IP-in-IP
encapsulation

     -Flow from RPL-aware-leaf to root:                           RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from root to RPL-aware-leaf:                           RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from not-RPL-aware-leaf to root:                       RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from root to not-RPL-aware-leaf:                       RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from RPL-aware-leaf to Internet:                       RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from Internet to RPL-aware-leaf:                       RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from not-RPL-aware-leaf to Internet:                   RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from Internet to not-RPL-aware-leaf:                   RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from RPL-aware-leaf to RPL-aware-leaf:                 RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from RPL-aware-leaf to not-RPL-aware-leaf:             RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from not-RPL-aware-leaf to RPL-aware-leaf:             RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP

     -Flow from not-RPL-aware-leaf to not-RPL-aware-leaf: :       RPI -
RH3 -IP-in-IP -- || Non-S RPI, Non-S RH3, NonS-IP-in-IP


Rule for IPIP header: if we need to insertion or deletion of an extension
header.
- only headers that are in the outer IPIP can be removed by removing the
IPIP header.
- this requires that if a header needs to be removed, then it must be
behind an IPIP header.

RPI should be present in every single RPL data packet.
exception- in non-storing mode, a packet going down from the route: the
entire route is written, so there are no loops of confusion about which
table to use (purpose of instanceID)

HEADERS  FOR NON-STORING MODE

Flow from RPL-aware-leaf to root

RPL-aware-leaf (6LN) --> 6LR --> root (6LBR)

not need to use ip-ip because no header is not going to be removed
not rh3

6LN:
   Inserted headers: RPI
   Removed headers: ----
    Re-added headers:  ----
    Modified headers:  ----
    Untouched headers:

6LR:
   Inserted headers: RH3??? should be the DODAG ROOT
   Removed headers ----
    Re-added headers
    Modified headers
    Untouched headers

6LBR:
   Inserted headers:
   Removed headers:
    Re-added headers
    Modified headers
    Untouched headers

2. Flow from root to RPL-aware-leaf

  root (6LBR)--> 6LR --> RPL-aware-leaf (6LN)

6LBR:
   Inserted headers: (optional: RPI) - RH3 - IPinIP
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: RH3
    Untouched headers

6LN:
   Inserted headers
   Removed headers: RH3 - RPI
    Re-added headers
    Modified headers
    Untouched headers


3. Flow from not-RPL-aware-leaf to root

IPv6-node  --> (6LR) --> 6LR --> root (6LBR)

6LR1:
   Inserted headers : IPIP(RPI)
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR2:
   Inserted headers: RPI, RH3, IPinIP
   Removed headers
        Re-added headers
    Modified headers
    Untouched headers: IPIP(RPI)

6LBR:
   Inserted headers
   Removed headers:
    Re-added headers
    Modified headers
    Untouched headers

4 - Flow from root to not-RPL-aware-leaf

6LBR:
   Inserted headers: optional:RPI, RH3, IPinIP
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: RH3 (fully consumed, but left there)
    Untouched headers: RPI

If the RPI is present, the IPv6 node which does not understand it, will
drop it (because 6553: 0x63 says to drop if unknown)
So, we need to remove RPI, so we might have to put an IPIP if the end
machine is there.
The DAO from 6LR about IPv6 could say if that the final IPv6 is not RPL
(RPI) capable.
  rfc6550: https://tools.ietf.org/html/rfc6550#section-6.7.8

IPv6:
presence of RPI will cause packet to be dropped.
   Inserted headers
   Removed headers: RPI, RH3, IPinIP
    Re-added headers
    Modified headers
    Untouched headers
TODO - recommendation that RPI always be omitted.

5 - Flow from RPL-aware-leaf to Internet

   (requires awareness of what is *external* to LLN)

6LN:
   Inserted headers: IPIP(RPI)IP2(payload)
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers:
   Removed headers:
    Re-added headers:
    Modified headers:
    Untouched headers: RPI

6LBR:
   Inserted headers:
   Removed headers: IPIP(RPI)
    Re-added headers
    Modified headers: IP2 - flow-label computed if zero.
    Untouched headers

INTERNET: never sees RPI or IPIP header.
   Inserted headers: Out of scope?
   Removed headers:  Out of scope?
    Re-added headers:  Out of scope?
    Modified headers:  Out of scope?
    Untouched headers:  Out of scope?

6  -Flow from Internet to RPL-aware-leaf

  If the last RH3 entry is the 6LR, then the IPIP will be removed there,
if the last entry is the 6LN, then the RH3 will go all the way to the leaf.

INTERNET
   Inserted headers: Out of scope?
   Removed headers:  Out of scope?
    Re-added headers:  Out of scope?
    Modified headers:  Out of scope?
    Untouched headers: FLOW label may be set!

6LBR:
   Inserted headers: IPIP(RH3,optional:RPI)   LAST RH3 hop SHOULD be 6LR
(saves bytes)
   Removed headers:
    Re-added headers:
    Modified headers: IP2 - flow label may be "zeroed"
    Untouched headers:

6LR:
   Inserted headers
   Removed headers: IPIP can be removed if RH3 consumed, and no RPI (saved
bytes in last hop)
                    (IPIP MUST be removed if last node is not RPL aware)
    Re-added headers
    Modified headers: ipip(RH3) opt RPI
    Untouched headers

6LN:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

7 -Flow from not-RPL-aware-leaf to Internet

IPv6:
   Inserted headers: IP2 - ignorant of RPL, no headers added.
   Removed headers
    Re-added headers
    Modified headers: flow label is recommended to be zero
    Untouched headers

6LR:
   Inserted headers: IPIP(RPI) IP2
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LBR:
   Inserted headers
   Removed headers: IPIP(RPI)
    Re-added headers
    Modified headers: IP2 - flow-label computed if zero.
    Untouched headers

INTERNET
   Inserted headers: sees no special headers
   Removed headers:  Out of scope?
    Re-added headers:  Out of scope?
    Modified headers:  Out of scope?
    Untouched headers:  Out of scope?

8   -Flow from Internet to not-RPL-aware-leaf

INTERNET
   Inserted headers: Out of scope?
   Removed headers:  Out of scope?
    Re-added headers:  Out of scope?
    Modified headers:  Out of scope?
    Untouched headers:  Out of scope?

6LBR:
   Inserted headers: IPIP(RH3,optional:RPI) RH3 must end at 6LR.
   Removed headers
    Re-added headers
    Modified headers: flow label SHOULD be zeroed
    Untouched headers:

6LR:
   Inserted headers
   Removed headers: IPIP(RH3, RPI)
    Re-added headers
    Modified headers
    Untouched headers

IPv6:
   Inserted headers: sees no magic headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers


9    -Flow from RPL-aware-leaf to RPL-aware-leaf (in same RPL Instance -
domain)  https://tools.ietf.org/html/rfc6550#section-3.1.3


6LN src:
   Inserted headers: IP,RPI,payload              two: IPIP(RPI),IP,payload
{IPIP addressed to 6LBR}
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LBR:
   Inserted headers: IPIP(RH3 to 6LN) {IP,RPI,payload}, two: IPIP(RH3 to
6LR; opt RPI), IP,payload
   Removed headers:                                          IPIP(RPI)
    Re-added headers
    Modified headers
    Untouched headers: RPI

(some implementations have removed RPI at 6LBR.   WHICH IS AGAINST RULES)

6LR:
   Inserted headers
   Removed headers: IPIP(RH3, opt RPI) (two)
    Re-added headers:
    Modified headers
    Untouched headers: RPI

6LN dst:
   Inserted headers:
   Removed headers: IPIP(RH3) {IP,RPI,payload}  (one)
    Re-added headers
    Modified headers
    Untouched headers

TODO: Add a case for different RPL Instance/ Domain


If RPI goes down, then if the 6LN dst is really an IPv6, then the RPI gets
to the destination!
The root knows if the dst is known to be IPv6, and can act properly.

Can only use situation one if 6LN src knows that dst is 6LN.

6LN src:
   Inserted headers: IP,RH3(empty-but-big-enough),RPI,payload



10     -Flow from RPL-aware-leaf to not-RPL-aware-leaf

6LN Src:
   Inserted headers: IPIP(RPI),IP,payload {IPIP addressed to 6LBR}
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LBR:
   Inserted headers: IPIP(RH3, opt RPI), IP, Payload
   Removed headers:  IPIP(RPI)
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers: IPIP(RH3, opt RPI)
    Re-added headers
    Modified headers
    Untouched headers

IPv6:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

11   -Flow from not-RPL-aware-leaf to RPL-aware-leaf

(same as example 9, case "two")

IPv6:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers:  IPIP(RPI), IP, Payload

6LBR:
   Inserted headers:  IPIP(RH3), IP, Payload
   Removed headers: IPIP(RPI)
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LN Dst:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

12    -Flow from not-RPL-aware-leaf to not-RPL-aware-leaf

going down case 2 of 9


IPv6:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers:  IPIP(RPI), IP, Payload


6LBR:
   Inserted headers:  IPIP(RH3), IP, Payload
   Removed headers: IPIP(RPI)
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
    Removed headers: IPIP(RH3, opt RPI)
    Re-added headers
    Modified headers
    Untouched headers

IPv6:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers


HEADERS  FOR  STORING MODE

13 -Flow from RPL-aware-leaf to root

RPL-aware-leaf (6LN) --> 6LR --> root (6LBR

CASE 1, going up there is not difference between S non-S

6LN:
   Inserted headers: RPI
  Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: decrement rank in RPI
    Untouched headers: RPI

6LBR:
   Inserted headers
   Removed headers: consumes packet, including RPI
    Re-added headers
    Modified headers
    Untouched headers

14   -Flow from root to RPL-aware-leaf

     root (6LBR)--> 6LR --> RPL-aware-leaf (6LN)

6LBR:
   Inserted headers: RPI
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: increments rank in RPI (examines instanceID for
multiple tables)
    Untouched headers

6LN:
   Inserted headers
   Removed headers: consumes packet, RPI
    Re-added headers
    Modified headers
    Untouched headers


15  -Flow from not-RPL-aware-leaf to root

case 3: going up there is not difference between S non-S

IPv6:
   Inserted headers: nothing
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers: IPIP(RPI) [also addressed to root]
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LBR:
   Inserted headers
   Removed headers: IPIP(RPI) packet consumed.
    Re-added headers
    Modified headers
    Untouched headers

16  -Flow from root to not-RPL-aware-leaf


6LBR:
   Inserted headers: IPIP(RPI) [addressed to 6LR]
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers: IPIP(RPI)
    Re-added headers
    Modified headers
    Untouched headers

IPv6: sees no extra headers
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers


17     -Flow from RPL-aware-leaf to Internet

[same as case 5?]

6LN:
   Inserted headers: IPIP(RPI) IP[internet]
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: modifies rank in RPI
    Untouched headers

6LBR:
   Inserted headers
   Removed headers: IPIP(RPI)
    Re-added headers
    Modified headers
    Untouched headers

INTERNET
   Inserted headers: Out of scope
   Removed headers:  Out of scope?
    Re-added headers:  Out of scope?
    Modified headers:  Out of scope?
    Untouched headers:  Out of scope?

18 -Flow from Internet to RPL-aware-leaf


INTERNET
   Inserted headers: Out of scope?
   Removed headers:  Out of scope?
    Re-added headers:  Out of scope?
    Modified headers:  Out of scope?
    Untouched headers:  Out of scope?

6LBR:
   Inserted headers: IPIP(RPI)
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: modified rank in RPI
    Untouched headers

6LN:
   Inserted headers
   Removed headers: IPIP(RPI), consumes packet.
    Re-added headers
    Modified headers
    Untouched headers

19     -Flow from not-RPL-aware-leaf to Internet

     Same as case 7?

IPv6:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: flow label assumed to be zero
    Untouched headers

6LR:
   Inserted headers: IPIP(RPI)
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LBR:
   Inserted headers
        Removed headers: IPIP(RPI)
        Re-added headers
        Modified headers: should set flow label if not set
        Untouched headers

INTERNET
   Inserted headers: Out of scope
   Removed headers:  Out of scope
    Re-added headers:  Out of scope
    Modified headers:  Out of scope
    Untouched headers:  Out of scope

20     -Flow from Internet to not-RPL-aware-leaf

INTERNET
   Inserted headers: Out of scope?
   Removed headers:  Out of scope?
    Re-added headers:  Out of scope?
    Modified headers:  Out of scope?
    Untouched headers:  Out of scope?

6LBR:
   Inserted headers: IPIP(RPI) [addressed to 6LR]
   Removed headers
    Re-added headers
    Modified headers: zero flow label on inner IP.
    Untouched headers

6LR:
   Inserted headers
   Removed headers: IPIP(RPI)
    Re-added headers
    Modified headers
    Untouched headers

IPv6:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: flow label MAY arrive zero
    Untouched headers


21    -Flow from RPL-aware-leaf to RPL-aware-leaf (same RPL Domain), commun
parent, change the direction RPI,

6LN Src:
   Inserted headers: RPI
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR (common parent):
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: RPI  (change direction of rank --- now incrementing)
    Untouched headers

6LR:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: RPI
    Untouched headers

6LN Dst:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

22     -Flow from RPL-aware-leaf to not-RPL-aware-leaf

Somehow, the sender has to know that the receiver is not RPL aware, and
needs to know 6LR,
and not even the root knows where the 6LR is (in storing mode).  This case
FAILS.

6LN src:
   Inserted headers: IPIP(RPI)  [do not even know where to send IPIP,
winds up being root?]
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR: (common parent)
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers: IPIP(RPI)
    Re-added headers
    Modified headers
    Untouched headers

This can only work if 6LR violates 6man rules and removed RPI header here.
Or can send new ICMP error to sender...

IPv6:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

23    -Flow from not-RPL-aware-leaf to RPL-aware-leaf

(not special: but reverse flow results in case 22)

IPv6:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LBR:
   Inserted headers: IPIP(RPI) [dest is 6LN dst]
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers: ?
    Untouched headers

6LN Dst:
   Inserted headers
   Removed headers: IPIP(RPI)
   Re-added headers
   Modified headers
   Untouched headers

24    -Flow from not-RPL-aware-leaf to not-RPL-aware-leaf

IPv6 Src:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers: IPIP(RPI) --- same problem as 22 - where to send
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:  (common parent)
   Inserted headers:
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers

6LR:
   Inserted headers
   Removed headers: IPIP(RPI)
    Re-added headers
    Modified headers
    Untouched headers

IPv6 Dst:
   Inserted headers
   Removed headers
    Re-added headers
    Modified headers
    Untouched headers