NEFilterPacketProvider significantly reduces outbound internet speed

I have found a possible performance issue with the Network Extension related to NEFilterPacketProvider. When a packet filter is disabled, my Mac gets the expected Internet upload speed. When an NEFilterPacketProvider is enabled, outbound/upload throughput drops substantially. The interesting part is that this is reproducible with a deliberately minimal test provider.

The test provider only:

  • receives packets;
  • parses headers of several common protocols;
  • writes diagnostic information using Unified Logging;
  • allows all captured packets.

It does not intentionally delay, modify, or drop packets, and it does not perform any other heavy processing or network activity.

Reproduction

  1. Run a speed test at https://yandex.ru/internet/ with the packet filter disabled;
  2. Record the outbound/upload speed;
  3. Enable the NEFilterPacketProvider;
  4. Run the same test again;
  5. The outbound speed drops significantly;
  6. Disable the provider and repeat the test — the speed returns to the previous level;

The effect is particularly noticeable on the outbound/upload direction; download performance is much less affected.

For example:

Configuration                Download    Upload
Packet filter disabled       ~700 Mbps   ~600 Mbps
Packet filter enabled        ~700 Mbps   ~110 Mbps

I've submitted a Feedback Assistant report with a minimal reproducible sample - FB24686601. The sample is attached to the feedback.

Has anyone else observed a similar outbound throughput reduction when NEFilterPacketProvider is enabled? I'm particularly interested in whether this is expected overhead of the packet-filtering architecture, a known limitation, or a possible macOS/Network Extension regression.

NEFilterPacketProvider significantly reduces outbound internet speed
 
 
Q