SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Using the Network as a
Reliable Platform for
Time-Sensitive Systems
Henrik Austad
haustad@cisco.com
Cisco Systems
Berlin, Oct 13, 2016
https://xkcd.com/927/
“This talk will dive into what TSN actually is, what it can
provide and its benefits and finally what is currently missing in
the kernel to support TSN.”
about
about:henrik
Software Engineer at Cisco’s Telepresence group at Lysaker, Norway
GNU/Linux-, OSS-enthusiast
Realtime-/kernel-troubleshoo(t)ing
Spend a lot of my time staring at traces thinking “huh?”
Lives by “There’s a script for that”
Hardware-hoarder
Currently working on the TSN driver for the kernel
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 1 / 32
AVB/TSN - Getting started
Source: https://goo.gl/images/kZ987x
Background
Why we started with AVB
AV setups can be a lot of cables
Entropy always wins, especially so for
cabling
C90 and SX80 have fairly large
backpanels, but not infinite (we
always want more)
A lot of potentionally unused AD/DA
hw
Analog cables require point-to-point,
no trunking - inflexible!
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 3 / 32
Background
Internal AVB demo
Each year R&D engineers shows off the most insane ideas to the other engineers.
Take some networking gear
a desktop computer with an i210 NIC
an idle MX800D unit
a somewhat enthusiastic engineer
and blast AC/DC from Spotify via
TSN/AVB on the MX800 speakers
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 4 / 32
Background
Terminology
AVB - Audio/Video Bridging
TSN - Time Sensitive Networking
Bridge, End Station, Talker & Listener
(Time Sensitive) Stream
Stream Reservation → guaranteed delivery
Traffic prioritization → bounded latency
SR Class A & B1
gPTP-, SR-, AVB-domains
1
and now also C & D
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 5 / 32
Background
What is AVB good for?
Sound and video is digital
Allows for very flexible setups (analog
is point-to-point)
High audio-capacity
Basic infrastructure
Using open standards is the only
sensible way
Can use different network (802.3,
802.11v)
Guaranteed delivery, not best effort
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 6 / 32
Background
Evolved motivation - AVB → TSN
Soon became clear that AVB could do more than “just AV”
Pro-AV
Consumer AV
Automotive (infotainment, system control, autonomous driving)
Industrial applications (Control, Robotics, IIoT, “Industry 4.0”)
Own protocol (see ef stream2
& ef control)
... a bit like sched deadline for LANs...
2
Experimental Format
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 7 / 32
u
TSN - Details
Source: https://goo.gl/images/l3846A
TSN Details
TSN
“A set of standards that govern the transmission of time-sensitive frames through a
network”.
https://xkcd.com/927/
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 9 / 32
TSN Details
Standards
IEEE standards
802.1BA - AVB Systems
802.1Q-2014 (Sec 34: FQTSS, Qav, 35: Stream Reservation, Qat)
802.1AS-2011 (gPTP, also, 1588 v2)
1722 / 1722a d16 AVTP (latest draft for new rev.)
1733 (AVTP over RTP)
1722.1 Discovery and enumeration (think plug’n’play-ish)
802.1Qbu-2016 Frame preemption (bridges)
IEC/ISO 61883 1-6 (Firewire)
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 10 / 32
TSN Details
Why L2 before L3?
Simple End-Stations (why should a mic implement TCP/IP?)
Pro-AV had little interest in very, very large networks
multipath routing makes bounded latency difficult
Must solve L2 before you can tackle L3
Work in progress to get support for higher layer (IETF DetNet)
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 11 / 32
TSN Details
Stream Reservation
MVRP: Declare membership to a
VLAN, define SR class priority
MSRP: Reserve network resources
(up to 75%).
Talkers: available stream attributes
Listeners: acceptable attributes
Success: all bridges OK
Failure: at least one not OK
Extraordinarily low packet-loss ratios
10−6
− 10−10
, hard to guarantee 0 MVRP: Multiple VLAN Registration Protocol
MSRP: Multiple Stream Reservation Protocol
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 12 / 32
TSN Details
MSRP Attributes
Uses MRP Attribute Declaration
Internal and external MSRPDUs.
Talker advertise & Talker failed
Listener Ready, Ready failed & Asking Failed
Establish SRP domain boundary
Connect a stream id to a source and destination3
3
dest can be any L2 address (unicast, multicast, broadcast)
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 13 / 32
TSN Details
TSN SR Classes
class ID Default pri observation interval Max Transit Time
A 6 3 125 µs 2 ms
B 5 2 250 µs 50 ms
“C”4
1333 µs 15 ms
“D”4
1451 µs 15 ms
Observation interval gives a minimum time between frames, but can be higher! (i.e.
Class A can send frame every 250µs, but B cannot send every 125µs).
4
Part of Automotive AVB profile
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 14 / 32
TSN Details
IEEE 802.1AS (gPTP) vs. 1588v2
A gPTP domain:
MAC PDUs (L2) only.
Only time-aware systems allowed.
All talkers must be GM capable.
No overlapping timing domains.
Media independent sublayer.
gPTP has Bridge (P2P transparent clock) and End Station. (ordinary clock)
Clock accurate within 1µs over 7 hops
Tracks time with ns granularity
Simplifications to BMCA (→faster clock convergence).
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 15 / 32
TSN Details
HW requirement: Credit Based Shaper
Required for Talkers
In theory only a single configure value for a NIC - idleSlope
idleSlope
sendSlope.
maxFrameSize (For DMA engine)
hiCredit (how much can you store)
loCredit
interference (MTU + bw for higher class)
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 16 / 32
TSN Details
The credit based shaper
- why software won’t do
https://en.wikipedia.org/wiki/File:Traffic-shaping.pdf
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 17 / 32
TSN Details
HW “almost-requirement”: PTP support
Needed by both Listener and Talker
Timestamp in PHY on ingress and egress
Can do this in software, but gives large uncertainty
Tight connection between NIC PTP circuit and audio-samplerate is nice (to
avoid resampling)
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 18 / 32
TSN Details
AVTPDU Frame, IEC-61883-6 audio
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 19 / 32
TSN Details
How much could you add to it?
channels streams Mbps/stream total
1 118 6.34 118 ch 748 Mbps
2 95 7.87 190 748
4 68 10.94 272 744
8 43 17.09 344 735
16 25 29.38 400 734
24 18 41.66 432 749.95
32 13 53.96 416 701.37
40 11 66.24 440 728.64
48 9 78.53 432 706.75
56 8 90.82 448 726.53
615
7 98.50 427 689.47
Class A, AM824, 48kHz, S16LE, 1Gbps link, 75% utilization
5
61 channels ought to be enough for anyone...
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 20 / 32
Picking at the TSN driver
Source: https://goo.gl/images/heF88x
Driver overview
TSN Driver
In the works since 20146
Renamed to TSN and sent for a wider review in June 7
Current status, rebased onto v4.8, reworked usage of i210 registers
Very much in beta - but can be used to do fun things
Introduces config tsn, config media avb alsa and config igb tsn
6
http://mailman.alsa-project.org/pipermail/alsa-devel/2014-May/077087.html
7
https://lwn.net/Articles/690998/
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 22 / 32
Driver overview
Driver architecture
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 23 / 32
Driver overview
Network hooks
#if IS_ENABLED(CONFIG_TSN)
int (* ndo_tsn_capable )( struct net_device *dev );
int (* ndo_tsn_link_configure )( struct net_device *dev ,
enum sr_class class ,
u16 framesize ,
u16 vid , u8 add_link );
#endif /* CONFIG_TSN */
Currently added for Intel’s igb-driver (I210 NIC)
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 24 / 32
Driver overview
About the “shims”
Basically a thin wrapper between systems
Defines a set of operations tsn core will call into.
struct tsn_shim_ops {
int (* probe )( struct tsn_link *link );
[...]
size_t (* buffer_refill )( struct tsn_link *link );
size_t (* buffer_drain )( struct tsn_link *link );
int (* media_close )( struct tsn_link *link );
[...]
void (* assemble_header )( struct tsn_link *link ,
struct avtpdu_header *header ,
size_t bytes );
}
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 25 / 32
Driver overview
Pushing frames
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 26 / 32
Driver overview
Receiving frames
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 27 / 32
Driver overview
Instantiating from userspace - ConfigFS
r o o t @ c e r b e r u s :˜# modprobe tsn in debug=1
r o o t @ c e r b e r u s :˜# modprobe a v b a l s a
r o o t @ c e r b e r u s :˜# mkdir / c o n f i g / tsn / eth1 / l i n k
r o o t @ c e r b e r u s :˜# cd / c o n f i g / tsn / eth1 / l i n k
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# f o r i i n $ ( l s ) ; do p r i n t f ”%18s : %sn” $ i $ ( cat $ i ) ; done
b u f f e r s i z e : 16536
c l a s s : B
enabled : o f f
e n d s t a t i o n : Talker
l o ca l m a c : 90: e2 : ba : 3 0 : 8 6 : d3
m a x p a y l o a d s i z e : 48
pcp a : 0x3
pcp b : 0x2
remote mac : 0 0 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0
shim : None
s h i m h e a d e r s i z e : 8
s t r e a m i d : 4074395330
v l a n i d : 2
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 28 / 32
Driver overview
Configuring a link
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo 65535 > b u f f e r s i z e
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo 14: da : e9 :2 b :0 a : c1 > remote mac
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo 1337 > s t r e a m i d
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo 1 > v l a n i d
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo a l s a > shim
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo on > enabled
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# f o r i i n $ ( l s ) ; do p r i n t f ”%18s : %sn” $ i $ ( cat $ i ) ; done
b u f f e r s i z e : 65535
c l a s s : B
enabled : o f f
e n d s t a t i o n : Talker
l o ca l m a c : 90: e2 : ba : 3 0 : 8 6 : d3
m a x p a y l o a d s i z e : 48
pcp a : 0x3
pcp b : 0x2
remote mac : 14: da : e9 :2 b :0 a : c1
shim : none
s h i m h e a d e r s i z e : 8
s t r e a m i d : 1337
v l a n i d : 1
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 29 / 32
Driver overview
Creating a new ALSA device
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# aplay −L
n u l l
Discard a l l samples ( playback ) or generate zero samples ( capture )
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo a l s a > shim
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo on > enabled
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# aplay −L
n u l l
Discard a l l samples ( playback ) or generate zero samples ( capture )
hw :CARD=avb ,DEV=0
Avb , AVB PCM
D i r e c t hardware d e v i c e without any c o n v e r s i o n s
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# aplay −Dhw:CARD=avb / root / l a g r a n g e . wav
Playing WAVE ’/ root / l a g r a n g e . wav ’ : Signed 16 b i t L i t t l e Endian , Rate 48000 Hz , Stereo
r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k#
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 30 / 32
Driver overview
Driver status
Rebased onto 4.8
net device ops hooks for
configure and capable-test
Normal testing is done on
x86/amd64 and i210 NIC
has an ’in debug’ mode
avb alsa shim for testing
ndo-hooks in place
register-config of i210 (idleSlope,
Qav-mode)
Backlog
v4l2-shim & raw socket shim
userspace client, “tsnctl”
buffer management
Proper integration with timing
subsystem
Syncing multiple streams
Network-interface needs rework
New revision destined for LKML soon
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 31 / 32
References
References
Very unofficial tarball dumping-ground: https://lethe.austad.us/tsn/
TSN https://en.wikipedia.org/wiki/Time-Sensitive_Networking
AVB https://en.wikipedia.org/wiki/Audio_Video_Bridging
https://en.wikipedia.org/wiki/IEEE_802.1Q
TSN Task Group: http://www.ieee802.org/1/pages/tsn.html
AVnu Alliance: http://avnu.org/
AVB bandwith calculator https://abc.statusbar.com/
Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 32 / 32

