Skip to content

Commit 2b43dd6

Browse files
committed
DetNet Egress
Signed-off-by: Florian Kauer <florian.kauer@linutronix.de>
1 parent c8afb9c commit 2b43dd6

File tree

3 files changed

+225
-0
lines changed

3 files changed

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

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)