Running pfSense on XCP-ng/Xenserver needs some tweaks.
I've listed them here for easy access.
Fix the really slow "performance"
Disable hardware hardware checksum offload

Without this setting it's freakishly slow, no joke.
(All other hardware offloading was disabled by default on my install)
Xen guest tools
A couple of commands to get this to work.
pkg install xe-guest-utilities
echo xenguest_enable="YES">> /etc/rc.conf.local
ln -s /usr/local/etc/rc.d/xenguest /usr/local/etc/rc.d/xenguest.sh
service xenguest start
Source and a good place for pfSense guides!
Getting VLANs to work
Open Diagnostics and Edit file
Open this file: /etc/inc/interfaces.inc
or
Open a shell to the pfSense server and edit the file using nano for example.
(install via "pkg install nano")
nano /etc/inc/interfaces.inc
Go to the function "is_jumbo_capable" and add these rows:
// hack for XenServer xn interfaces
if (substr($iface, 0, 2) == "xn") {
return true;
}
Don't worry if the whole UI craps out, just drop a shell and correct any mistakes :-)
Source (use google translate if needed, I needed it :-))