Más contenido relacionado

La actualidad más candente

Message Signaled Interrupts
Message Signaled InterruptsMessage Signaled Interrupts
Message Signaled InterruptsAnshuman Biswal
 
Berkeley Packet Filters
Berkeley Packet FiltersBerkeley Packet Filters
Berkeley Packet FiltersKernel TLV
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device driversHoucheng Lin
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machineAlexei Starovoitov
 
Linux kernel tracing
Linux kernel tracingLinux kernel tracing
Linux kernel tracingViller Hsiao
 
The Linux Kernel Implementation of Pipes and FIFOs
The Linux Kernel Implementation of Pipes and FIFOsThe Linux Kernel Implementation of Pipes and FIFOs
The Linux Kernel Implementation of Pipes and FIFOsDivye Kapoor
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughThomas Graf
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Andriy Berestovskyy
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)Brendan Gregg
 
The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecturehugo lu
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDKKernel TLV
 
Implementation & Comparison Of Rdma Over Ethernet
Implementation & Comparison Of Rdma Over EthernetImplementation & Comparison Of Rdma Over Ethernet
Implementation & Comparison Of Rdma Over EthernetJames Wernicke
 
IPv6 Address Planning
IPv6 Address PlanningIPv6 Address Planning
IPv6 Address PlanningAPNIC
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchlinuxlab_conf
 
YOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at NetflixYOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at NetflixBrendan Gregg
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux InterruptsKernel TLV
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch어형 이
 

La actualidad más candente (20)

Message Signaled Interrupts
Message Signaled InterruptsMessage Signaled Interrupts
Message Signaled Interrupts
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 
Berkeley Packet Filters
Berkeley Packet FiltersBerkeley Packet Filters
Berkeley Packet Filters
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
Arm device tree and linux device drivers
Arm device tree and linux device driversArm device tree and linux device drivers
Arm device tree and linux device drivers
 
Deploying IPv6 on OpenStack
Deploying IPv6 on OpenStackDeploying IPv6 on OpenStack
Deploying IPv6 on OpenStack
 
BPF - in-kernel virtual machine
BPF - in-kernel virtual machineBPF - in-kernel virtual machine
BPF - in-kernel virtual machine
 
Linux kernel tracing
Linux kernel tracingLinux kernel tracing
Linux kernel tracing
 
The Linux Kernel Implementation of Pipes and FIFOs
The Linux Kernel Implementation of Pipes and FIFOsThe Linux Kernel Implementation of Pipes and FIFOs
The Linux Kernel Implementation of Pipes and FIFOs
 
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking WalkthroughLinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
 
Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)Network Programming: Data Plane Development Kit (DPDK)
Network Programming: Data Plane Development Kit (DPDK)
 
