... | @@ -85,41 +85,71 @@ policy, with the following structure: |
... | @@ -85,41 +85,71 @@ policy, with the following structure: |
|
|
|
|
|
```json
|
|
```json
|
|
{
|
|
{
|
|
"dl": [
|
|
"ul": {
|
|
{
|
|
"algorithm": "Static",
|
|
"id": 0,
|
|
"slices": [
|
|
"percentage": 50,
|
|
{
|
|
"maxmcs": 28
|
|
"id": 0,
|
|
},
|
|
"label": "default",
|
|
{
|
|
"static": {
|
|
"id": 3,
|
|
"posLow": 1,
|
|
"percentage": 50,
|
|
"posHigh": 12
|
|
"maxmcs": 28
|
|
}
|
|
}
|
|
},
|
|
],
|
|
{
|
|
"ul": [
|
|
"id": 2,
|
|
{
|
|
"label": "two",
|
|
"id": 0,
|
|
"static": {
|
|
"percentage": 50,
|
|
"posLow": 13,
|
|
"firstRb": 0
|
|
"posHigh": 23
|
|
},
|
|
}
|
|
{
|
|
}
|
|
"id": 3,
|
|
]
|
|
"percentage": 50,
|
|
},
|
|
"firstRb": 25
|
|
"dl": {
|
|
}
|
|
"algorithm": "Static",
|
|
],
|
|
"slices": [
|
|
"intrasliceShareActive": true,
|
|
{
|
|
"intersliceShareActive": false
|
|
"id": 0,
|
|
|
|
"label": "default",
|
|
|
|
"static": {
|
|
|
|
"posLow": 0,
|
|
|
|
"posHigh": 5
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"label": "two",
|
|
|
|
"static": {
|
|
|
|
"posLow": 6,
|
|
|
|
"posHigh": 12
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
}
|
|
}
|
|
```
|
|
```
|
|
The above file defines :
|
|
The above file defines :
|
|
* two active slices with IDs 0 and 3.
|
|
* two active slices with IDs 0 and 3.
|
|
* each slice has 50% resources (based on an LTE configuration of 50 RBs, cf.
|
|
* each slice has roughly 50% of resources (based on an LTE configuration of 25 RBs, and which is not shared with other slices).
|
|
parameter `firstRb`) and does not share it with the other slice if it has unused
|
|
|
|
resources (`"intersliceShareActive": false`) but share them between users within one slice (`"intrasliceShareActive": true`).
|
|
Furthermore, UEs have to be associated to a slice. Create a second JSON file
|
|
|
|
`ue-association.json` with contents
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"ueConfig": [
|
|
|
|
{
|
|
|
|
"imsi": <replaceWithYourImsi>,
|
|
|
|
"dlSliceId": 2,
|
|
|
|
"ulSliceId": 2
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
This command is to be sent when the agent runs (see below). More information can be found [in the apidocs, section ApplySliceConfiguration](http://mosaic-5g.io/apidocs/flexran/#api-SliceConfiguration-ApplySliceConfiguration).
|
|
Both commands have to be sent when the agent runs (see below). More information can be found in the apidocs sections [ApplySliceConfiguration](http://mosaic-5g.io/apidocs/flexran/#api-SliceConfiguration-ApplySliceConfiguration) and [ChangleUeSliceAssociation](http://mosaic-5g.io/apidocs/flexran/#api-SliceConfiguration-ChangleUeSliceAssociation), respectively.
|
|
|
|
|
|
# Running the demo
|
|
# Running the demo
|
|
|
|
|
... | @@ -167,6 +197,5 @@ given IMSI or RNTI (see the [stats call of the |
... | @@ -167,6 +197,5 @@ given IMSI or RNTI (see the [stats call of the |
|
controller](http://mosaic-5g.io/apidocs/flexran/#api-Stats-GetStatsEnb)) in
|
|
controller](http://mosaic-5g.io/apidocs/flexran/#api-Stats-GetStatsEnb)) in
|
|
another slice, issue:
|
|
another slice, issue:
|
|
```bash
|
|
```bash
|
|
$ curl -X POST http://192.168.12.45:9999/ue_slice_assoc/enb/-1/ue/<imsi-or-rnti>/slice/3
|
|
$ curl -XPOST http://192.168.12.45:9999/ue_slice_assoc/enb/ --data-binary @ue-association.json
|
|
``` |
|
``` |
|
More information is available in the apidocs ([short version call](http://mosaic-5g.io/apidocs/flexran/#api-SliceConfiguration-ChangeUeSliceAssociationShort), [long version call](http://mosaic-5g.io/apidocs/flexran/#api-SliceConfiguration-ChangeUeSliceAssociation)). |
|
|