Subject: Genart telechat review of draft-ietf-lime-yang-connectionless-oam-13

From: Elwyn Davies <[email-masked]>
Date: Mon, 23 Oct 2017 17:42:17 -0700

Reviewer: Elwyn Davies
Review result: Ready with Issues

I am the assigned Gen-ART reviewer for this draft. The General Area
Review Team (Gen-ART) reviews all IETF documents being processed
by the IESG for the IETF Chair. Please wait for direction from your
document shepherd or AD before posting a new version of the draft.

For more information, please see the FAQ at

<https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.

Document: draft-ietf-lime-yang-connectionless-oam-13
Reviewer: Elwyn Davies
Review Date: 2017-10-23
IETF LC End Date: 2017-10-25
IESG Telechat date: 2017-10-26

Summary:Not really ready.  There are several missing references and the English
needs cleaning up to make the document comprehensible. I found s3 to be almost
totally opaque.  The fundamental concept of a Test Point needs a proper
definition in s2 and a clearer introduction in s3.  The concept of 'neighboring
test points' confused me for some time: I was thinking of neighboring nodes in
the network whereas what seesm to be meant is a possibility of a multiplicity of

Major issues:
None

Minor issues:
Title and description of model:
The title refers to 'connectionless networks'.  In practice the YANG model
could be used with both connectionless and connection-oriented communication
technologies.  I think the intention is to be able to support the management of
OAM protocols that operate in a connectionless manner (i.e., using
connectionless *technologies*, as per RFC 7276) rather than connectionless
networks. In the title - OLD:
      Generic YANG Data Model for Operations, Administration, and
         Maintenance(OAM) protocols for Connectionless networks
NEW:
      Generic YANG Data Model for the Management of Operations,
         Administration, and Maintenance (OAM) Protocols that
                     use Connectionless Communications
END

Similarly, in s1, para 1, s/connections/communications/.
In next to last para of s1:
OLD:
   Note that the Connection-Oriented OAM YANG DATA model is defined in
   [I-D.ietf-lime-yang-connection-oriented-oam-model].

NEW:
   Note that the YANG DATA model for OAM protcols using connection-oriented
   communications is defined in
   [I-D.ietf-lime-yang-connection-oriented-oam-model].
END

s2.1: The term 'Test point' needs some actual definition - It appears from the
body of the document that a TP is effectively equated to an interface together
with an associated stack layer (MAC, IP, etc) or superimposed application
technology (VPN end point, etc.).  One query that came into my mind around this
was what happens if the IP address associated with an interface is changed
dynamically (e.g., when using IPv6 privacy addresses).  Can the YANG manager
understand that it is still dealing with the same interface although the IP
address has changed?  I wondered if the interfaces really needed some sort of
identifier (e.g., interface number) that would tie all the pieces together as
well as the intra-/inter-layer pointers.

