PFsense has a few issues with XenServer. First the nic offloading on FreeBSD is not compatible with the virtual nics on XenServer. This causes very slow throughput on the virtual nics. Second PFsense doesn't see the xn nics as supporting Vlans even though they do. And last XenServer tools needs to be installed.
xe vif-param-set uuid=VIFUUID other-config:ethtool-rx="off"
if (substr($iface, 0, 4) == "lagg")
// hack for XenServer xn interfaces
if (substr($iface, 0, 2) == "xn")