BPF Internals (eBPF)
BPF Internals (eBPF)BPF Internals (eBPF)
BPF Internals (eBPF)
 
The linux networking architecture
The linux networking architectureThe linux networking architecture
The linux networking architecture
 
Introduction to DPDK
Introduction to DPDKIntroduction to DPDK
Introduction to DPDK
 
Implementation & Comparison Of Rdma Over Ethernet
Implementation & Comparison Of Rdma Over EthernetImplementation & Comparison Of Rdma Over Ethernet
Implementation & Comparison Of Rdma Over Ethernet
 
IPv6 Address Planning
IPv6 Address PlanningIPv6 Address Planning
IPv6 Address Planning
 
Jagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
 
YOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at NetflixYOW2018 Cloud Performance Root Cause Analysis at Netflix
YOW2018 Cloud Performance Root Cause Analysis at Netflix
 
Linux Interrupts
Linux InterruptsLinux Interrupts
Linux Interrupts
 
debugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitchdebugging openstack neutron /w openvswitch
debugging openstack neutron /w openvswitch
 

Destacado

How the fusion of time sensitive networking, time-triggered ethernet and data...
How the fusion of time sensitive networking, time-triggered ethernet and data...How the fusion of time sensitive networking, time-triggered ethernet and data...
How the fusion of time sensitive networking, time-triggered ethernet and data...Real-Time Innovations (RTI)
 
Excelfore Ethernet AVB Software Architecture on ARM Cortex SOCs (White Paper)
Excelfore Ethernet AVB Software Architecture on ARM Cortex SOCs (White Paper)Excelfore Ethernet AVB Software Architecture on ARM Cortex SOCs (White Paper)
Excelfore Ethernet AVB Software Architecture on ARM Cortex SOCs (White Paper)shrinathAcharya
 
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...shrinathAcharya
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsReal-Time Innovations (RTI)
 
Рекомендованные Cisco архитектуры для различных вертикалей
Рекомендованные Cisco архитектуры для различных вертикалейРекомендованные Cisco архитектуры для различных вертикалей
Рекомендованные Cisco архитектуры для различных вертикалейCisco Russia
 
Cisco systems hacking layer 2 ethernet switches
Cisco systems   hacking layer 2 ethernet switchesCisco systems   hacking layer 2 ethernet switches
Cisco systems hacking layer 2 ethernet switchesKJ Savaliya
 
Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)
Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)
Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)Positive Hack Days
 
Brkarc 3454 - in-depth and personal with the cisco nexus 2000 fabric extender...
Brkarc 3454 - in-depth and personal with the cisco nexus 2000 fabric extender...Brkarc 3454 - in-depth and personal with the cisco nexus 2000 fabric extender...
Brkarc 3454 - in-depth and personal with the cisco nexus 2000 fabric extender...kds850
 
FactoryTalk View SE - Building a Better View
FactoryTalk View SE -  Building a Better ViewFactoryTalk View SE -  Building a Better View
FactoryTalk View SE - Building a Better ViewTony Carrara
 
Fiber Channel over Ethernet (FCoE) – Design, operations and management best p...
Fiber Channel over Ethernet (FCoE) – Design, operations and management best p...Fiber Channel over Ethernet (FCoE) – Design, operations and management best p...
Fiber Channel over Ethernet (FCoE) – Design, operations and management best p...Cisco Canada
 
Ethernet and TCP optimizations
Ethernet and TCP optimizationsEthernet and TCP optimizations
Ethernet and TCP optimizationsJeff Squyres
 
Cisco io t part cisco industrial ethernet 4000 switches, designed for harsh c...
Cisco io t part cisco industrial ethernet 4000 switches, designed for harsh c...Cisco io t part cisco industrial ethernet 4000 switches, designed for harsh c...
Cisco io t part cisco industrial ethernet 4000 switches, designed for harsh c...IT Tech
 
LAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLinaro
 
Why TPM in Automotive?
Why TPM in Automotive?Why TPM in Automotive?
Why TPM in Automotive?Alan Tatourian
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at NetflixBrendan Gregg
 

Destacado (17)

How the fusion of time sensitive networking, time-triggered ethernet and data...
How the fusion of time sensitive networking, time-triggered ethernet and data...How the fusion of time sensitive networking, time-triggered ethernet and data...
How the fusion of time sensitive networking, time-triggered ethernet and data...
 
