Skip to content

Commit

Permalink
Merge pull request #43 from omec-project/dev-sdcore-441
Browse files Browse the repository at this point in the history
SDCORE-441 ROC API extension to accept QoS rates
  • Loading branch information
thakurajayL committed Oct 7, 2021
2 parents d5c93c1 + a502bd5 commit dc2b8d5
Show file tree
Hide file tree
Showing 8 changed files with 1,090 additions and 121 deletions.
22 changes: 22 additions & 0 deletions configapi/api/configapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -170,9 +170,31 @@ components:
dns-primary:
example: 8.8.8.8
type: string
dns-secondary:
nullable: false
example: 8.8.4.4
type: string
mtu:
example: 1460
type: integer
ue-dnn-qos:
properties:
dnn-mbr-uplink:
description: uplink data rate in bps
example: 4000000
type: integer
dnn-mbr-downlink:
description: downlink data rate in bps
example: 20000000
type: integer
traffic-class:
description: QCI/QFI for the traffic
enum:
- platinum
- gold
- silver
type: string
type: object
type: object
slice_slice_id:
properties:
Expand Down
4 changes: 3 additions & 1 deletion configapi/api_slice_mgmt.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@
package configapi

import (
"strings"

"github.com/free5gc/http_wrapper"
"github.com/gin-gonic/gin"
"github.com/omec-project/webconsole/backend/logger"
"github.com/omec-project/webconsole/configmodels"
"github.com/sirupsen/logrus"
"strings"
)

var configChannel chan *configmodels.ConfigMessage
Expand Down Expand Up @@ -83,6 +84,7 @@ func DeviceGroupPostHandler(c *gin.Context, msgOp int) bool {
configLog.Infof(" dnn name : %v", ipdomain.Dnn)
configLog.Infof(" ue pool : %v", ipdomain.UeIpPool)
configLog.Infof(" dns Primary : %v", ipdomain.DnsPrimary)
configLog.Infof(" dns Secondary : %v", ipdomain.DnsSecondary)
configLog.Infof(" ip mtu : %v", ipdomain.Mtu)

var msg configmodels.ConfigMessage
Expand Down
4 changes: 3 additions & 1 deletion configmodels/model_device_groups_ip_domain_expanded.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ type DeviceGroupsIpDomainExpanded struct {

DnsPrimary string `json:"dns-primary,omitempty"`

DnsSecondary string `json:"dns-secondary,omitempty"`

Mtu int32 `json:"mtu,omitempty"`

ApnQos ApnAmbrQosInfo `json:"dnn-qos,omitempty"`
UeDnnQos *DeviceGroupsIpDomainExpandedUeDnnQos `json:"ue-dnn-qos,omitempty"`
}
25 changes: 25 additions & 0 deletions configmodels/model_device_groups_ip_domain_expanded_ue_dnn_qos.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// SPDX-FileCopyrightText: 2021 Open Networking Foundation <info@opennetworking.org>
//
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0

/*
* Connectivity Service Configuration
*
* APIs to configure connectivity service in Aether Network
*
* API version: 1.0.0
* Generated by: OpenAPI Generator (https://openapi-generator.tech)
*/

package configmodels

// DeviceGroupsIpDomainExpandedUeDnnQos struct for DeviceGroupsIpDomainExpandedUeDnnQos
type DeviceGroupsIpDomainExpandedUeDnnQos struct {
// uplink data rate in bps
DnnMbrUplink int32 `json:"dnn-mbr-uplink,omitempty"`
// downlink data rate in bps
DnnMbrDownlink int32 `json:"dnn-mbr-downlink,omitempty"`
// QCI/QFI for the traffic
TrafficClass string `json:"traffic-class,omitempty"`
}
2 changes: 0 additions & 2 deletions configmodels/model_slice.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ type Slice struct {

Qos SliceQos `json:"qos,omitempty"`

ApnQos ApnAmbrQosInfo `json:"apn-ambr-qos,omitempty"`

SiteDeviceGroup []string `json:"site-device-group,omitempty"`

SiteInfo SliceSiteInfo `json:"site-info,omitempty"`
Expand Down
67 changes: 67 additions & 0 deletions proto/config.proto
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ message NetworkSlice {
repeated string DenyApps = 6;
repeated string PermitApps = 7;
repeated AppInfo AppInfo = 8;
AppFilterRules AppFilters = 9;
}

message DeviceGroup {
Expand All @@ -83,6 +84,72 @@ message IpDomain {
int32 Mtu = 5;
}

enum PccFlowDirection {
DOWNLINK = 0;
UPLINK = 1;
BIDIRECTIONAL = 2;
UNSPECIFIED = 3;
}

enum PccArpPc {
NOT_PREEMPT = 0;
MAY_PREEMPT = 1;
}

enum PccArpPv {
NOT_PREEMPTABLE = 0;
PREEMPTABLE = 1;
}

enum PccFlowTos {
HOPOPT = 0;
ICMP = 1;
TCP = 6;
UDP = 17;
}

enum PccFlowStatus {
ENABLED_UPLINK = 0;
ENABLED_DOWNLINK = 1;
ENABLED = 2;
DISABLED = 3;
REMOVED = 4;
}

message PccFlowInfo {
string FlowDesc = 1; //packet filters of the IP flow
string TosTrafficClass = 2;
PccFlowDirection FlowDir = 3;
PccFlowStatus FlowStatus = 4;
}

message PccArp {
int32 PL = 1;
PccArpPc PC = 2;
PccArpPv PV = 3;
}

message PccRuleQos {
int32 Var5qi = 1;
int32 MaxbrUl = 2;
int32 MaxbrDl = 3;
int32 GbrUl = 4;
int32 GbrDl = 5;
PccArp Arp = 6;
}



message PccRule {
repeated PccFlowInfo FlowInfos = 1;
string RuleId = 2; //Name of Rule
PccRuleQos Qos =3;
}

message AppFilterRules {
repeated PccRule PccRuleBase = 1;
}

message NetworkSliceRequest {
uint32 RestartCounter = 1;
string ClientId = 2;
Expand Down

0 comments on commit dc2b8d5

Please sign in to comment.