Nova Patents
EP3716552B1

Universal customer premises equipment

Abstract

This record has no abstract on file.

EP3716552B1, drawing sheet 1
Sheet 1 of 9

Term

9.1 yearsleft in the term

Expires 29 October 2035.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

13 claims: 3 independent, 10 dependent

  1. 1
    A method for forwarding network packets at a device (400), comprising:providing a virtual machine that implements a first router;providing, in a user space (408) of a memory (430) of the device (400), a plurality of processing pipelines (412, 414) for enabling communications between the first router and a second router implemented in a host software stack (402) of the device (400), wherein the plurality of processing pipelines (412, 414) includes a first processing pipeline for performing packet switching processing and a second processing pipeline for performing packet routing processing;receiving, at a network port (424) of the device (400), a network packet;copying, using a device driver (602) from kernel (404), the network packet from the network port (424) to one of the plurality of processing pipelines (412, 414);accessing, by the first router, the network packet from the one of the plurality of processing pipelines (412, 414);and processing, by the first router, the network packet using a real-time thread executing on a processor core assigned to the real-time thread for forwarding of the network packet, wherein using the real-time thread comprises assigning higher priority to the real-time thread than other threads.
  2. 8
    A non-transitory computer-readable storage medium, wherein the non-transitory computer-readable storage medium comprises instructions executable by a processing entity of a device (400) for:providing a virtual machine that implements a first router;providing, in a user space (408) of a memory (430) of the device (400), a plurality of processing pipelines (412, 414) for enabling communications between the first router and a second router implemented in a host software stack (402) of the device (400), wherein the plurality of processing pipelines (412, 414) includes a first processing pipeline for performing packet switching processing and a second processing pipeline for performing packet routing processing receiving a network packet;copying, using instructions executing in a kernel (404), the network packet from a network port (424) to one of the plurality of processing pipelines (412, 414);accessing by the first router, the network packet from the one of the plurality of processing pipelines (412, 414);and processing, by the first router, the network packet using a real-time thread executing on a processor core assigned to the real-time thread for forwarding of the network packet, wherein using the real-time thread comprises assigning higher priority to the real-time thread than other threads.
  3. 11
    A device (400) comprising:a memory (430) configured for storing instructions;a network port (424) for receiving and transmitting network packets;and one or more processors configured to: provide a virtual machine that implements a first router;provide, in a user space (408) of the memory (430) of the device (400), a plurality of processing pipelines (412, 414) for enabling communications between the first router and a second router implemented in a host software stack (402) of the device (400), wherein the plurality of processing pipelines (412, 414) includes a first processing pipeline for performing packet switching processing and a second processing pipeline for performing packet routing processing;receive a network packet from the network port (424);copy, using instructions executing in a kernel (404), the network packet from the network port (424) to one of the plurality of processing pipelines (412, 414);access, by the first router, the network packet from the one of the plurality of processing pipelines (412, 414);and process, by the first router, the network packet using a real-time thread executing on a processor core assigned to the real-time thread for forwarding of the network packet, wherein using the real-time thread comprises assigning higher priority to the real-time thread than other threads.