Harald Welte (sysmocom)

One of the original authors of OpenBSC and OsmocomBB, both of which turned into Osmocom later on. Also co-founder of sysmocom, the leading company for professional R&D around many osmocom projects and largest contributor to Osmocom.

In previous lives, I hacked [among other things] on netfilter/iptables, OpenMoko and did a lot of work in terms of legal compliance to Open Source licenses at gpl-violations.org


Sessions

05-03
11:00
15min
Welcome to OsmoDevCon 2024
Harald Welte (sysmocom)

Welcome to the event, organizational matters, thanks to sponsors, ...

Meeting Room
05-03
17:00
45min
High-performance I/O using io_uring via osmo_io
Andreas Eversberg, Harald Welte (sysmocom)

Traditional socket I/O via read/write/recvfrom/sendto/recvmsg/sendmsg and friends creates a very high system call load. A highly-loaded osmo-bsc spends most of its time in syscall entry and syscall exit.

io_uring is a modern Linux kernel mechanism to avoid this syscall overhead. We have introduced the osmo_ioAPI to libosmocore as a generic back-end for non-blocking/asynchronous I/O and a back-end for our classic osmo_fd / poll approach as well as a new backend for io_uring.

The talk will cover
* a very basic io_uring introduction
* a description of the osmo_io API
* the difficulties porting from osmo_fd to osmo_io
* status of porting various sub-systems over to osmo_io

Meeting Room
05-03
19:15
45min
Proposal for Osmocom non-for-profit
Harald Welte (sysmocom)

Harald will present the general ideas/plans about the Osmocom non-for-profit and share draft bylaws.

We can have some related discussions within this event and throughout the USSE and the next day, as needed. I just thought it's good to get this out of the door early, before we schedule the foundation assembly.

Meeting Room
05-04
10:15
45min
GlobalPlatform in USIM and eUICC
Harald Welte (sysmocom)

The GlobalPlatform Card Specification and its many amendments play a significant role in most real-world USIM/ISIM, and even more so in eUICC.

The talk will try to provide an overview of what GlobalPlatform does in the telecommunications context.

Topics include:
* security domains
* key loading
* card and application life cycle
* loading and installation of applications
* Secure Channel Protocols SCP02, SCP03

Meeting Room
05-04
12:00
30min
Detailed workings of OTA for SIM/USIM/eUICC
Harald Welte (sysmocom)

Everyone knows that OTA (over the air) access to SIM cards exists for decades, and that somehow authenticated APDUs can be sent via SMS.

But let's look at the OTA architecture in more detail:
* OTA transport (SCP80) over SMS, USSD, CellBroadcast, CAT-TP, BIP
* The new SCP81 transport (HTTPS via TLS-PSK)
* how to address individal applications on the card via their TAR
* common applications like RFM and RAM
* custom applications on the card
* OTA in the world of eUICCs
* talking to the ECASD
* talking to the ISD-R
* talking to the ISD-P/MNO-SD or applications therein

Meeting Room
05-04
19:15
45min
Anatomy of the eSIM profile
Harald Welte (sysmocom)

In the eSIM universe, eSIM profiles are the virtualised content of a classic USIM (possibly with ISIM, CSIM, applets, etc.).

Let's have a look what an eSIM profile is:
* how is the data structured / organized?
* what data can be represented in it?
* how to handle features provided by eUICC, how can the eSIM profile mandate some of them?
* how does personalization of eSIM profiles work?

There will be some hands-on navigation through profiles, based on the pySim.esim.saip module.

Meeting Room
05-04
21:30
15min
GlobalPlatform demo
Harald Welte (sysmocom)

The demos that should originally have been part of the "GlobalPlatform in USIM/eUICC" talk

Meeting Room
05-05
11:00
45min
Introduction to XDP, eBPF and AF_XDP
Harald Welte (sysmocom)

This talk provides a generic introduction to a set of modern Linux kernel technologies:

  • eBPF (extended Berkeley Packet Filter) is a kind of virtual machine that runs sandboxed programs inside the Linux kernel.
  • XDP (eXpress Data Path) is a framework for eBPF that enables high-performance programmable packet processing in the Linux kernel
  • AF_XDP is an address family that is optimized for high-performance packet processing. It allows in-kernel XDP eBPF programs to efficiently pass packets to userspace via memory-mapped ring buffers.

The talk will provide a high-level overview. It should provide some basics before the other/later talks on bpftrace and eUPF.

Meeting Room
05-05
11:45
45min
Using bpftrace to analyze osmocom performance
Harald Welte (sysmocom)

bpftrace is a utility that uses the Linux kernel tracing infrastructure (and eBPF) in order to provide tracing capabilities within the kernel, like uprobe, kprobe, tracepoints, etc.

bpftrace can help us to analyze the performance of [unmodified] Osmocom programs and quickly provide information like, for example:
* Histogram of time spent in a specific system call
* Histogram of any argument or return value of any system call

Meeting Room
05-06
11:00
30min
GSM FAX and CSD Demo
Harald Welte (sysmocom), Vadim Yanitskiy

Let's do a quick demo on what we can show in terms of the relatively now CSD (circuit switched data) support in osmocom CNI using some [ancient and new] GSM modems as well as GSM fax machines.

With some luck we might also have GSM <-> ISDN interworking for V.110 at the time of the talk.

Meeting Room