Subject: Re: [manet] AD Review of draft-ietf-manet-dlep-pause-extension-04

From: Alvaro Retana <[email-masked]>
Date: Tue, 12 Feb 2019 13:12:52 -0800

Ping!

Where are we with this document?  I haven’t seen related discussion to
Rick’s point either.

Alvaro.

On November 17, 2018 at 5:13:26 AM, Rick Taylor (
[email-masked]) wrote:

(Sorry for the top post… damn outlook)

Hi Authors,

If I remember correctly – and there has been a bit of delay with this
draft, with the CCAMP/not-CCAMP move – the intention of the authors was to
make the pause extension simple and self-contained, avoiding getting caught
up in the DiffServ Aware/Credit Window/Sub-TLV draft reference
reorganization that has happened.

If this is still the intention, then I agree with Alvaro that trying to
define generic Sub-TLVs in this document is unnecessary, and should be
removed.

However, given the DiffServ Aware/CW drafts have almost caught up with the
Pause extension, do the authors/WG want to rethink their intention?

Cheers,

Rick

*From:* manet [mailto:[email-masked]] *On Behalf Of *Alvaro Retana
*Sent:* 16 November 2018 22:00
*To:* [email-masked]
*Cc:* [email-masked]; Mobile Ad-hoc Networks Working Group
*Subject:* [manet] AD Review of draft-ietf-manet-dlep-pause-extension-04

Dear authors:

I just finished reviewing this document.  I have several comments (see
below) and a couple of significant issues, which I'm mentioning in the next
2 bullets.  I will wait for these to be addressed before starting the IETF
LC.

(1) This is a comment for the WG (not just the authors):

This is the first draft that specifies a Sub Data Item.  Given that rfc8175
says that the Value in a Data Item "contains data specific to a particular
Data Item", I don't think it is necessary to define a generic DLEP Sub Data
Item..  However, not all future extensions may follow the same model.  Is
there a need/interest in normatively specifying the characteristics of a
Sub Data Item?

(2) Security Considerations:  The extension in itself doesn't change the
security characteristics of DLEP, I agree with that.  However, I think that
the functionality does -- please see specific comments below.

Thanks!

Alvaro.

[Line numbers from idnits.]

...

70       1.  Introduction

....

78         The base DLEP specification does not include any data plane flow

79         control capability.  Various flow control methods are possible,
e.g.,

80         see [I-D.ietf-manet-credit-window].  The extension defined in
this

...

[minor] A reference to something other than I-D.ietf-manet-credit-window
(expired, etc.) may be more appropriate.

...

103     2.  Extension Usage and Identification

105       The use of the Control Plane Based Pause Extension SHOULD be

106       configurable.  To indicate that the Control Plane Based Pause

107       Extension is to be used, an implementation MUST include the
Control

108       Plane Based Pause Extension Type Value in the Extensions Supported

109       Data Item.  The Extensions Supported Data Item is sent and
processed

110       according to [RFC8175].

[minor] "The use of the Control Plane Based Pause Extension SHOULD be
configurable."  Is there a default recommended configuration?

...

201     3.1.1.  Queue Parameter Sub Data Item

...

234       Sub Data Item Type:

236          A 16-bit unsigned integer that indicates the type and

237          corresponding format of the Sub Data Item's Value field.  Sub
Data

238          Item Types are scoped within the Data Item in which they are

239          carried, i.e., the Sub Data Item Type field MUST be used
together

240          with the Data Item Type to identify the format of the Sub Data

241          Item.  This field MUST be set to one (1) for the Queue
Parameter

242          Sub Data Item.

[minor] "...the Sub Data Item Type field MUST be used together with the
Data Item Type to identify the format of the Sub Data Item."  It sounds as
if this text wants to specify the behavior for *any* Sub Data Item Type.
Please reword to be specific in to this document.  [Also, see my note at
the top.]

[major] Please define a registry for the Sub Data Item Types to be used
with the Queue Parameters Data Item.

244       Length:  Variable

246          Copying [RFC8175], Length is the number of octets in the sub
data

