Early Review of draft-ietf-6man-ipv6-neighbor-discovery-yang-02
review-ietf-6man-ipv6-neighbor-discovery-yang-02-yangdoctors-early-aries-2026-02-22-00
| Request | Review of | draft-ietf-6man-ipv6-neighbor-discovery-yang-02 |
|---|---|---|
| Requested revision | 02 (document currently at 05) | |
| Type | Early Review | |
| Team | YANG Doctors (yangdoctors) | |
| Deadline | 2026-02-26 | |
| Requested | 2026-02-12 | |
| Requested by | Bob Hinden | |
| Authors | Fan Zhang , Yongqing Zhu , Bo Wu , Jiayuan Hu | |
| I-D last updated | 2026-05-29 (Latest revision 2026-05-12) | |
| Completed reviews |
Yangdoctors Early review of -02
by Ebben Aries
(diff)
|
|
| Comments |
This is a 6man draft, and the chairs think it would be good to have an early Yang doctor review. Not too many people in the working group are strong in this area. |
|
| Assignment | Reviewer | Ebben Aries |
| State | Completed | |
| Request | Early review on draft-ietf-6man-ipv6-neighbor-discovery-yang by YANG Doctors Assigned | |
| Posted at | https://mailarchive.ietf.org/arch/msg/yang-doctors/Zvh54ou1_oibo4gcavmogWyWYpI | |
| Reviewed revision | 02 (document currently at 05) | |
| Result | Almost ready | |
| Completed | 2026-02-22 |
review-ietf-6man-ipv6-neighbor-discovery-yang-02-yangdoctors-early-aries-2026-02-22-00
1 module in this draft: - ietf-ipv6-nd@2025-10-20.yang YANG compiler errors or warnings (pyang 2.7.1, yanglint 4.2.2) - No compiler errors or warnings Summary: -------------------- This is a well-scoped module and almost ready, however a few items need addressing. Draft: -------------------- - Section 2.1 says `redirect` "enables the sending and processing of Redirect messages" but the leaf description says only "sending" - RFC 4941 is in Normative References but only cited in the informative Appendix B table. Suggest moving to Informative References. - draft-ietf-intarea-arp-yang-model is in Normative References but only cited in the Introduction for background context. Suggest moving to Informative References. - Nit: malformed mailto URI in contact block: `<mailto: 6man@ietf.org>` should be `<mailto:6man@ietf.org>`. Same issue in the module contact statement. YANG Module -------------------- - Nit: revision description "Init revision" is informal; use "Initial version." - `units` are inconsistent throughout. `stale-timeout` uses "second", `reachable-time` uses "millisecond", while `ns-interval` and `age` use "milliseconds". All should use the plural form; RFC 8344 (ietf-ip) uses "milliseconds" consistently. Additionally, is `stale-timeout` intentionally in seconds while all other timers are in milliseconds? - `dynamic-discovery`: default "true" - what is the RFC 4861 basis for this default? Address resolution is a fundamental protocol mechanism, not a configurable parameter with a defined default. - `nud`: same question as above. RFC 4861 Section 7.3 specifies NUD as required behavior. Basis for this default? - `redirect`: default "false" - RFC 4861 Section 8.1 states routers SHOULD send redirects. Basis for the default? - `reachable-time`: reference "RFC4861 - ReachableTime" is not a section citation. This leaf models BaseReachableTime (Section 6.3.2; default 30,000 ms per Section 10 REACHABLE_TIME); RFC 4861 defines no maximum for this variable - the range "0..3600000" is the cap on the distinct AdvReachableTime RA wire field (Section 6.2.1). Cite Section 6.3.2, document the range rationale, and add `default "30000"`. - `ns-interval`: reference cites Section 7.3.3; RetransTimer is defined in Section 6.3.2 (default 1,000 ms per Section 10 RETRANS_TIMER). Update reference, add `default "1000"`, and add a minimum range constraint - a value of 0 would cause an NS flood it seems? - `stale-timeout` (global and per-interface): not an RFC 4861 parameter; document the precedence between global and per-interface values. - `proxy-na/inter-vlan-proxy` and `/all-proxy`: no `reference` statement; add RFC 4861 Section 7.2.8. `inter-vlan-proxy` has no RFC 4861 basis; Is this implementation-specific? - `enhanced-dad/enable`: no `reference` statement; add RFC 7527 Section 3. - `enhanced-dad/enhanced-dad-auto-resolve`: no `reference` statement; add RFC 7527 Section 4. Leaf name is redundant under `enhanced-dad`; prefer `auto-resolve`. - All ten statistics leaves use `yang:counter32`; change to `yang:counter64` for consistency with RFC 8343 (ietf-interfaces) which this module augments. - `age` augments `ip:neighbor` which covers both dynamic and static entries; for static entries, age is semantically undefined. Add a `when` condition (e.g., `when "../ip:origin = 'dynamic'";`) or document the behavior. Reference Section 5.1 is imprecise; Section 7.3.2 or 7.3.3 is better. Example Validated Instance Data: -------------------- ``` { "ietf-interfaces:interfaces": { "interface": [ { "name": "eth0", "type": "iana-if-type:ethernetCsmacd", "admin-status": "up", "oper-status": "up", "if-index": 512, "statistics": { "discontinuity-time": "2026-02-21T16:00:00-08:00" }, "ietf-ip:ipv6": { "enabled": true, "forwarding": true, "neighbor": [ { "ip": "2001:db8:100::1a", "link-layer-address": "50:54:00:b3:4f:4a", "ietf-ipv6-nd:age": 600 } ], "ietf-ipv6-nd:nd": { "dynamic-discovery": true, "nud": true, "reachable-time": 30000, "ns-interval": 1000, "stale-timeout": 600, "redirect": false, "proxy-na": { "inter-vlan-proxy": false, "all-proxy": false }, "enhanced-dad": { "enable": false, "enhanced-dad-auto-resolve": false }, "statistics": { "in-ns-pkts": 542321, "in-na-pkts": 5121, "in-rs-pkts": 789121, "in-ra-pkts": 12789532, "in-redirect-pkts": 0, "out-ns-pkts": 8343, "out-na-pkts": 9820934, "out-rs-pkts": 789243, "out-ra-pkts": 89032423, "out-redirect-pkts": 0 } } } } ] }, "ietf-ipv6-nd:nd": { "stale-timeout": 10000 } } ```