s3.3:
>    OAM
>    neighboring test points are referred to a list of neighboring test
>    points in the same layer that are related to the current test point.
>    This allows users to easily navigate between related neighboring
>    layers to efficiently troubleshoot a defect.  In this model, the
>    'position' leaf defines the relative position of the neighboring test
>    point corresponding to the current test point in the same layer, and
>    is provided to allow correlation of faults at different locations.
I don't understand what is going on here.  Doesn't fault correlation require
association of test points in adjacent layers up amd down the stack for the
same interface rather than the same layer?  The before/after story then allows
the manager to go up and down the stack looking at wat is going on in the
different layers.  I can't see any likelihood of there being multiple test
points in the same layer in a given interface (unless this has something to do
with possible different administrative domains. Help! If this is altered, the
similar text in the descriptions of oam-neighboring-tps (in s4) will need to be
made consistent.

Sources of imported models:  It would be useful to list the RFCs/I-Ds that
define the models that are imported.  Currently draft-ietf-netmod-schema-mount,
draft-ietf-rtgwg-ni-model and draft-ietf-rtgwg-routing-types that are under
development are not mentioned; the existing standards of RFC 6021 and RFC 7223
should also be referenced (7223 is).  They should all be normative.

Nits/editorial comments:
========================

idnits: complains about some overlong lines... probably ones with 'when
"derived-from-or-self(' General: As mentioned by other reviews, there area
considerable number of places where it appears that " '" should really be "' "
and there are missing spaces after single quotes.

General:  The document is inconsistent in its use of
connectionless/connection-less/connection less.  The preferred usage should be
connectionless as is used in most cases.  Thus: Short title:
s/Connection-Less/Connectionless/ s4: OLD:
  feature connection-less {
    description
      "This feature indicates that OAM solution is connection less.";
  }

NEW:
  feature connectionless {
    description
      "This feature indicates that OAM solution is connectionless.";
  }
ENDS

s1, last para:
OLD:
   In this document, we presents a base YANG Data model for
   connectionless OAM protocols.  The generic YANG model for
   connectionless OAM only includes configuration data and state data.
   It can be used in conjunction with data retrieval method model
   [I-D.ietf-lime-yang-connectionless-oam-methods], which focuses on
   data retrieval procedures like RPC.  However it also can be used
   independently of data retrieval method model.
NEW:
   This document documents a base YANG Data model for
   connectionless OAM protocols.  This generic YANG model for
   connectionless OAM only includes configuration data and state data.
   It can be used in conjunction with data retrieval method model
   described in [I-D.ietf-lime-yang-connectionless-oam-methods], which focuses
   on data retrieval procedures such as RPC.  However it also can be used
   independently of this data retrieval method model.
ENDS

s2.1:  As mentioned above, TP needs some definition.  MAC is primarily
concerned with MAC address in this document - definition: address for data link
layer interface.  BFD should have a reference probably to RFC 5880.  It would
probably be sensible to split the section into expanded modertely well-known
abbreviations  (MAC, BFD, RPC*) and new terms (TP, CC).

s2.1, last para: s/e.g. /e.g., /

s3: Maybe the usage "is/are augmented to" is accepted YANG jargon but it isn't
good English. "Augments"  will be good instead.

s3, para 1: The 'nd' prefix is part of the YANG specification in s4 and isn't
known at this point.

s3, para 3: s/eg.,/e.g.,/

s3, last para: s/test- point-locations/test-point-locations/

s3, most of the section, but especially the last para: I found this to be
almost totally unreadable and useless.

s3.1:
This needs to be clarified.
OLD:
   In connectionless OAM, the TP address is defined with the following
   type:

   o  MAC address [RFC6136]

   o  IPv4 or IPv6 address

   o  TP-attribute

   o  System-id to represent the device or
      node.[I-D.ietf-spring-sr-yang]
NEW:
   With connectionless OAM protocols, the TP address can be one of the following
   types:

   o  MAC address [RFC6136] for link layer TPs

   o  IPv4 or IPv6 address for IP layer TPs

   o  TP-attribute identifying a TP associated with an application layer
   function

   o  System-id to represent the device or
      node.[I-D.ietf-spring-sr-yang]
ENDS

s3.1, last para: s/'tp-address'grouping/'tp-address' grouping/

s3.3:
I found this a little confusing - suggest:
OLD;
   As typical networks have a multi-layer architecture, the set of OAM
   protocols similarly take a multi-layer structure; each layer may have
   its own OAM protocol [RFC7276] corresponding to a specific
   administrative domain and has associated test points.
NEW:
   As typical network communication stacks have a multi-layer architecture,
   the set of associated OAM protocols may similarly have a multi-layer
   structure; each communication layer in the stack may have its own OAM
   protocol [RFC7276] that may also be linked to a specific administrative
   domain.  Management of these OAM protocols will necessitate associated
   test points in the nodes accessible by appropriate management domains.

   Accordingly, a given network interface may present several test points
ENDS

s3.5: s/e.g.,VRF/e.g., VRF/

s3.: s/per- hop/per-hop/

s4, Module/description:
Also needs the IETF copyright and redistribution boiler plate.
OLD:
  description
    "This YANG module defines the generic configuration,
     data model, statistics for connectionless OAM to be
     used within IETF in a protocol independent manner.
     It is assumed that each protocol maps corresponding
     abstracts to its native format. Each protocol may
     extend the YANG model defined here to include protocol
     specific extensions";
NEW:
  description
    "This YANG module defines the generic configuration,
     data model, and statistics for OAM protocols using
     connectionless communications, described in a
     protocol independent manner.
     It is assumed that each protocol maps corresponding
     abstracts to its native format. Each protocol may
     extend the YANG model defined here to include protocol
     specific extensions";
ENDS

s4, module/contact, module/organization:  These need to be 'future proofed' -
the WG and the draft authors are not appropriate for a standard.

s4, grouping session-jitter-statistics/description: s/e.g.,Packet/e.g., Packet/

s5, multiple places: s/bfd/BFD/g

s5, para 1: s/"ietf-connectionless-oam" model/The "ietf-connectionless-oam"
model/; s/technology-independent/a technology-independent/

s5, para 2:
OLD:
 Note that, in this section, we only present several
   snippets of technology-specific model extensions for illustrative
   purposes.
NEW:
 Note that, in this section, several snippets of technology-specific
   model extensions are presented for illustrative purposes.
ENDS

s5.1: I notice that RFC 7276 defines BFD as a connection-oriented protocol
(that is used to monitor a connectionless protocol in the case of basic BFD for
IP)! Some explanation may be appropriate.

s5.1.1, para 2:
OLD:
 Note that in BFD WG, there is a BFD YANG data model
   [I-D.ietf-bfd-yang] to be produced.  Users can choose to use "ietf-
   connectioless-oam" as basis and augment the "ietf-connectionless-oam"
   model with bfd specific details.  The bfd specific details can be the
   grouping defined in the BFD model.
NEW:
 Note that a dedicated BFD YANG data model [I-D.ietf-bfd-yang] is also
   standardized.  Augmentation of the "ietf-connectionless-oam" model
   with BFD specific details provides an alternative approach that
   provides a unified view of management information across various OAM
   protocols.  The BFD specific details can be the grouping defined in
   the BFD model avoiding duplication of effort.
ENDS

s5.1.1.1, para 2:
OLD:
The snippet below depicts an example of augmenting "bfd" type into
   the ietf-connectionless-oam":
NEW:
The snippet below depicts an example of adding the "bfd" type as an
   augment to the ietf-connectionless-oam" model:
ENDS

s5.1.1.2:
OLD:
To support bfd technology, the "ietf-connectionless-oam" model can be
   extended and add bfd specific parameters under "test-point-locations"
   list and/or add new location type such as "bfd over MPLS-TE" under
   "location-type".
NEW:
To support BFD technology, the "ietf-connectionless-oam" model can be
   extended by adding specific parameters into the "test-point-locations"
   list and/or adding a new location type such as "BFD over MPLS-TE" under
   "location-type".
ENDS

s5.1.1.2.1, para 1:
OLD:
 In
   this section, we reuse some groupings which are defined in
   [I-D.ietf-bfd-yang] as following:
NEW:
 In this section, some groupings which are defined in
   [I-D.ietf-bfd-yang] are reused as follows:
ENDS

s5.1.1.2.2, para 2:
OLD:
In this section, we add a new "location-
   type" case and reuse some groupings which are defined in
   [I-D.ietf-bfd-yang] as follows:
NEW:
In this section, a new "location-type" case is added and some groupings that
are defined in
   [I-D.ietf-bfd-yang] are reused as follows:
ENDS

s5.1.2:
OLD:
   And another alternative method is using schema mount mechanism
   [I-D.ietf-netmod-schema-mount] in the "ietf-connectionless-oam".
   Within the "test-point-locations" list, a "root" attribute is defined
   to provide a mounted point for models mounted per "test-point-
   locations".  Therefore, the "ietf-connectionless-oam" model can
   provide a place in the node hierarchy where other OAM YANG data
   models can be attached, without any special extension in the "ietf-
   connectionless-oam" YANG data models [I-D.ietf-netmod-schema-mount].
   Note that the limitation of the Schema Mount method is it is not
   allowed to specify certain modules that are required to be mounted
   under a mount point.

   The snippet below depicts the definition of "root" attribute.
NEW:
   Another alternative method is using the schema mount mechanism
   [I-D.ietf-netmod-schema-mount] in the "ietf-connectionless-oam" model.
   Within the "test-point-locations" list, a "root" attribute is defined
   to provide a mount point for models mounted per "test-point-
   locations".  Therefore, the "ietf-connectionless-oam" model can
   provide a place in the node hierarchy where other OAM YANG data
   models can be attached, without any special extension in the "ietf-
   connectionless-oam" YANG data models [I-D.ietf-netmod-schema-mount].
   Note that the limitation of the Schema Mount method is it is not
   allowed to specify certain modules that are required to be mounted
   under a mount point.

   The snippet below depicts the definition of the "root" attribute.
ENDS

s5.2.1:
OLD:
   The following sections shows how the "ietf-connectionless-oam" model
   can be extended to support LSP ping technology.  For this purpose, a
   set of extension are introduced such as technology-type extension and
   test-point attributes extension.

   Note that in MPLS WG, there is a LSP Ping YANG data model
   [I-D.zheng-mpls-lsp-ping-yang-cfg] to be produced.  Users can choose
   to use "ietf-connectioless-oam" as basis and augment the "ietf-
   connectionless-oam" model with LSP Ping specific details in the model
   extension.  The LSP Ping specific details can be the grouping defined
   in the LSP ping model.

NEW:
   The following sections shows how the "ietf-connectionless-oam" model
   can be extended to support LSP ping technology.  For this purpose, a
   set of extensions are introduced such as the "technology-type" extension and
   the test-point "attributes" extension.

   Note that a LSP Ping YANG data model
   [I-D.zheng-mpls-lsp-ping-yang-cfg] has been standardized.  As with BFD,
   users can choose to use the "ietf-connectioless-oam" as basis and augment
   the "ietf- connectionless-oam" model with LSP Ping specific details in the
   model extension to provide a unified view across different technologies. The
   LSP Ping specific details can be the grouping defined in the LSP ping model
   to avoid duplication of effort..

ENDS

s9:  I think I-D.ietf-i2rs-yang-network-topo is normative.  One could discuss
whether the various drafts mentioned in s5 are also normative.  Some additional
normative references will come form listing the sources of imported modules
(see minor issues). idnits complains that RFCs 6991, 7223 and 5462 are not
explicitly referenced.  6991 and 7223 are import sources (see above) 5462 is
used in s3.1 but isn't marked as a reference.

---

From: Qin Wu <[email-masked]>
Date: Tue, 24 Oct 2017 07:21:03 +0000

Elwyn:
Thank for your valuable comments.
Please see my reply inline below.

-Qin
-----邮件原件-----
发件人: Elwyn Davies [mailto:[email-masked]] 
发送时间: 2017年10月24日 8:42
收件人: [email-masked]
抄送: [email-masked]; [email-masked]; [email-masked]
主题: Genart telechat review of draft-ietf-lime-yang-connectionless-oam-13

Reviewer: Elwyn Davies

I am the assigned Gen-ART reviewer for this draft. The General Area Review Team (Gen-ART) reviews all IETF documents being processed by the IESG for the IETF Chair. Please wait for direction from your document shepherd or AD before posting a new version of the draft.

Summary:Not really ready.  There are several missing references and the English needs cleaning up to make the document comprehensible. I found s3 to be almost totally opaque.  The fundamental concept of a Test Point needs a proper definition in s2 and a clearer introduction in s3.  The concept of 'neighboring test points' confused me for some time: I was thinking of neighboring nodes in the network whereas what seesm to be meant is a possibility of a multiplicity of

Major issues:
None

Minor issues:
Title and description of model:
The title refers to 'connectionless networks'.  In practice the YANG model could be used with both connectionless and connection-oriented communication technologies.  I think the intention is to be able to support the management of OAM protocols that operate in a connectionless manner (i.e., using connectionless *technologies*, as per RFC 7276) rather than connectionless networks. In the title - OLD:
      Generic YANG Data Model for Operations, Administration, and
         Maintenance(OAM) protocols for Connectionless networks
NEW:
      Generic YANG Data Model for the Management of Operations,
         Administration, and Maintenance (OAM) Protocols that
                     use Connectionless Communications END

[Qin]: Your understanding is correct, the title change in v-13 is based on one proposal from latest comments, I agree with your new proposed changes. Thanks.

[Qin]: Okay.

NEW:

[Qin]: Accepted, thanks.

s2.1: The term 'Test point' needs some actual definition - It appears from the body of the document that a TP is effectively equated to an interface together with an associated stack layer (MAC, IP, etc) or superimposed application technology (VPN end point, etc.).  One query that came into my mind around this was what happens if the IP address associated with an interface is changed dynamically (e.g., when using IPv6 privacy addresses).  Can the YANG manager understand that it is still dealing with the same interface although the IP address has changed?  I wondered if the interfaces really needed some sort of identifier (e.g., interface number) that would tie all the pieces together as well as the intra-/inter-layer pointers.

[Qin]: I suspect interface number is local identifier, you can change your IP address of destination, that's why we can test whether the new address of destination is reachable. If IP address of source, we need to run another OAM diagnostic test. Here is the proposed definition for test point:
"
   Test point is a functional entity that is defined
   at a node in the network and can initiate and/or react to OAM
   diagnostic test.  This document focuses on the data-plane
   functionality of TPs, while TPs interact with the control plane and
   with the management plane as well.

"
>    is provided to allow correlation of faults at different locations.
I don't understand what is going on here.  Doesn't fault correlation require association of test points in adjacent layers up amd down the stack for the same interface rather than the same layer?  The before/after story then allows the manager to go up and down the stack looking at wat is going on in the different layers.  I can't see any likelihood of there being multiple test points in the same layer in a given interface (unless this has something to do with possible different administrative domains. Help! If this is altered, the similar text in the descriptions of oam-neighboring-tps (in s4) will need to be made consistent.

[Qin]: The latest changes in v-13 is also based on one comment we received recently, we try to fix confusion caused by 'technology-level' in v-12, so we change to 'position'. I agree with your comments above, 
Neighboring Test Point more make sense for up and down layer. Here is the proposed change to section 3.3
"
3.3.  OAM neighboring test points

   As typical network communication stacks have a multi-layer
   architecture, the set of associated OAM protocols may similarly have
   a multi-layer structure; each communication layer in the stack may
   have its own OAM protocol [RFC7276] that may also be linked to a
   specific administrative domain.  Management of these OAM protocols
   will necessitate associated test points in the nodes accessible by
   appropriate management domains.  Accordingly, a given network
   interface may present several test points.

   OAM neighboring test points are referred to a list of neighboring
   test points in adjacent layers up and down the stack for the same
   interface that are related to the current test point.  This allows
   users to easily navigate between related neighboring layers to
   efficiently troubleshoot a defect.  In this model, the 'position'
   leaf defines the relative position of the neighboring test point
   corresponding to the current test point, and is provided to allow
   correlation of faults at different locations.  If there is one
   neighboring test point placed before the current test point, the
   'position' leaf is set to -1.  If there is one neighboring test point
   placed after the current test point, the 'position' leaf is set to 1.
   If there is no neighboring test point placed before or after the
   current test point, the 'position' leaf is set to 0.

                list oam-neighboring-tps {
                  key "index";
                  leaf index {
                     type uint16 {
                        range "0..65536";
                     }
                    description
                     "Index of a list of neighboring test points
                      in adjacent layers up and down the stack for the same interface
                     that are related to the current test point. ";
                  }
                  leaf position {
                      type int8 {
                           range "-1..1";
                      }
                      description
                        "The relative position
                        of neighboring test point
                        corresponding to the current
                        test point";
                  }

                  description
                     "List of related neighboring test points in adjacent
                     layers up and down the stack for the same interface
                     that are related to the current test point.";

              }

"
Sources of imported models:  It would be useful to list the RFCs/I-Ds that define the models that are imported.  Currently draft-ietf-netmod-schema-mount, draft-ietf-rtgwg-ni-model and draft-ietf-rtgwg-routing-types that are under development are not mentioned; the existing standards of RFC 6021 and RFC 7223 should also be referenced (7223 is).  They should all be normative.

[Qin]: Okay, fixed.

Nits/editorial comments:
========================

idnits: complains about some overlong lines... probably ones with 'when "derived-from-or-self(' General: As mentioned by other reviews, there area considerable number of places where it appears that " '" should really be "' "
and there are missing spaces after single quotes.

[Qin]: Okay, will fix this.

General:  The document is inconsistent in its use of connectionless/connection-less/connection less.  The preferred usage should be connectionless as is used in most cases.  Thus: Short title:
s/Connection-Less/Connectionless/ s4: OLD:
  feature connection-less {
    description
      "This feature indicates that OAM solution is connection less.";
  }

NEW:
  feature connectionless {
    description

[Qin]: Accepted.

s1, last para:
OLD:

[Qin]: Fixed.

s2.1:  As mentioned above, TP needs some definition.  MAC is primarily concerned with MAC address in this document - definition: address for data link layer interface.  BFD should have a reference probably to RFC 5880.  It would probably be sensible to split the section into expanded modertely well-known abbreviations  (MAC, BFD, RPC*) and new terms (TP, CC).

[Qin]: Fixed.

[Qin]: Fixed.

s3: Maybe the usage "is/are augmented to" is accepted YANG jargon but it isn't good English. "Augments"  will be good instead.

[Qin]: Fixed.

s3, para 1: The 'nd' prefix is part of the YANG specification in s4 and isn't known at this point.

[Qin]: Fixed.

[Qin]: Fixed.

[Qin]: Fixed.

s3, most of the section, but especially the last para: I found this to be almost totally unreadable and useless.

[Qin]: Here is the proposed change to section 3.
"
3.  Overview of the Connectionless OAM Model

   The model augments "/networks/network/node" path defined in the ietf-
   network module [I-D.ietf-i2rs-yang-network-topo] with 'test-point-
   locations' grouping defined in Section 3.5.  The network node in
   "/networks/network/node" path are used to describe the network
   hierarchies and the inventory of nodes contained in a network.

   Under the 'test-point-locations' grouping, each test point location is
   chosen based on 'tp-location-type' leaf which when chosen, leads to a
   container that includes a list of 'test-point-locations'.

   Each 'test-point-locations' list includes a 'test-point-location-info'
   grouping.  The 'test-point-location-info' grouping includes:

   o  'tp-technology' grouping,

   o  'tp-tools' grouping,

   o  and 'connectionless-oam-tps' grouping.

   The groupings of 'tp-address' and 'tp-address-ni' are kept out of
   'test- point-location-info' grouping to make it addressing agnostic
   and allow varied composition.  Depending upon the choice of the 'tp-
   location-type' (determined by the 'tp-address-ni'), the containers
   differ in its composition of 'test-point-locations' while the 'test-
   point-location-info', is a common aspect of every 'test-point-
   locations'.

   The 'tp-address-ni' grouping is used to describe the corresponding
   network instance.  The 'tp-technology' grouping indicate OAM
   technology details.  The 'connectionless-oam-tps' grouping is used to
   describe the relationship of one test point with other test
   points. The 'tp-tools' grouping describe the OAM tools supported.

   In addition, at the top of the model, there is an 'cc-oper-data'
   container for session statistics.  Grouping is also defined for
   common session statistics and these are only applicable for proactive
   OAM sessions.
"
s3.1:
This needs to be clarified.
OLD:
   In connectionless OAM, the TP address is defined with the following
   type:

   o  MAC address [RFC6136]

   o  IPv4 or IPv6 address

   o  TP-attribute

[Qin]: Accepted.

[Qin]:Fixed.

s3.3:

   Accordingly, a given network interface may present several test points ENDS

[Qin]: Reasonable, thanks.

[Qin]:Fixed.

s3.: s/per- hop/per-hop/

[Qin]:Fixed.

s4, Module/description:
[Qin]:Okay.

s4, module/contact, module/organization:  These need to be 'future proofed' - the WG and the draft authors are not appropriate for a standard.

[Qin]:Fixed.

[Qin]:Fixed.

s5, para 2:
OLD:

s5.1: I notice that RFC 7276 defines BFD as a connection-oriented protocol (that is used to monitor a connectionless protocol in the case of basic BFD for IP)! Some explanation may be appropriate.

[Qin]: Okay.

s5.1.1, para 2:
OLD:

[Qin]:Okay.

s5.1.1.1, para 2:
OLD:

[Qin]: Okay.

s5.1.1.2:
OLD:

[Qin]: Okay.

s5.1.1.2.1, para 1:
OLD:
 In

[Qin]: Okay.

s5.1.1.2.2, para 2:
OLD:
In this section, a new "location-type" case is added and some groupings that are defined in

[Qin]: Okay.

s5.1.2:
OLD:

[Qin]: Okay.

s5.2.1:
OLD:

NEW:

ENDS
[Qin]: Okay.

s9:  I think I-D.ietf-i2rs-yang-network-topo is normative.  One could discuss whether the various drafts mentioned in s5 are also normative.  Some additional normative references will come form listing the sources of imported modules (see minor issues). idnits complains that RFCs 6991, 7223 and 5462 are not explicitly referenced.  6991 and 7223 are import sources (see above) 5462 is used in s3.1 but isn't marked as a reference.

[Qin]:Fixed.