247          item, excluding the Type and Length fields.

[minor] Copying?  As far as I can tell, rfc8175 doesn't define any sub data
items.

249       Queue Index:

251          An 8-bit field indicating the queue index of the queue
parameter

252          represented in the sub data item.  Only the first instance a a

253          particular Queue Index value is meaningful.  Subsequent sub
data

254          items containing the same Queue Index values, if present, MAY
be

255          logged via a management interface and MUST otherwise be
ignored.

[nit] s/a a/of a

[minor] Pause and Restart reserve the Queue Index of 255 to indicate "all
traffic", but that value is not reserved here.  Should it?

...

269       DS Field Qn:

271          The data item contains a sequence of 8 bit DS Fields.  The

272          position in the sequence identifies the associated queue index.

273          The number of DS Fields present should equal the sum of all Num

274          DSCPs field values.

[major] "should equal", or "MUST equal"?  If the number of DS Fields
doesn't add up, should the sub data item be considered invalid?  I assume
that would invalidate the whole data item.

...

286     3.2.  Pause

...

293       A modem may indicate that traffic is to be suppressed on a device

294       wide or destination specific basis.  An example of when a modem
might

295       use device wide indications is when output queues are shared
across

296       all destinations, and destination specific might be used when per

297       destination queuing is used.  To indicate that suppression
applies to

298       all destinations, a modem MAY send the Pause Data Item in a
Session

299       Update Message.  To indicate that suppression applies to a
particular

300       destination a modem MAY send the Pause Data Item in a Destination

301       Update Message.

[major] I think that the two MAYs above are out of place.  I understand
that sending the Pause Data Item in the corresponding Update Message is
optional, but the sentences say that "To indicate that suppression
applies...", which means that if the Pause Data Item is not sent, then
there is no indication...so sending it is not optional.

...

312       A router which receives the Pause Data Item MUST cease sending the

313       identified traffic to the modem.  This may of course translate
into

314       the router's queues exceeding their own thresholds.  If a received

315       Pause Data Item contains a Queue Index value other than 0, 255,
or a

316       queue index established by a Session Initialization or Session
Update

317       Message, the router MUST terminate the session with a Status Data

318       Item indicating Invalid Data.

[major] Terminating the session seems drastic to me given that the wrong
index relates to a single destination and the action has an impact over all.

...

347     3.3.  Restart

...

354       The sending of this data item parallels the Pause Data Item, see
the

355       previous section, and follows the same rules.  This includes that
to

356       indicate that transmission can resume to all destinations, a modem

357       MAY send the Restart Data Item in a Session Update Message.  It
also

358       includes that to indicate that transmission can resume to a

359       particular destination a modem MAY send the Pause Restart Item in
a

360       Destination Update Message.  Finally, the same rules apply to
queue

361       indexes.

[major] Same comment as above about the MAYs.

363       A router which receives the Restart Data Item SHOULD resume

364       transmission of the identified traffic to the modem.

[minor] Should the Restart always follow a Pause?  I think that is the
intent.  The question is whether it MUST happen that way?  As is, the text
leaves the possibility open for a modem to send a Restart without having
sent a Pause.  I think that is ok, just checking...

...

384     4.  Security Considerations

386       The extension introduces a new mechanism for flow control between
a

387       router and modem using the DLEP protocol.  The extension does not

388       inherently introduce any additional threats above those
documented in

389       [RFC8175].  The approach taken to Security in that document
applies

390       equally when running the extension defined in this document.

[major] The extension gives the modem the ability to stop the traffic sent
by a router..  A rogue or compromised modem could stop traffic sent by the
attached router.  Protecting the modem is out of scope, but I think the
threat should at least be pointed out.

rfc8175 already mentions the risk that "an attacker might pretend to be a
DLEP participant...by injection of DLEP Messages once a session has been
established", which is related to this case.  However, I think that the
point still needs to be called out specifically because of the new
functionality introduced.

...

466     Appendix A.  Acknowledgments

468       The sub data item format was inspired by Rick Taylor's "Data Item

469       Containers".

[nit] Is this a draft?  Reference?