Loading yang-models/_3gpp-5g-common-yang-types.yang +22 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ module _3gpp-5g-common-yang-types { prefix "types5g3gpp"; import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; Loading @@ -25,6 +26,27 @@ module _3gpp-5g-common-yang-types { revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } grouping IpInterfaceGrp { leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of the User Plane interface."; type inet:ipv4-address; must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } leaf-list ipv6EndpointAddresses { description "Available endpoint IPv6 address(es) of the User Plane interface."; type inet:ipv6-address; must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } leaf fqdn { description "This parameter defines FQDN of the Network Function (See TS 23.003)."; type inet:domain-name; must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } } grouping SdRangeGrp { leaf start { type string { Loading yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +2 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,8 @@ TTA, TTC). All rights reserved."; pattern '^[0-9]+$'; } } leaf end {type string; } // dummy leaf pattern {type string; } // dummy } grouping ManagedNFProfileGrp { Loading yang-models/_3gpp-5gc-nrm-neffunction.yang +3 −3 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ module _3gpp-5gc-nrm-neffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading Loading @@ -212,7 +212,7 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; key idx; leaf idx { type uint32 ; } uses nfp3gpp:IdentityRange; uses mnfp3gpp:IdentityRange; } list externalGroupIdentifiersRanges { Loading @@ -221,7 +221,7 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; key idx; leaf idx { type uint32 ; } uses nfp3gpp:IdentityRange; uses mnfp3gpp:IdentityRange; } leaf-list servedFqdnList { Loading yang-models/_3gpp-5gc-nrm-upffunction.yang +289 −38 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ module _3gpp-5gc-nrm-upffunction { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } import ietf-inet-types { prefix inet; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading @@ -26,80 +28,329 @@ module _3gpp-5gc-nrm-upffunction { revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } grouping UpfInfoGrp { description "Represents datatype UpfInfo"; grouping SnssaiUpfInfoItemGrp { list sNssai { description "Supported S-NSSAI."; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:ExtSnssaiGrp; } /*sNssaiUpfInfoList { description ""; list dnnUpfInfoList { description "It represents list of parameters supported by the UPF per DNN."; min-elements 1; key dnn; uses nef3gpp:DnnInfoItemGrp; } smfServingAreat { description ""; leaf redundantTransport { type boolean; default false; description "This attribute indicates whether the UPF supports redundant transport path on the transport layer in the corresponding network slice. true: supported false: not supported"; } } interfaceUpfInfoListt { description ""; typedef UPInterfaceType { type enumeration { enum N3; enum N6; enum N9; enum DATA_FORWARDING; enum N6MB; enum N19MB; enum N3MB; enum NMB9; enum S1U; enum S5U; enum S8U; enum S11U; enum S12; enum S2AU; enum S2BU; enum N3TRUSTEDN3GPP; enum N3UNTRUSTEDN3GPP; enum N9ROAMING; enum SGI; enum N19; enum SXAU; enum SXBU; enum N4U; } } grouping InterfaceUpfInfoItemGrp { leaf interfaceType { description "User Plane interface type. See TS 29.510[23] clause 6.1.6.3.9"; mandatory true; type UPInterfaceType; must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } iwkEpsIndt { description ""; leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of the User Plane interface."; type inet:ipv4-address; } pduSessionTypest { description ""; leaf-list ipv6EndpointAddresses { description "Available endpoint IPv6 address(es) of the User Plane interface."; type inet:ipv6-address; } atsssCapabilityt { description ""; leaf fqdn { description "This parameter defines FQDN of the Network Function (See TS 23.003)."; type inet:domain-name; } ueIpAddrIndt { description ""; leaf networkInstance { description "Network Instance (See TS 29.244) associated to the User Plane interface"; type string; mandatory true; } } taiListt { description ""; grouping AtsssCapabilityGrp { leaf atsssLL { description "Indicates the ATSSS-LL capability to support procedures related to Access Traffic Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of TS 23.501). true: Supported false: Not Supported"; type boolean; default false; } taiRangeListt { description ""; leaf mptcp { description "Indicates the MPTCP capability to support procedures related to Access Traffic Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of TS 23.501). true: Supported false: Not Supported"; type boolean; default false; } wAgfInfot { description ""; leaf rttWithoutPmf { description "Indicates whether the UPF supports RTT measurement without PMF (see clauses 5.32.2, 6.3.3.3 of TS 23.501). true: Supported false: Not Supported"; type boolean; default false; } } tngfInfot { description ""; grouping UpfInfoGrp { description "Represents datatype UpfInfo. This data type represents information of an UPF Instance"; list sNssaiUpfInfoList { description "This attribute represents a list of parameters supported by the UPF per S-NSSAI."; min-elements 1; key idx; leaf idx { type uint32; } uses SnssaiUpfInfoItemGrp; } twifInfot { description ""; leaf-list smfServingArea { type string; min-elements 1; description "The SMF service area(s) the UPF can serve. See TS 29.510. If not provided, the UPF can serve any SMF service area."; } priorityt { description ""; list interfaceUpfInfoList { description "List of User Plane interfaces configured on the UPF. When this parameter is provided in the NF Discovery response, the NF Service Consumer (e.g., SMF) may use this information for UPF selection."; min-elements 1; key idx; leaf idx { type uint32; } uses InterfaceUpfInfoItemGrp; } redundantGtput { description ""; leaf iwkEpsInd { type boolean; mandatory true; config false; description "Indicates whether interworking with EPS is supported by the UPF. True: Supported False: Not Supported"; } ipupst { description ""; leaf-list pduSessionTypes { type enumeration { enum IPV4; enum IPV6; enum IPV4V6; enum UNSTRUCTURED; enum ETHERNET; } config false; min-elements 1; description "Indicates the type(s) of a PDU session."; } dataForwardingt { description ""; list atsssCapability { config false; description "Indicate the ATSSS capability of the UPF"; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses AtsssCapabilityGrp; } supportedPfcpFeaturest { description ""; leaf ueIpAddrInd { type boolean; config false; default false; description "Indicates whether the UPF supports allocating UE IP addresses/prefixes. true: supported false: not supported"; } sxaIndt { description ""; }*/ list taiList { description "The list of TAIs."; min-elements 1; key idx; leaf idx { type uint32; } uses types3gpp:TaiGrp; } list taiRangeList { description "The range of TAIs."; min-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:TaiRangeGrp; } list wAgfInfo { description "Indicate that the UPF is collocated with W-AGF. If not present, the UPF is not collocated with Wireline Access Gateway Function (W-AGF)."; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:IpInterfaceGrp; } list tngfInfo { description "Indicate that the UPF is collocated with TNGF. If not present, the UPF is not collocated with Trusted Non-3GPP Gateway Function (TNGF)."; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:IpInterfaceGrp; } list twifInfo { description "Indicate that the UPF is collocated with TWIF. If not present, the UPF is not collocated with Trusted WLAN Interworking Function (TWIF)."; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:IpInterfaceGrp; } leaf priority { type uint16; mandatory true; description "This parameter defines Priority (relative to other NFs of the same type) in the range of 0-65535, to be used for NF selection; lower values indicate a higher priority. If priority is also present in the nfServiceList parameters, those will have precedence over this value (See TS 29.510)."; } leaf redundantGtpu { type boolean; default false; config false; description "Indicates whether the UPF supports redundant GTP-U path. true: supported false: not supported"; } leaf ipups { type boolean; default false; description "Indicates whether the UPF is configured for Inter-PLMN User Plane Security (IPUPS). Any UPF can support the IPUPS functionality. In network deployments where specific UPFs are used to provide IPUPS, UPFs configured for providing IPUPS services shall be selected. true: The UPF is configured for IPUPS. false: The UPF is not configured for IPUPS"; } leaf dataForwarding { type boolean; default false; description "Indicates whether the UPF is configured for data forwarding. Based on operator policies, if dedicated UPFs are preferred to be used for indirect data forwarding during handover scenarios, when setting up the indirect data forwarding tunnel, the SMF should preferably select a UPF configured for data forwarding and use the network instance indicated in the Network Instance ID associated to the DATA_FORWARDING interface type in the interfaceUpfInfoList attribute. true: the UPF is configured for data forwarding false: the UPF is not configured for data forwarding If the UPF is configured for data forwarding, it shall support UP network interface with type 'DATA_FORWARDING'."; } leaf supportedPfcpFeatures { type string; config false; description "Supported Packet Forwarding Control Protocol (PFCP) Features. A string used to indicate the PFCP features supported by the UPF, which encodes the 'UP Function Features' as specified in Table 8.2.25-1 of TS 29.244 (starting from Octet 5), in hexadecimal representation. Each character in the string shall take a value of '0' to '9', 'a' to 'f' or 'A' to 'F' and each two characters shall represent one octet of 'UP Function Features' (starting from Octet 5, to higher octets). For each two characters representing one octet, the first character representing the 4 most significant bits of the octet and the second character the 4 least significant bits of the octet. The supported PFCP features shall be provisioned in addition and be consistent with the existing UPF features (atsssCapability, ueIpAddrInd, redundantGtpu and ipups), e.g., if the ueIpAddrInd is set to 'true', then the UEIP flag shall also be set to '1' in the supported PFCP features."; } leaf sxaInd { type boolean; config false; description "This attribute indicates whether the UPF is configured to support Sxa interface. true: Supported false: Not Supported"; } } grouping UPFFunctionGrp { Loading Loading
yang-models/_3gpp-5g-common-yang-types.yang +22 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ module _3gpp-5g-common-yang-types { prefix "types5g3gpp"; import ietf-yang-types { prefix yang; } import ietf-inet-types { prefix inet; } import _3gpp-common-yang-types { prefix types3gpp; } organization "3GPP SA5"; Loading @@ -25,6 +26,27 @@ module _3gpp-5g-common-yang-types { revision 2020-11-05 { reference CR-0412 ; } revision 2019-10-20 { reference "Initial version."; } grouping IpInterfaceGrp { leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of the User Plane interface."; type inet:ipv4-address; must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } leaf-list ipv6EndpointAddresses { description "Available endpoint IPv6 address(es) of the User Plane interface."; type inet:ipv6-address; must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } leaf fqdn { description "This parameter defines FQDN of the Network Function (See TS 23.003)."; type inet:domain-name; must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } } grouping SdRangeGrp { leaf start { type string { Loading
yang-models/_3gpp-5gc-nrm-managed-nfprofile.yang +2 −0 Original line number Diff line number Diff line Loading @@ -241,6 +241,8 @@ TTA, TTC). All rights reserved."; pattern '^[0-9]+$'; } } leaf end {type string; } // dummy leaf pattern {type string; } // dummy } grouping ManagedNFProfileGrp { Loading
yang-models/_3gpp-5gc-nrm-neffunction.yang +3 −3 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ module _3gpp-5gc-nrm-neffunction { import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-5gc-nrm-nfprofile { prefix nfp3gpp; } import _3gpp-5gc-nrm-managed-nfprofile { prefix mnfp3gpp; } organization "3gpp SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading Loading @@ -212,7 +212,7 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; key idx; leaf idx { type uint32 ; } uses nfp3gpp:IdentityRange; uses mnfp3gpp:IdentityRange; } list externalGroupIdentifiersRanges { Loading @@ -221,7 +221,7 @@ module _3gpp-5gc-nrm-neffunction { min-elements 1; key idx; leaf idx { type uint32 ; } uses nfp3gpp:IdentityRange; uses mnfp3gpp:IdentityRange; } leaf-list servedFqdnList { Loading
yang-models/_3gpp-5gc-nrm-upffunction.yang +289 −38 Original line number Diff line number Diff line Loading @@ -9,6 +9,8 @@ module _3gpp-5gc-nrm-upffunction { import _3gpp-5g-common-yang-types { prefix types5g3gpp; } import _3gpp-common-top { prefix top3gpp; } import _3gpp-common-yang-extensions { prefix yext3gpp; } import _3gpp-5gc-nrm-neffunction { prefix nef3gpp; } import ietf-inet-types { prefix inet; } organization "3GPP SA5"; contact "https://www.3gpp.org/DynaReport/TSG-WG--S5--officials.htm?Itemid=464"; Loading @@ -26,80 +28,329 @@ module _3gpp-5gc-nrm-upffunction { revision 2019-05-31 { reference "Ericsson refactoring."; } revision 2018-08-07 { reference "Initial revision"; } grouping UpfInfoGrp { description "Represents datatype UpfInfo"; grouping SnssaiUpfInfoItemGrp { list sNssai { description "Supported S-NSSAI."; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:ExtSnssaiGrp; } /*sNssaiUpfInfoList { description ""; list dnnUpfInfoList { description "It represents list of parameters supported by the UPF per DNN."; min-elements 1; key dnn; uses nef3gpp:DnnInfoItemGrp; } smfServingAreat { description ""; leaf redundantTransport { type boolean; default false; description "This attribute indicates whether the UPF supports redundant transport path on the transport layer in the corresponding network slice. true: supported false: not supported"; } } interfaceUpfInfoListt { description ""; typedef UPInterfaceType { type enumeration { enum N3; enum N6; enum N9; enum DATA_FORWARDING; enum N6MB; enum N19MB; enum N3MB; enum NMB9; enum S1U; enum S5U; enum S8U; enum S11U; enum S12; enum S2AU; enum S2BU; enum N3TRUSTEDN3GPP; enum N3UNTRUSTEDN3GPP; enum N9ROAMING; enum SGI; enum N19; enum SXAU; enum SXBU; enum N4U; } } grouping InterfaceUpfInfoItemGrp { leaf interfaceType { description "User Plane interface type. See TS 29.510[23] clause 6.1.6.3.9"; mandatory true; type UPInterfaceType; must '../ipv4EndpointAddresses or ../ipv6EndpointAddresses or ../fqdn'; } iwkEpsIndt { description ""; leaf-list ipv4EndpointAddresses { description "Available endpoint IPv4 address(es) of the User Plane interface."; type inet:ipv4-address; } pduSessionTypest { description ""; leaf-list ipv6EndpointAddresses { description "Available endpoint IPv6 address(es) of the User Plane interface."; type inet:ipv6-address; } atsssCapabilityt { description ""; leaf fqdn { description "This parameter defines FQDN of the Network Function (See TS 23.003)."; type inet:domain-name; } ueIpAddrIndt { description ""; leaf networkInstance { description "Network Instance (See TS 29.244) associated to the User Plane interface"; type string; mandatory true; } } taiListt { description ""; grouping AtsssCapabilityGrp { leaf atsssLL { description "Indicates the ATSSS-LL capability to support procedures related to Access Traffic Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of TS 23.501). true: Supported false: Not Supported"; type boolean; default false; } taiRangeListt { description ""; leaf mptcp { description "Indicates the MPTCP capability to support procedures related to Access Traffic Steering, Switching, Splitting (see clauses 4.2.10, 5.32 of TS 23.501). true: Supported false: Not Supported"; type boolean; default false; } wAgfInfot { description ""; leaf rttWithoutPmf { description "Indicates whether the UPF supports RTT measurement without PMF (see clauses 5.32.2, 6.3.3.3 of TS 23.501). true: Supported false: Not Supported"; type boolean; default false; } } tngfInfot { description ""; grouping UpfInfoGrp { description "Represents datatype UpfInfo. This data type represents information of an UPF Instance"; list sNssaiUpfInfoList { description "This attribute represents a list of parameters supported by the UPF per S-NSSAI."; min-elements 1; key idx; leaf idx { type uint32; } uses SnssaiUpfInfoItemGrp; } twifInfot { description ""; leaf-list smfServingArea { type string; min-elements 1; description "The SMF service area(s) the UPF can serve. See TS 29.510. If not provided, the UPF can serve any SMF service area."; } priorityt { description ""; list interfaceUpfInfoList { description "List of User Plane interfaces configured on the UPF. When this parameter is provided in the NF Discovery response, the NF Service Consumer (e.g., SMF) may use this information for UPF selection."; min-elements 1; key idx; leaf idx { type uint32; } uses InterfaceUpfInfoItemGrp; } redundantGtput { description ""; leaf iwkEpsInd { type boolean; mandatory true; config false; description "Indicates whether interworking with EPS is supported by the UPF. True: Supported False: Not Supported"; } ipupst { description ""; leaf-list pduSessionTypes { type enumeration { enum IPV4; enum IPV6; enum IPV4V6; enum UNSTRUCTURED; enum ETHERNET; } config false; min-elements 1; description "Indicates the type(s) of a PDU session."; } dataForwardingt { description ""; list atsssCapability { config false; description "Indicate the ATSSS capability of the UPF"; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses AtsssCapabilityGrp; } supportedPfcpFeaturest { description ""; leaf ueIpAddrInd { type boolean; config false; default false; description "Indicates whether the UPF supports allocating UE IP addresses/prefixes. true: supported false: not supported"; } sxaIndt { description ""; }*/ list taiList { description "The list of TAIs."; min-elements 1; key idx; leaf idx { type uint32; } uses types3gpp:TaiGrp; } list taiRangeList { description "The range of TAIs."; min-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:TaiRangeGrp; } list wAgfInfo { description "Indicate that the UPF is collocated with W-AGF. If not present, the UPF is not collocated with Wireline Access Gateway Function (W-AGF)."; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:IpInterfaceGrp; } list tngfInfo { description "Indicate that the UPF is collocated with TNGF. If not present, the UPF is not collocated with Trusted Non-3GPP Gateway Function (TNGF)."; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:IpInterfaceGrp; } list twifInfo { description "Indicate that the UPF is collocated with TWIF. If not present, the UPF is not collocated with Trusted WLAN Interworking Function (TWIF)."; min-elements 1; max-elements 1; key idx; leaf idx { type uint32; } uses types5g3gpp:IpInterfaceGrp; } leaf priority { type uint16; mandatory true; description "This parameter defines Priority (relative to other NFs of the same type) in the range of 0-65535, to be used for NF selection; lower values indicate a higher priority. If priority is also present in the nfServiceList parameters, those will have precedence over this value (See TS 29.510)."; } leaf redundantGtpu { type boolean; default false; config false; description "Indicates whether the UPF supports redundant GTP-U path. true: supported false: not supported"; } leaf ipups { type boolean; default false; description "Indicates whether the UPF is configured for Inter-PLMN User Plane Security (IPUPS). Any UPF can support the IPUPS functionality. In network deployments where specific UPFs are used to provide IPUPS, UPFs configured for providing IPUPS services shall be selected. true: The UPF is configured for IPUPS. false: The UPF is not configured for IPUPS"; } leaf dataForwarding { type boolean; default false; description "Indicates whether the UPF is configured for data forwarding. Based on operator policies, if dedicated UPFs are preferred to be used for indirect data forwarding during handover scenarios, when setting up the indirect data forwarding tunnel, the SMF should preferably select a UPF configured for data forwarding and use the network instance indicated in the Network Instance ID associated to the DATA_FORWARDING interface type in the interfaceUpfInfoList attribute. true: the UPF is configured for data forwarding false: the UPF is not configured for data forwarding If the UPF is configured for data forwarding, it shall support UP network interface with type 'DATA_FORWARDING'."; } leaf supportedPfcpFeatures { type string; config false; description "Supported Packet Forwarding Control Protocol (PFCP) Features. A string used to indicate the PFCP features supported by the UPF, which encodes the 'UP Function Features' as specified in Table 8.2.25-1 of TS 29.244 (starting from Octet 5), in hexadecimal representation. Each character in the string shall take a value of '0' to '9', 'a' to 'f' or 'A' to 'F' and each two characters shall represent one octet of 'UP Function Features' (starting from Octet 5, to higher octets). For each two characters representing one octet, the first character representing the 4 most significant bits of the octet and the second character the 4 least significant bits of the octet. The supported PFCP features shall be provisioned in addition and be consistent with the existing UPF features (atsssCapability, ueIpAddrInd, redundantGtpu and ipups), e.g., if the ueIpAddrInd is set to 'true', then the UEIP flag shall also be set to '1' in the supported PFCP features."; } leaf sxaInd { type boolean; config false; description "This attribute indicates whether the UPF is configured to support Sxa interface. true: Supported false: Not Supported"; } } grouping UPFFunctionGrp { Loading