pyang icon indicating copy to clipboard operation
pyang copied to clipboard

Same SIDs generated for groupings used in multiple places

Open vvelciu opened this issue 4 years ago • 11 comments

Hello,

I generated an SID file based on ieee802-dot1q-psfp.yang. ieee802:ptp-time-grouping is used multiple times in there, but there is only one set of SIDs (one for nanoseconds, one for seconds) generated for this grouping: { "namespace": "data", "identifier": "/ieee802-types:nanoseconds", "sid": 60951 } { "namespace": "data", "identifier": "/ieee802-types:seconds", "sid": 60953 }

Is this the intended behavior? I think it makes it impossible to reference the child nodes of a grouping (for example, the seconds field of config-change-time and current-time would have the same SID).

Best regards, Veronica

vvelciu avatar Dec 17 '20 17:12 vvelciu

Hi Veronica, @vvelciu

Sorry I am not skilled to sid. The latest sid specification is still a draft: https://tools.ietf.org/html/draft-ietf-core-sid-14#page-13 But I read the specification, there is nothing mentioned about grouping. I guess maybe we can't generate sids for groupings, but I am not sure.

fredgan avatar Dec 18 '20 07:12 fredgan

As far as I can see, the situation is as follows: If there is a grouping, a unique SID is assigned for any node within that grouping. However, as groupings can be used in multiple places, those SIDs do not uniquely identify a data node. E.g. for a get operation to an SID within a group node, it will be unclear which data to return.

While the SID standard is not explicit on groupings, the current SID assignment doesn't sound plausible to me as it makes those SIDs unsable if the grouping is used in more than one place. @lemikev and @ptlm, whats's your opinion on this?

christian-herber avatar Feb 15 '21 07:02 christian-herber

Hi Christian

SID is defined in https://tools.ietf.org/html/draft-ietf-core-yang-cbor-15#section-3.2. As described in this section, SIDs are not assigned to group members. SIDs are assigned to the use of a group such as:

  • data nodes
  • RPCs and associated input(s) and output(s)
  • actions and associated input(s) and output(s)
  • notifications and associated information

From where you get this assumption that SIDs are assigned to group members?

Regards, Michel

