There are multiple Packet Multiplexers (PMUXs) in VMX-Capture.
Packet Multiplexers (PMUX) are consolidated packet filters (a packet filter is a single process that receives a specified stream from hardware filter). PMUX allow for traffic to be split out in numerous ways.
SmartNIC hardware, firmware, and software capture, buffer, filter, and route packets into packet streams. PMUXs then read packets from the streams. Usually there is one PMUX for each packet stream; however multiple PMUXs can share a packet stream for scalability. The packets received at a SmartNIC capture port can contain traffic from a tap, Mirror Port, or Packet Broker, and may contain a blend of packets from multiple applications and servers at multiple points in the network. Typically, VLAN tags are used to provide a means of representing multiple physical parts of a network infrastructure.
A PMUX gets packets from a source (a packet capture card or a file, for example). It hosts probes, which can filter packets of interest and process them, either by capturing to disk or by decoding and then performing further analysis.
The probes are hosted as separate threads within the same PMUX, for performance reasons. The PMUX will load a defined list of probes when it starts but can be configured to reload particular probes while still running.
Probe and PMUX scaling
The main purpose of a PMUX is to ‘contain’ a range of different functions within, for a given stream of packets.
In very high performance systems we implement multiple PMUXs to scale traffic across these.
Probes may be split for performance reasons but are most commonly split by the protocol that they need to interpret. Each stack probe supports a fixed set of protocols, with a BPF filter defining the subset of traffic which it is processing with that stack.
The more functionality you build into each stack, the lower the traffic volume that stack will be able to process and so the more different stack probes you may need to deploy within the PMUX to process the desired volume of traffic.
See the Configuration Guide for VMX-Capture for more detail on how to configure streams on the capture card, which can be used to load balance packets between PMUXes. Other strategies are possible using specific filters in the PMUX or Stack Probe configuration to split the traffic. See the Beeks Analytics Performance Guide for more details of PMUX scaling to allow monitoring of very high loads.