YANG Module Naming Guidelines

What we are suggesting is to allow each working group to decide what they use for their <ieee-working-group> string. So if 802.3 wants a different way to identify their working group, please provide what you would like to use. I have written the grammar below to capture what you do now, but if you want it changed, now is the time to decide.

For example 802.1 is using a format like: ieee802-dot1q-bridge.yang. Where “ieee802” is used for the committee, then a dash, then “dot1” followed by the name of the dot1 base specification (in this case “q”), then a dash, followed by a unique module name. The grammar below captures the guidelines.

<module-name> ::= <ieee-committee> <dash> <ieee-working-group> <dash> <unique-name>

<dash> ::= –
<letter> ::= [a-z A-Z 0-9 -]

<ieee-committee> ::= ieee [802 | 1588 | 1914]
<ieee-working-group> ::= <ieee802-working-group> | <ieee1588-working-group>| <ieee1914-working-group>
<ieee802-working-group> ::= <no-working-group> | <dot1-specific> | <dot3-specific> | <dot11-specific>

<no-working-group> ::= NULL

<dot1-specific> ::= dot1 <dot1-baseSpec>
<dot1-baseSpec> ::= NULL | <letter> {<letter>}

<dot3-specific> ::= ethernet | dot3

<dot11-specific> ::= dot11

<unique-name> ::= <letter> {<letter>}


802.1 example: ieee802-dot1q-bridge.yang
<ieee-committee> == ieee802
<dot1-specific> == dot1
<dot1-baseSpec> == q
<unique-name> == bridge

802.3 example: ieee802-ethernet-interface-half-duplex.yang
<ieee-committee> == ieee802
<dot3-specific> == ethernet
<unique-name> == interface-half-duplex

Other Guidelines:

For IEEE 802.1, the module name should not include -Rev or project amendment letters.