Different NetworkExtension instance for each of protocol. Why?

Hello all! Got confused with some behavior of VPN applications on MacOS. Some of application instatiate NE System extension for each of protocol.

Why? Is it best practice? Or it's requirements? My appology for this questions if it's looking strange or weird. The System Extension on MacOS is very new field of development for me.

Answered by DTS Engineer in 754709022

Why?

You’d have to ask the vendor.

Is it best practice?

Not as such. It’s possible to host multiple NE providers in a single sysex. There are obvious benefits to that, including:

  • It’s one less sysex to manage.

  • You can trivially share state between the providers.

  • It uses less resources.

OTOH, there are drawbacks to. The one that immediately springs to mind is that, if one your providers has a bug that causes it to crash, it’ll take out your others.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Accepted Answer

Why?

You’d have to ask the vendor.

Is it best practice?

Not as such. It’s possible to host multiple NE providers in a single sysex. There are obvious benefits to that, including:

  • It’s one less sysex to manage.

  • You can trivially share state between the providers.

  • It uses less resources.

OTOH, there are drawbacks to. The one that immediately springs to mind is that, if one your providers has a bug that causes it to crash, it’ll take out your others.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Different NetworkExtension instance for each of protocol. Why?
 
 
Q