Excelfore Ethernet AVB Software Architecture on ARM Cortex SOCs (White Paper)
Excelfore Ethernet AVB Software Architecture on ARM Cortex SOCs (White Paper)Excelfore Ethernet AVB Software Architecture on ARM Cortex SOCs (White Paper)
Excelfore Ethernet AVB Software Architecture on ARM Cortex SOCs (White Paper)
 
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
Excelfore releases Full Ethernet AVB Stack for ADAS and Infotainment Endpoint...
 
AVB intro
AVB introAVB intro
AVB intro
 
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial SystemsThe Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
The Inside Story: How OPC UA and DDS Can Work Together in Industrial Systems
 
Рекомендованные Cisco архитектуры для различных вертикалей
Рекомендованные Cisco архитектуры для различных вертикалейРекомендованные Cisco архитектуры для различных вертикалей
Рекомендованные Cisco архитектуры для различных вертикалей
 
Cisco systems hacking layer 2 ethernet switches
Cisco systems   hacking layer 2 ethernet switchesCisco systems   hacking layer 2 ethernet switches
Cisco systems hacking layer 2 ethernet switches
 
Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)
Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)
Positive Hack Days. Гуркин. Нулевой день для SCADA (0-day)
 
Brkarc 3454 - in-depth and personal with the cisco nexus 2000 fabric extender...
Brkarc 3454 - in-depth and personal with the cisco nexus 2000 fabric extender...Brkarc 3454 - in-depth and personal with the cisco nexus 2000 fabric extender...
Brkarc 3454 - in-depth and personal with the cisco nexus 2000 fabric extender...
 
FactoryTalk View SE - Building a Better View
FactoryTalk View SE -  Building a Better ViewFactoryTalk View SE -  Building a Better View
FactoryTalk View SE - Building a Better View
 
Fiber Channel over Ethernet (FCoE) – Design, operations and management best p...
Fiber Channel over Ethernet (FCoE) – Design, operations and management best p...Fiber Channel over Ethernet (FCoE) – Design, operations and management best p...
Fiber Channel over Ethernet (FCoE) – Design, operations and management best p...
 
Ethernet and TCP optimizations
Ethernet and TCP optimizationsEthernet and TCP optimizations
Ethernet and TCP optimizations
 
Cisco io t part cisco industrial ethernet 4000 switches, designed for harsh c...
Cisco io t part cisco industrial ethernet 4000 switches, designed for harsh c...Cisco io t part cisco industrial ethernet 4000 switches, designed for harsh c...
Cisco io t part cisco industrial ethernet 4000 switches, designed for harsh c...
 
LAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community Update
 
推動數位革命
推動數位革命推動數位革命
推動數位革命
 
Why TPM in Automotive?
Why TPM in Automotive?Why TPM in Automotive?
Why TPM in Automotive?
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 

Similar a Using Networks for Time-Sensitive Systems

Tsn linux elce17
Tsn linux elce17Tsn linux elce17
Tsn linux elce17henrikau
 
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 FinalExploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Finalmasoodnt10
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
 
How to Speak Intel DPDK KNI for Web Services.
How to Speak Intel DPDK KNI for Web Services.How to Speak Intel DPDK KNI for Web Services.
How to Speak Intel DPDK KNI for Web Services.Naoto MATSUMOTO
 
Network simulator 2 a simulation tool for linux
Network simulator 2 a simulation tool for linuxNetwork simulator 2 a simulation tool for linux
Network simulator 2 a simulation tool for linuxPratik Joshi
 
Network security on Cisco routers and switches
Network security on Cisco routers and switchesNetwork security on Cisco routers and switches
Network security on Cisco routers and switchesAlexandros Britzolakis
 
OpenSSL Basic Function Call Flow
OpenSSL Basic Function Call FlowOpenSSL Basic Function Call Flow
OpenSSL Basic Function Call FlowWilliam Lee
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioHajime Tazaki
 
Fatah Uddin (072831056)
Fatah Uddin (072831056)Fatah Uddin (072831056)
Fatah Uddin (072831056)mashiur
 
NetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat DefenseNetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat DefenseCisco Canada
 
Chapter 3. sensors in the network domain
Chapter 3. sensors in the network domainChapter 3. sensors in the network domain
Chapter 3. sensors in the network domainPhu Nguyen
 
16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)Jeff Green
 
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverter
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverterKernel Recipes 2014 - NDIV: a low overhead network traffic diverter
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverterAnne Nicolas
 

Similar a Using Networks for Time-Sensitive Systems (20)

Tsn linux elce17
Tsn linux elce17Tsn linux elce17
Tsn linux elce17
 
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 FinalExploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
Exploiting Network Protocols To Exhaust Bandwidth Links 2008 Final
 
Kernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are moneyKernel Recipes 2019 - Metrics are money
Kernel Recipes 2019 - Metrics are money
 
How to Speak Intel DPDK KNI for Web Services.
How to Speak Intel DPDK KNI for Web Services.How to Speak Intel DPDK KNI for Web Services.
How to Speak Intel DPDK KNI for Web Services.
 
Network simulator 2 a simulation tool for linux
Network simulator 2 a simulation tool for linuxNetwork simulator 2 a simulation tool for linux
Network simulator 2 a simulation tool for linux
 
Network security on Cisco routers and switches
Network security on Cisco routers and switchesNetwork security on Cisco routers and switches
Network security on Cisco routers and switches
 
OpenSSL Basic Function Call Flow
OpenSSL Basic Function Call FlowOpenSSL Basic Function Call Flow
OpenSSL Basic Function Call Flow
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osio
 
Fatah Uddin (072831056)
Fatah Uddin (072831056)Fatah Uddin (072831056)
Fatah Uddin (072831056)
 
Day2
Day2Day2
Day2
 
NetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat DefenseNetFlow Monitoring for Cyber Threat Defense
NetFlow Monitoring for Cyber Threat Defense
 
Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
Ns fundamentals 1
Ns fundamentals 1Ns fundamentals 1
Ns fundamentals 1
 
Chapter 3. sensors in the network domain
Chapter 3. sensors in the network domainChapter 3. sensors in the network domain
Chapter 3. sensors in the network domain
 
Bayisa Taye.pptx
Bayisa Taye.pptxBayisa Taye.pptx
Bayisa Taye.pptx
 
An Optics Life
An Optics LifeAn Optics Life
An Optics Life
 
Interview Questions
Interview QuestionsInterview Questions
Interview Questions
 
Wireshark Basics
Wireshark BasicsWireshark Basics
Wireshark Basics
 
16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)16.) layer 3 (basic tcp ip routing)
16.) layer 3 (basic tcp ip routing)
 
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverter
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverterKernel Recipes 2014 - NDIV: a low overhead network traffic diverter
Kernel Recipes 2014 - NDIV: a low overhead network traffic diverter
 

Último

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 

