Skip to content

Commit 0a1eece

Browse files
committed
DetNet Egress
Signed-off-by: Florian Kauer <florian.kauer@linutronix.de>
1 parent d24688e commit 0a1eece

File tree

3 files changed

+224
-0
lines changed

3 files changed

+224
-0
lines changed

detnet/detnet-tests.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,20 @@ tests:
1818
instance: ./detnet/ingress.json
1919
type: config
2020
expect_success: true
21+
- name: DetNet Egress
22+
models:
23+
- file: ./models/standard/ietf/RFC/ietf-interfaces.yang
24+
features: []
25+
- file: ./models/standard/ieee/published/802.1/ieee802-dot1q-types.yang
26+
- file: ./models/experimental/ietf-extracted-YANG-modules/ietf-detnet@2024-02-21.yang # TODO upload proper RFC version
27+
- file: ./models/standard/ieee/published/802/ieee802-types.yang
28+
- file: ./models/standard/ieee/published/802.1/ieee802-dot1cb-stream-identification.yang
29+
- file: ./models/standard/iana/iana-if-type@2023-01-26.yang
30+
- file: ./qcw/sched/ieee802-dot1q-sched@2024-10-22.yang # TODO upload proper Qrev version
31+
- file: ./models/standard/ieee/published/802.1/ieee802-dot1q-sched-bridge.yang
32+
- file: ./models/standard/ieee/published/802.1/ieee802-dot1q-bridge.yang
33+
- file: ./models/standard/ieee/published/1588/ieee1588-ptp-tt.yang
34+
- file: ./models/experimental/ietf-extracted-YANG-modules/ietf-if-extensions@2024-07-31.yang
35+
instance: ./detnet/egress.json
36+
type: config
37+
expect_success: true

detnet/egress.json

Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
{
2+
"ietf-detnet:detnet": {
3+
"app-flows": {
4+
"app-flow": [
5+
{
6+
"name": "app-rtvideo",
7+
"egress": {
8+
"ethernet": {
9+
"interface": ["veth0"]
10+
}
11+
}
12+
}
13+
]
14+
},
15+
"service": {
16+
"sub-layer": [
17+
{
18+
"name": "ssl-rtvideo",
19+
"operation": "termination",
20+
"service-protection": {
21+
"protection": "elimination",
22+
"sequence-number-length": "long-sn"
23+
},
24+
"outgoing": {
25+
"app-flow": {
26+
"flow": [
27+
"app-rtvideo"
28+
]
29+
}
30+
},
31+
"incoming": {
32+
"service-id": {
33+
"mpls-label-stack": {
34+
"entry": [
35+
{
36+
"id": 0,
37+
"label": 555
38+
}
39+
]
40+
}
41+
}
42+
}
43+
}
44+
]
45+
},
46+
"forwarding": {
47+
"sub-layer": [
48+
{
49+
"name": "fsl-rtvideo-A",
50+
"outgoing": {
51+
"service-sub-layer": {
52+
"sub-layer": [
53+
"ssl-rtvideo"
54+
]
55+
}
56+
},
57+
"incoming": {
58+
"forwarding-id": {
59+
"src-ip-prefix": "fd02:5cb3:dba1::1/128",
60+
"dest-ip-prefix": "fd02:5cb3:dba1::3/128",
61+
"source-port": {
62+
"operator": "eq",
63+
"port": 49001
64+
},
65+
"interface": "ilan0"
66+
}
67+
}
68+
},
69+
{
70+
"name": "fsl-rtvideo-B",
71+
"outgoing": {
72+
"service-sub-layer": {
73+
"sub-layer": [
74+
"ssl-rtvideo"
75+
]
76+
}
77+
},
78+
"incoming": {
79+
"forwarding-id": {
80+
"src-ip-prefix": "fd02:5cb3:dba1::2/128",
81+
"dest-ip-prefix": "fd02:5cb3:dba1::4/128",
82+
"source-port": {
83+
"operator": "eq",
84+
"port": 49002
85+
},
86+
"interface": "ilan0"
87+
}
88+
}
89+
}
90+
]
91+
}
92+
},
93+
"ieee802-dot1cb-stream-identification:stream-identity": [
94+
{
95+
"index": 0,
96+
"handle": 1,
97+
"in-facing": {
98+
"input-port": [
99+
"enp86s1"
100+
]
101+
},
102+
"dmac-vlan-stream-identification": {
103+
"up": {
104+
"destination-mac": "48-21-0b-56-de-92",
105+
"vlan": 1
106+
}
107+
}
108+
},
109+
{
110+
"index": 2,
111+
"handle": 1,
112+
"out-facing": {
113+
"output-port": [
114+
"ilan0"
115+
]
116+
},
117+
"ip-stream-identification": {
118+
"destination-port": 49001
119+
}
120+
},
121+
{
122+
"index": 5,
123+
"handle": 2,
124+
"in-facing": {
125+
"input-port": [
126+
"enp86s2"
127+
]
128+
},
129+
"dmac-vlan-stream-identification": {
130+
"up": {
131+
"destination-mac": "48-21-0b-3e-31-ce",
132+
"vlan": 1,
133+
"priority": 7
134+
}
135+
}
136+
},
137+
{
138+
"index": 4,
139+
"handle": 2,
140+
"out-facing": {
141+
"output-port": [
142+
"ilan0"
143+
]
144+
},
145+
"ip-stream-identification": {
146+
"destination-port": 49002
147+
}
148+
}
149+
],
150+
"ietf-interfaces:interfaces": {
151+
"interface": [
152+
{
153+
"name": "enp86s1",
154+
"type": "iana-if-type:ethernetCsmacd"
155+
},
156+
{
157+
"name": "enp86s2",
158+
"type": "iana-if-type:ethernetCsmacd"
159+
},
160+
{
161+
"name": "ilan0",
162+
"type": "iana-if-type:ilan"
163+
},
164+
{
165+
"name": "veth0",
166+
"type": "iana-if-type:propVirtual",
167+
"ietf-if-extensions:peer-interface": "veth1"
168+
},
169+
{
170+
"name": "veth1",
171+
"type": "iana-if-type:propVirtual",
172+
"ietf-if-extensions:peer-interface": "veth0"
173+
}
174+
]
175+
},
176+
"ieee1588-ptp-tt:ptp": {
177+
"instances": {
178+
"instance": [
179+
{
180+
"instance-index": 1,
181+
"default-ds": {
182+
"clock-quality": {
183+
"clock-class": "ieee1588-ptp-tt:cc-default",
184+
"clock-accuracy": "ieee1588-ptp-tt:ca-time-accurate-to-gt-10-s",
185+
"offset-scaled-log-variance": 65535
186+
},
187+
"domain-number": 0,
188+
"sdo-id": 256
189+
},
190+
"time-properties-ds": {
191+
"current-utc-offset": 37,
192+
"current-utc-offset-valid": true,
193+
"leap59": false,
194+
"leap61": false,
195+
"time-traceable": true,
196+
"frequency-traceable": false,
197+
"ptp-timescale": true,
198+
"time-source": "ieee1588-ptp-tt:internal-oscillator"
199+
}
200+
}
201+
]
202+
}
203+
}
204+
}
205+

detnet/egress.json.license

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
SPDX-FileCopyrightText: 2024 Linutronix GmbH
2+
SPDX-License-Identifier: 0BSD

0 commit comments

Comments
 (0)