Skip to content

Commit 954813c

Browse files
authored
Merge pull request #88 from MortenSchou/update-json-format
Update JSON format
2 parents 02508c2 + 689ce44 commit 954813c

File tree

7 files changed

+116
-123
lines changed

7 files changed

+116
-123
lines changed

aalwines-mpls-network.schema.json

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@
5454
"bidirectional": {
5555
"description": "If the bidirectional flag is set, then this link object also encodes the link in the opposite direction.",
5656
"const": true
57+
},
58+
"weight": {
59+
"description": "Optional weight of link. Currently ignored by AalWiNes.",
60+
"type": "integer",
61+
"minimum": 0
5762
}
5863
},
5964
"required": [
@@ -67,13 +72,16 @@
6772
"Router": {
6873
"type": "object",
6974
"properties": {
70-
"names": {
71-
"description": "Router names. Can contain multiple alternative names.",
75+
"name": {
76+
"description": "Primary name of the router. ",
77+
"type": "string"
78+
},
79+
"alias": {
80+
"description": "Alternative names for the router. ",
7281
"type": "array",
7382
"items": {
7483
"type": "string"
75-
},
76-
"minItems": 1
84+
}
7785
},
7886
"location": {
7987
"$ref": "#/definitions/Location"
@@ -87,7 +95,7 @@
8795
},
8896
"required": [
8997
"interfaces",
90-
"names"
98+
"name"
9199
],
92100
"title": "Router"
93101
},
@@ -112,17 +120,27 @@
112120
"type": "object",
113121
"properties": {
114122
"name": {
123+
"description": "Name of the interface that use the routing_table",
115124
"type": "string"
116125
},
126+
"names": {
127+
"description": "If multiple interfaces use the same routing_table, the name of each interface can be specified here instead of using the 'name' property.",
128+
"type": "array",
129+
"items": {
130+
"type": "string"
131+
},
132+
"minItems": 1
133+
},
117134
"routing_table": {
118135
"$ref": "#/definitions/RoutingTable"
119136
}
120137
},
121138
"additionalProperties": false,
122-
"required": [
123-
"name",
124-
"routing_table"
139+
"oneOf": [
140+
{"required": ["name"]},
141+
{"required": ["names"]}
125142
],
143+
"required": ["routing_table"],
126144
"title": "Interface"
127145
},
128146
"RoutingTable": {

example_net/Agis-network-pretty.json

Lines changed: 25 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -759,9 +759,7 @@
759759
"latitude": 25.7743,
760760
"longitude": -80.1937
761761
},
762-
"names": [
763-
"Miami"
764-
]
762+
"name": "Miami"
765763
},
766764
{
767765
"interfaces": [
@@ -1308,9 +1306,7 @@
13081306
"latitude": 29.7633,
13091307
"longitude": -95.3633
13101308
},
1311-
"names": [
1312-
"Houston"
1313-
]
1309+
"name": "Houston"
13141310
},
13151311
{
13161312
"interfaces": [
@@ -5944,9 +5940,7 @@
59445940
"latitude": 38.8951,
59455941
"longitude": -77.0364
59465942
},
5947-
"names": [
5948-
"Washington,_DC"
5949-
]
5943+
"name": "Washington,_DC"
59505944
},
59515945
{
59525946
"interfaces": [
@@ -15539,9 +15533,7 @@
1553915533
"latitude": 33.749,
1554015534
"longitude": -84.388
1554115535
},
15542-
"names": [
15543-
"Atlanta"
15544-
]
15536+
"name": "Atlanta"
1554515537
},
1554615538
{
1554715539
"interfaces": [
@@ -16088,9 +16080,7 @@
1608816080
"latitude": 35.0845,
1608916081
"longitude": -106.651
1609016082
},
16091-
"names": [
16092-
"Mexico_City"
16093-
]
16083+
"name": "Mexico_City"
1609416084
},
1609516085
{
1609616086
"interfaces": [
@@ -23056,9 +23046,7 @@
2305623046
"latitude": 33.4484,
2305723047
"longitude": -112.074
2305823048
},
23059-
"names": [
23060-
"Phoenix"
23061-
]
23049+
"name": "Phoenix"
2306223050
},
2306323051
{
2306423052
"interfaces": [
@@ -38169,9 +38157,7 @@
3816938157
"latitude": 32.7831,
3817038158
"longitude": -96.8067
3817138159
},
38172-
"names": [
38173-
"Dallas"
38174-
]
38160+
"name": "Dallas"
3817538161
},
3817638162
{
3817738163
"interfaces": [
@@ -43150,9 +43136,7 @@
4315043136
"latitude": 38.6273,
4315143137
"longitude": -90.1979
4315243138
},
43153-
"names": [
43154-
"St_Louis"
43155-
]
43139+
"name": "St_Louis"
4315643140
},
4315743141
{
4315843142
"interfaces": [
@@ -43699,9 +43683,7 @@
4369943683
"latitude": 32.7153,
4370043684
"longitude": -117.157
4370143685
},
43702-
"names": [
43703-
"San_Diego"
43704-
]
43686+
"name": "San_Diego"
4370543687
},
4370643688
{
4370743689
"interfaces": [
@@ -62186,9 +62168,7 @@
6218662168
"latitude": 34.0522,
6218762169
"longitude": -118.244
6218862170
},
62189-
"names": [
62190-
"Los_Angeles"
62191-
]
62171+
"name": "Los_Angeles"
6219262172
},
6219362173
{
6219462174
"interfaces": [
@@ -70674,9 +70654,7 @@
7067470654
"latitude": 37.3541,
7067570655
"longitude": -121.955
7067670656
},
70677-
"names": [
70678-
"Santa_Clara"
70679-
]
70657+
"name": "Santa_Clara"
7068070658
},
7068170659
{
7068270660
"interfaces": [
@@ -71223,9 +71201,7 @@
7122371201
"latitude": 37.9577,
7122471202
"longitude": -121.291
7122571203
},
71226-
"names": [
71227-
"Stockton"
71228-
]
71204+
"name": "Stockton"
7122971205
},
7123071206
{
7123171207
"interfaces": [
@@ -72661,9 +72637,7 @@
7266172637
"latitude": 38.5816,
7266272638
"longitude": -121.494
7266372639
},
72664-
"names": [
72665-
"Sacramento"
72666-
]
72640+
"name": "Sacramento"
7266772641
},
7266872642
{
7266972643
"interfaces": [
@@ -73210,9 +73184,7 @@
7321073184
"latitude": 36.7477,
7321173185
"longitude": -119.772
7321273186
},
73213-
"names": [
73214-
"Fresno"
73215-
]
73187+
"name": "Fresno"
7321673188
},
7321773189
{
7321873190
"interfaces": [
@@ -76864,9 +76836,7 @@
7686476836
"latitude": 37.7749,
7686576837
"longitude": -122.419
7686676838
},
76867-
"names": [
76868-
"San_Francisco"
76869-
]
76839+
"name": "San_Francisco"
7687076840
},
7687176841
{
7687276842
"interfaces": [
@@ -79535,9 +79505,7 @@
7953579505
"latitude": 40.7143,
7953679506
"longitude": -74.006
7953779507
},
79538-
"names": [
79539-
"New_York"
79540-
]
79508+
"name": "New_York"
7954179509
},
7954279510
{
7954379511
"interfaces": [
@@ -80084,9 +80052,7 @@
8008480052
"latitude": 42.3584,
8008580053
"longitude": -71.0598
8008680054
},
80087-
"names": [
80088-
"Boston"
80089-
]
80055+
"name": "Boston"
8009080056
},
8009180057
{
8009280058
"interfaces": [
@@ -82863,9 +82829,7 @@
8286382829
"latitude": 47.6062,
8286482830
"longitude": -122.332
8286582831
},
82866-
"names": [
82867-
"Seattle"
82868-
]
82832+
"name": "Seattle"
8286982833
},
8287082834
{
8287182835
"interfaces": [
@@ -83412,9 +83376,7 @@
8341283376
"latitude": 40.7608,
8341383377
"longitude": -111.891
8341483378
},
83415-
"names": [
83416-
"Salt_Lake_City"
83417-
]
83379+
"name": "Salt_Lake_City"
8341883380
},
8341983381
{
8342083382
"interfaces": [
@@ -92684,9 +92646,7 @@
9268492646
"latitude": 41.85,
9268592647
"longitude": -87.65
9268692648
},
92687-
"names": [
92688-
"Chicago"
92689-
]
92649+
"name": "Chicago"
9269092650
},
9269192651
{
9269292652
"interfaces": [
@@ -93233,9 +93193,7 @@
9323393193
"latitude": 44.98,
9323493194
"longitude": -93.2638
9323593195
},
93236-
"names": [
93237-
"Minneapolis"
93238-
]
93196+
"name": "Minneapolis"
9323993197
},
9324093198
{
9324193199
"interfaces": [
@@ -95986,9 +95944,7 @@
9598695944
"latitude": 42.3314,
9598795945
"longitude": -83.0457
9598895946
},
95989-
"names": [
95990-
"Detroit"
95991-
]
95947+
"name": "Detroit"
9599295948
},
9599395949
{
9599495950
"interfaces": [
@@ -97467,9 +97423,7 @@
9746797423
"latitude": 38.028,
9746897424
"longitude": -121.885
9746997425
},
97470-
"names": [
97471-
"Pittsburg"
97472-
]
97426+
"name": "Pittsburg"
9747397427
},
9747497428
{
9747597429
"interfaces": [
@@ -103216,9 +103170,7 @@
103216103170
"latitude": 39.9523,
103217103171
"longitude": -75.1638
103218103172
},
103219-
"names": [
103220-
"Philadelphia"
103221-
]
103173+
"name": "Philadelphia"
103222103174
},
103223103175
{
103224103176
"interfaces": [
@@ -106175,9 +106127,7 @@
106175106127
"latitude": 39.9562,
106176106128
"longitude": -75.058
106177106129
},
106178-
"names": [
106179-
"Pennsauken"
106180-
]
106130+
"name": "Pennsauken"
106181106131
}
106182106132
]
106183106133
}

example_net/Agis-network.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

src/aalwines/model/Query.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ namespace aalwines {
7777
set_value(Query::IP6, 0, 64);
7878
} else if(s == "ip") {
7979
set_value(Query::ANYIP, 0, 64);
80+
} else if(s == "null") {
81+
// TODO: Implement a null label, that matches with an empty stack.
82+
set_value(Query::ANYIP, 0, 0); // Dummy for now...
8083
} else {
8184
auto i = s.find_first_of(".:");
8285
if (i != std::string::npos) {

0 commit comments

Comments
 (0)