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 :-))