From: christian-herber [email protected] Sent: 15 février 2021 02:34 To: mbj4668/pyang [email protected] Cc: Michel Veillette [email protected]; Mention [email protected] Subject: Re: [mbj4668/pyang] Same SIDs generated for groupings used in multiple places (#716)

External Email: Please use caution when opening links and attachments / Courriel externe: Soyez prudent avec les liens et documents joints

As far as I can see, the situation is as follows: If there is a grouping, a unique SID is assigned for any node within that grouping. However, as groupings can be used in multiple places, those SIDs do not uniquely identify a data node. E.g. for a get operation to an SID within a group node, it will be unclear which data to return.

While the SID standard is not explicit on groupings, the current SID assignment doesn't sound plausible to me as it makes those SIDs unsable if the grouping is used in more than one place. @lemikevhttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Flemikev&data=04%7C01%7CMichel.Veillette%40trilliant.com%7C03a731b6527e46c5877908d8d183ff1b%7C4f6fbd130dfb415085c3d43260c04309%7C0%7C0%7C637489712178820359%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Nf9opvTv3NvVka9OL1wjaXUhQhemYEOUE5FkTYbl6nY%3D&reserved=0 and @ptlmhttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fptlm&data=04%7C01%7CMichel.Veillette%40trilliant.com%7C03a731b6527e46c5877908d8d183ff1b%7C4f6fbd130dfb415085c3d43260c04309%7C0%7C0%7C637489712178820359%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=8dn1dOp7YrA%2B0zK0%2Bf4T4dE1VAzEGQ1gathE7%2FMDonM%3D&reserved=0, whats's your opinion on this?

You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmbj4668%2Fpyang%2Fissues%2F716%23issuecomment-779014632&data=04%7C01%7CMichel.Veillette%40trilliant.com%7C03a731b6527e46c5877908d8d183ff1b%7C4f6fbd130dfb415085c3d43260c04309%7C0%7C0%7C637489712178830347%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=6OshO5yMPL3BJvQxedkWBnkhtzkTjJhTxnIleWZqwsU%3D&reserved=0, or unsubscribehttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADZVLN3EY2QZONQFY6BJIITS7DE4XANCNFSM4U76PQJA&data=04%7C01%7CMichel.Veillette%40trilliant.com%7C03a731b6527e46c5877908d8d183ff1b%7C4f6fbd130dfb415085c3d43260c04309%7C0%7C0%7C637489712178830347%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=qlxOhLaPiETLiG1Kc5EIUA05vvmQe4zx%2F1eWdHqg6Mw%3D&reserved=0.

lemikev avatar Feb 15 '21 15:02 lemikev

I see this practically, e.g. when generating SIDs for the ieee802-dot1q-bridge model in conjunction with ieee802-dot1q-psfp and ieee802-dot1q-stream-filters-gates.

ieee802-dot1q-types defines a grouping, that is used in ieee802-dot1q-psfp called gate-control-entry. It is used in the admin-control-list and in the oper-control-list.


    {
      "namespace": "data",
      "identifier": "/ieee802-dot1q-psfp:gate-control-entry",
      "sid": 60947
    },
    {
      "namespace": "data",
      "identifier": "/ieee802-dot1q-psfp:gate-control-entry/gate-state-value",
      "sid": 60948
    },
    {
      "namespace": "data",
      "identifier": "/ieee802-dot1q-psfp:gate-control-entry/index",
      "sid": 60949
    },
    {
      "namespace": "data",
      "identifier": "/ieee802-dot1q-psfp:gate-control-entry/interval-octet-max",
      "sid": 60950
    },
    {
      "namespace": "data",
      "identifier": "/ieee802-dot1q-psfp:gate-control-entry/ipv-spec",
      "sid": 60951
    },
    {
      "namespace": "data",
      "identifier": "/ieee802-dot1q-psfp:gate-control-entry/operation-name",
      "sid": 60952
    },
    {
      "namespace": "data",
      "identifier": "/ieee802-dot1q-psfp:gate-control-entry/time-interval-value",
      "sid": 60953
    },

pyang will however generate SIDs for the elements in the grouping. Now, if I am fetching a resource with SID=60947, it is not clear if that corresponds to the admin-control-list or the oper-control-list. Separate sets of SIDs should be generated.

christian-herber avatar Feb 16 '21 08:02 christian-herber

Hi Christian

Effectively, those SIDs have been assigned by error. Would you please send me the set of ieee802 YANG files used when generating these SIDs. I fond multiple versions of these files on the web with the same version date but different content.

Regards, Michel

From: christian-herber [email protected] Sent: 16 février 2021 03:58 To: mbj4668/pyang [email protected] Cc: Michel Veillette [email protected]; Mention [email protected] Subject: Re: [mbj4668/pyang] Same SIDs generated for groupings used in multiple places (#716)

External Email: Please use caution when opening links and attachments / Courriel externe: Soyez prudent avec les liens et documents joints

I see this practically, e.g. when generating SIDs for the ieee802-dot1q-bridge model in conjunction with ieee802-dot1q-psfp and ieee802-dot1q-stream-filters-gates.

ieee802-dot1q-types defines a grouping, that is used in ieee802-dot1q-psfp called gate-control-entry. It is used in the admin-control-list and in the oper-control-list.

{

  "namespace": "data",

  "identifier": "/ieee802-dot1q-psfp:gate-control-entry",

  "sid": 60947

},

{

  "namespace": "data",

  "identifier": "/ieee802-dot1q-psfp:gate-control-entry/gate-state-value",

  "sid": 60948

},

{

  "namespace": "data",

  "identifier": "/ieee802-dot1q-psfp:gate-control-entry/index",

  "sid": 60949

},

{

  "namespace": "data",

  "identifier": "/ieee802-dot1q-psfp:gate-control-entry/interval-octet-max",

  "sid": 60950

},

{

  "namespace": "data",

  "identifier": "/ieee802-dot1q-psfp:gate-control-entry/ipv-spec",

  "sid": 60951

},

{

  "namespace": "data",

  "identifier": "/ieee802-dot1q-psfp:gate-control-entry/operation-name",

  "sid": 60952

},

{

  "namespace": "data",

  "identifier": "/ieee802-dot1q-psfp:gate-control-entry/time-interval-value",

  "sid": 60953

},

pyang will however generate SIDs for the elements in the grouping. Now, if I am fetching a resource with SID=60947, it is not clear if that corresponds to the admin-control-list or the oper-control-list. Separate sets of SIDs should be generated.

You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmbj4668%2Fpyang%2Fissues%2F716%23issuecomment-779687026&data=04%7C01%7CMichel.Veillette%40trilliant.com%7Ce44adc963ebe467b764708d8d259039f%7C4f6fbd130dfb415085c3d43260c04309%7C0%7C0%7C637490627053804718%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=VDlBczvI0%2FsFgdSKrCkInsmKYkVjIO5rEOL3LYGq5xY%3D&reserved=0, or unsubscribehttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADZVLNZ2AU53WOORMAVDYDDS7IXS5ANCNFSM4U76PQJA&data=04%7C01%7CMichel.Veillette%40trilliant.com%7Ce44adc963ebe467b764708d8d259039f%7C4f6fbd130dfb415085c3d43260c04309%7C0%7C0%7C637490627053804718%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=05ye%2BKWl9n18uQNwoi8HGPXsbuov0aQ1QKecTGMC0B4%3D&reserved=0.

lemikev avatar Feb 16 '21 18:02 lemikev

the versions I am using are

ieee802-dot1q-psfp@2020-07-07 ieee802-dot1q-stream-filters-gates@2020-11-06 ieee802-dot1q-types@2020-10-23

christian-herber avatar Feb 17 '21 09:02 christian-herber

I added another ticket, which might likely have the same root cause, but has different symptoms: https://github.com/mbj4668/pyang/issues/726

christian-herber avatar Feb 17 '21 09:02 christian-herber

Hi Christian

The problem seem to be fixed, see the SIDs generated for module "ieee802-dot1q-psfp" below.

I will need some time to validate the result and to update github. In the means time, you may download the updated sid.py file from the link https://www.dropbox.com/s/ifchydhhyw9n8ry/sid.py?dl=0 Replace this file in the "pyang/pyang/plugins" directory.

SID Assigned to


60000 module ieee802-dot1q-psfp 60001 identity set-gate-and-ipv 60002 feature psfp 60003 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters 60004 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table 60005 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/color-mode 60006 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/committed-burst-size 60007 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/committed-information-rate 60008 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/coupling-flag 60009 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/drop-on-yellow 60010 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/excess-burst-size 60011 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/excess-information-rate 60012 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/flow-meter-instance-id 60013 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/mark-all-frames-red 60014 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/flow-meter-instance-table/mark-all-frames-red-enable 60015 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-psfp:flow-meters/max-flow-meter-instances 60016 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-filters/stream-filter-instance-table/ieee802-dot1q-psfp:flow-meter-enable 60017 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-filters/stream-filter-instance-table/ieee802-dot1q-psfp:flow-meter-instance-id 60018 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-filters/stream-filter-instance-table/ieee802-dot1q-psfp:matching-frames-count 60019 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-filters/stream-filter-instance-table/ieee802-dot1q-psfp:not-passing-frames-count 60020 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-filters/stream-filter-instance-table/ieee802-dot1q-psfp:not-passing-sdu-count 60021 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-filters/stream-filter-instance-table/ieee802-dot1q-psfp:passing-frames-count 60022 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-filters/stream-filter-instance-table/ieee802-dot1q-psfp:passing-sdu-count 60023 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-filters/stream-filter-instance-table/ieee802-dot1q-psfp:red-frames-count 60024 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/ieee802-dot1q-psfp:supported-cycle-max 60025 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/ieee802-dot1q-psfp:supported-cycle-max/ieee802-types:denominator 60026 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/ieee802-dot1q-psfp:supported-cycle-max/ieee802-types:numerator 60027 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/ieee802-dot1q-psfp:supported-interval-max 60028 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/ieee802-dot1q-psfp:supported-list-max 60029 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-base-time 60030 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-base-time/ieee802-types:nanoseconds 60031 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-base-time/ieee802-types:seconds 60032 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list 60033 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry 60034 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/gate-state-value 60035 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/index 60036 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/interval-octet-max 60037 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/ipv-spec 60038 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/operation-name 60039 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-control-list/gate-control-entry/time-interval-value 60040 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-cycle-time 60041 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-cycle-time-extension 60042 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-cycle-time/ieee802-types:denominator 60043 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:admin-cycle-time/ieee802-types:numerator 60044 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-change 60045 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-change-error 60046 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-change-time 60047 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-change-time/ieee802-types:nanoseconds 60048 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-change-time/ieee802-types:seconds 60049 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:config-pending 60050 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:current-time 60051 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:current-time/ieee802-types:nanoseconds 60052 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:current-time/ieee802-types:seconds 60053 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:gate-closed-due-octets-exceeded 60054 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:gate-closed-due-octets-exceeded-enable 60055 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:gate-closed-due-to-invalid-rx 60056 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:gate-closed-due-to-invalid-rx-enable 60057 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-base-time 60058 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-base-time/ieee802-types:nanoseconds 60059 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-base-time/ieee802-types:seconds 60060 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list 60061 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry 60062 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/gate-state-value 60063 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/index 60064 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/interval-octet-max 60065 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/ipv-spec 60066 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/operation-name 60067 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-control-list/gate-control-entry/time-interval-value 60068 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-cycle-time 60069 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-cycle-time-extension 60070 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-cycle-time/ieee802-types:denominator 60071 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-cycle-time/ieee802-types:numerator 60072 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-gate-states 60073 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:oper-ipv 60074 data /ieee802-dot1q-bridge:bridges/bridge/component/ieee802-dot1q-stream-filters-gates:stream-gates/stream-gate-instance-table/ieee802-dot1q-psfp:tick-granularity

File [email protected]mailto:[email protected] created Number of SIDs available : 100 Number of SIDs used : 75

From: christian-herber [email protected] Sent: 17 février 2021 04:34 To: mbj4668/pyang [email protected] Cc: Michel Veillette [email protected]; Mention [email protected] Subject: Re: [mbj4668/pyang] Same SIDs generated for groupings used in multiple places (#716)

External Email: Please use caution when opening links and attachments / Courriel externe: Soyez prudent avec les liens et documents joints

I added another ticket, which might likely have the same root cause, but has different symptoms: #726https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmbj4668%2Fpyang%2Fissues%2F726&data=04%7C01%7CMichel.Veillette%40trilliant.com%7Ca8552db74eaa49e22ace08d8d327397b%7C4f6fbd130dfb415085c3d43260c04309%7C0%7C0%7C637491512739863573%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=YtkcbQjvz0GoOEBQBtYLM%2BPloPh89zWKDRNBUF6S3ZA%3D&reserved=0

You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmbj4668%2Fpyang%2Fissues%2F716%23issuecomment-780427315&data=04%7C01%7CMichel.Veillette%40trilliant.com%7Ca8552db74eaa49e22ace08d8d327397b%7C4f6fbd130dfb415085c3d43260c04309%7C0%7C0%7C637491512739873565%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ded0WrQOGNx1%2BgDPptOyzPnsdXGRLtv3xBQosSQ5yNI%3D&reserved=0, or unsubscribehttps://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADZVLN3WQYAVVU2QKTAUPHTS7OESJANCNFSM4U76PQJA&data=04%7C01%7CMichel.Veillette%40trilliant.com%7Ca8552db74eaa49e22ace08d8d327397b%7C4f6fbd130dfb415085c3d43260c04309%7C0%7C0%7C637491512739873565%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=9B44za3BaWU3IcAjJluhg3YBJ2bxzaaFTh6G%2FRE3%2F50%3D&reserved=0.

lemikev avatar Feb 18 '21 04:02 lemikev

I tested with the latest version. Good step forward, but I have still cases where I do not think things are quite correct. When a grouping is used that is defined in a different module (as is usual with *_types.yang files), the identifier is incorrect.

{
  "assignment-ranges": [
    {
      "entry-point": 61200,
      "size": 100
    }
  ],
  "module-name": "ieee802-dot1cb-stream-identification",
  "module-revision": "2020-04-29",
  "items": [
    ...
    {
      "namespace": "data",
      "identifier": "/ieee802-dot1cb-stream-identification:stream-identity-list/ieee802-dot1cb-stream-identification-types:handle",
      "sid": 61213
    }
    ...
  ]
}

Imho, "/ieee802-dot1cb-stream-identification:stream-identity-list/ieee802-dot1cb-stream-identification-types:handle", should be "/ieee802-dot1cb-stream-identification:stream-identity-list/handle",

christian-herber avatar Feb 24 '21 08:02 christian-herber

Hi Christian I things you are correct, all data nodes part of a grouping and subsequent inner groupings needs to be associated with the module performing the initial "uses". I should be able to provide you a fix for this issue by tomorrow.

lemikev avatar Feb 24 '21 14:02 lemikev

The updated sid.py plugins is available in https://www.dropbox.com/s/ifchydhhyw9n8ry/sid.py?dl=0 To test it, replace this file in your "pyang/pyang/plugins" directory.

lemikev avatar Feb 25 '21 16:02 lemikev