  Embedded real-time devices for monitoring, controlling, and collaboration
purposes in cyber-physical systems are now commonly equipped with IP networking
capabilities. However, the reception and processing of IP packets generates
workloads in unpredictable frequencies as networks are outside of a developer's
control and difficult to anticipate, especially when networks are connected to
the internet. As of now, embedded network controllers and IP stacks are not
designed for real-time capabilities, even when used in real-time environments
and operating systems.
  Our work focuses on real-time aware packet reception from open network
connections, without a real-time networking infrastructure. This article
presents two experimentally evaluated modifications to the IP processing
subsystem and embedded network interface controllers of constrained IoT
devices. The first, our software approach, introduces early packet
classification and priority-aware processing in the network driver. In our
experiments this allowed the network subsystem to remain active at a seven-fold
increase in network traffic load before disabling the receive interrupts as a
last resort. The second, our hardware approach, makes changes to the network
interface controller, applying interrupt moderation based on real-time
priorities to minimize the number of network-generated interrupts. Furthermore,
this article provides an outlook on how the software and hardware approaches
can be combined in a co-designed packet receive architecture.