Último (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 

Using Networks for Time-Sensitive Systems

  • 1. Using the Network as a Reliable Platform for Time-Sensitive Systems Henrik Austad haustad@cisco.com Cisco Systems Berlin, Oct 13, 2016 https://xkcd.com/927/ “This talk will dive into what TSN actually is, what it can provide and its benefits and finally what is currently missing in the kernel to support TSN.”
  • 2. about about:henrik Software Engineer at Cisco’s Telepresence group at Lysaker, Norway GNU/Linux-, OSS-enthusiast Realtime-/kernel-troubleshoo(t)ing Spend a lot of my time staring at traces thinking “huh?” Lives by “There’s a script for that” Hardware-hoarder Currently working on the TSN driver for the kernel Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 1 / 32
  • 3. AVB/TSN - Getting started Source: https://goo.gl/images/kZ987x
  • 4. Background Why we started with AVB AV setups can be a lot of cables Entropy always wins, especially so for cabling C90 and SX80 have fairly large backpanels, but not infinite (we always want more) A lot of potentionally unused AD/DA hw Analog cables require point-to-point, no trunking - inflexible! Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 3 / 32
  • 5. Background Internal AVB demo Each year R&D engineers shows off the most insane ideas to the other engineers. Take some networking gear a desktop computer with an i210 NIC an idle MX800D unit a somewhat enthusiastic engineer and blast AC/DC from Spotify via TSN/AVB on the MX800 speakers Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 4 / 32
  • 6. Background Terminology AVB - Audio/Video Bridging TSN - Time Sensitive Networking Bridge, End Station, Talker & Listener (Time Sensitive) Stream Stream Reservation → guaranteed delivery Traffic prioritization → bounded latency SR Class A & B1 gPTP-, SR-, AVB-domains 1 and now also C & D Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 5 / 32
  • 7. Background What is AVB good for? Sound and video is digital Allows for very flexible setups (analog is point-to-point) High audio-capacity Basic infrastructure Using open standards is the only sensible way Can use different network (802.3, 802.11v) Guaranteed delivery, not best effort Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 6 / 32
  • 8. Background Evolved motivation - AVB → TSN Soon became clear that AVB could do more than “just AV” Pro-AV Consumer AV Automotive (infotainment, system control, autonomous driving) Industrial applications (Control, Robotics, IIoT, “Industry 4.0”) Own protocol (see ef stream2 & ef control) ... a bit like sched deadline for LANs... 2 Experimental Format Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 7 / 32
  • 9. u TSN - Details Source: https://goo.gl/images/l3846A
  • 10. TSN Details TSN “A set of standards that govern the transmission of time-sensitive frames through a network”. https://xkcd.com/927/ Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 9 / 32
  • 11. TSN Details Standards IEEE standards 802.1BA - AVB Systems 802.1Q-2014 (Sec 34: FQTSS, Qav, 35: Stream Reservation, Qat) 802.1AS-2011 (gPTP, also, 1588 v2) 1722 / 1722a d16 AVTP (latest draft for new rev.) 1733 (AVTP over RTP) 1722.1 Discovery and enumeration (think plug’n’play-ish) 802.1Qbu-2016 Frame preemption (bridges) IEC/ISO 61883 1-6 (Firewire) Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 10 / 32
  • 12. TSN Details Why L2 before L3? Simple End-Stations (why should a mic implement TCP/IP?) Pro-AV had little interest in very, very large networks multipath routing makes bounded latency difficult Must solve L2 before you can tackle L3 Work in progress to get support for higher layer (IETF DetNet) Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 11 / 32
  • 13. TSN Details Stream Reservation MVRP: Declare membership to a VLAN, define SR class priority MSRP: Reserve network resources (up to 75%). Talkers: available stream attributes Listeners: acceptable attributes Success: all bridges OK Failure: at least one not OK Extraordinarily low packet-loss ratios 10−6 − 10−10 , hard to guarantee 0 MVRP: Multiple VLAN Registration Protocol MSRP: Multiple Stream Reservation Protocol Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 12 / 32
  • 14. TSN Details MSRP Attributes Uses MRP Attribute Declaration Internal and external MSRPDUs. Talker advertise & Talker failed Listener Ready, Ready failed & Asking Failed Establish SRP domain boundary Connect a stream id to a source and destination3 3 dest can be any L2 address (unicast, multicast, broadcast) Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 13 / 32
  • 15. TSN Details TSN SR Classes class ID Default pri observation interval Max Transit Time A 6 3 125 µs 2 ms B 5 2 250 µs 50 ms “C”4 1333 µs 15 ms “D”4 1451 µs 15 ms Observation interval gives a minimum time between frames, but can be higher! (i.e. Class A can send frame every 250µs, but B cannot send every 125µs). 4 Part of Automotive AVB profile Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 14 / 32
  • 16. TSN Details IEEE 802.1AS (gPTP) vs. 1588v2 A gPTP domain: MAC PDUs (L2) only. Only time-aware systems allowed. All talkers must be GM capable. No overlapping timing domains. Media independent sublayer. gPTP has Bridge (P2P transparent clock) and End Station. (ordinary clock) Clock accurate within 1µs over 7 hops Tracks time with ns granularity Simplifications to BMCA (→faster clock convergence). Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 15 / 32
  • 17. TSN Details HW requirement: Credit Based Shaper Required for Talkers In theory only a single configure value for a NIC - idleSlope idleSlope sendSlope. maxFrameSize (For DMA engine) hiCredit (how much can you store) loCredit interference (MTU + bw for higher class) Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 16 / 32
  • 18. TSN Details The credit based shaper - why software won’t do https://en.wikipedia.org/wiki/File:Traffic-shaping.pdf Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 17 / 32
  • 19. TSN Details HW “almost-requirement”: PTP support Needed by both Listener and Talker Timestamp in PHY on ingress and egress Can do this in software, but gives large uncertainty Tight connection between NIC PTP circuit and audio-samplerate is nice (to avoid resampling) Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 18 / 32
  • 20. TSN Details AVTPDU Frame, IEC-61883-6 audio Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 19 / 32
  • 21. TSN Details How much could you add to it? channels streams Mbps/stream total 1 118 6.34 118 ch 748 Mbps 2 95 7.87 190 748 4 68 10.94 272 744 8 43 17.09 344 735 16 25 29.38 400 734 24 18 41.66 432 749.95 32 13 53.96 416 701.37 40 11 66.24 440 728.64 48 9 78.53 432 706.75 56 8 90.82 448 726.53 615 7 98.50 427 689.47 Class A, AM824, 48kHz, S16LE, 1Gbps link, 75% utilization 5 61 channels ought to be enough for anyone... Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 20 / 32
  • 22. Picking at the TSN driver Source: https://goo.gl/images/heF88x
  • 23. Driver overview TSN Driver In the works since 20146 Renamed to TSN and sent for a wider review in June 7 Current status, rebased onto v4.8, reworked usage of i210 registers Very much in beta - but can be used to do fun things Introduces config tsn, config media avb alsa and config igb tsn 6 http://mailman.alsa-project.org/pipermail/alsa-devel/2014-May/077087.html 7 https://lwn.net/Articles/690998/ Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 22 / 32
  • 24. Driver overview Driver architecture Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 23 / 32
  • 25. Driver overview Network hooks #if IS_ENABLED(CONFIG_TSN) int (* ndo_tsn_capable )( struct net_device *dev ); int (* ndo_tsn_link_configure )( struct net_device *dev , enum sr_class class , u16 framesize , u16 vid , u8 add_link ); #endif /* CONFIG_TSN */ Currently added for Intel’s igb-driver (I210 NIC) Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 24 / 32
  • 26. Driver overview About the “shims” Basically a thin wrapper between systems Defines a set of operations tsn core will call into. struct tsn_shim_ops { int (* probe )( struct tsn_link *link ); [...] size_t (* buffer_refill )( struct tsn_link *link ); size_t (* buffer_drain )( struct tsn_link *link ); int (* media_close )( struct tsn_link *link ); [...] void (* assemble_header )( struct tsn_link *link , struct avtpdu_header *header , size_t bytes ); } Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 25 / 32
  • 27. Driver overview Pushing frames Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 26 / 32
  • 28. Driver overview Receiving frames Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 27 / 32
  • 29. Driver overview Instantiating from userspace - ConfigFS r o o t @ c e r b e r u s :˜# modprobe tsn in debug=1 r o o t @ c e r b e r u s :˜# modprobe a v b a l s a r o o t @ c e r b e r u s :˜# mkdir / c o n f i g / tsn / eth1 / l i n k r o o t @ c e r b e r u s :˜# cd / c o n f i g / tsn / eth1 / l i n k r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# f o r i i n $ ( l s ) ; do p r i n t f ”%18s : %sn” $ i $ ( cat $ i ) ; done b u f f e r s i z e : 16536 c l a s s : B enabled : o f f e n d s t a t i o n : Talker l o ca l m a c : 90: e2 : ba : 3 0 : 8 6 : d3 m a x p a y l o a d s i z e : 48 pcp a : 0x3 pcp b : 0x2 remote mac : 0 0 : 0 0 : 0 0 : 0 0 : 0 0 : 0 0 shim : None s h i m h e a d e r s i z e : 8 s t r e a m i d : 4074395330 v l a n i d : 2 Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 28 / 32
  • 30. Driver overview Configuring a link r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo 65535 > b u f f e r s i z e r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo 14: da : e9 :2 b :0 a : c1 > remote mac r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo 1337 > s t r e a m i d r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo 1 > v l a n i d r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo a l s a > shim r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo on > enabled r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# f o r i i n $ ( l s ) ; do p r i n t f ”%18s : %sn” $ i $ ( cat $ i ) ; done b u f f e r s i z e : 65535 c l a s s : B enabled : o f f e n d s t a t i o n : Talker l o ca l m a c : 90: e2 : ba : 3 0 : 8 6 : d3 m a x p a y l o a d s i z e : 48 pcp a : 0x3 pcp b : 0x2 remote mac : 14: da : e9 :2 b :0 a : c1 shim : none s h i m h e a d e r s i z e : 8 s t r e a m i d : 1337 v l a n i d : 1 Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 29 / 32
  • 31. Driver overview Creating a new ALSA device r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# aplay −L n u l l Discard a l l samples ( playback ) or generate zero samples ( capture ) r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo a l s a > shim r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# echo on > enabled r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# aplay −L n u l l Discard a l l samples ( playback ) or generate zero samples ( capture ) hw :CARD=avb ,DEV=0 Avb , AVB PCM D i r e c t hardware d e v i c e without any c o n v e r s i o n s r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# aplay −Dhw:CARD=avb / root / l a g r a n g e . wav Playing WAVE ’/ root / l a g r a n g e . wav ’ : Signed 16 b i t L i t t l e Endian , Rate 48000 Hz , Stereo r o o t @ c e r b e r u s :/ c o n f i g / tsn / eth1 / l i n k# Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 30 / 32
  • 32. Driver overview Driver status Rebased onto 4.8 net device ops hooks for configure and capable-test Normal testing is done on x86/amd64 and i210 NIC has an ’in debug’ mode avb alsa shim for testing ndo-hooks in place register-config of i210 (idleSlope, Qav-mode) Backlog v4l2-shim & raw socket shim userspace client, “tsnctl” buffer management Proper integration with timing subsystem Syncing multiple streams Network-interface needs rework New revision destined for LKML soon Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 31 / 32
  • 33. References References Very unofficial tarball dumping-ground: https://lethe.austad.us/tsn/ TSN https://en.wikipedia.org/wiki/Time-Sensitive_Networking AVB https://en.wikipedia.org/wiki/Audio_Video_Bridging https://en.wikipedia.org/wiki/IEEE_802.1Q TSN Task Group: http://www.ieee802.org/1/pages/tsn.html AVnu Alliance: http://avnu.org/ AVB bandwith calculator https://abc.statusbar.com/ Henrik Austad (Cisco) TSN and Linux Berlin, Oct 13, 2016 32 / 32