Dear all:
I am trying to deploy openstack on xen hypervisor.Since XenSever or XCP  is not available on our customized virtulization platform. We decide to use libvirt on xen as a middleware operating the xen hypervisor. But when I try to boot a instance , xen failed to response and I find the error in my nova.log as follows:

2012-08-24 09:17:25 ERROR nova.compute.manager [req-4b60e9a9-680c-457b-bf93-b71fb6230245 562096602c5e41748dd568d5db0f7553 6bd4a2580bcd4bef890d7ba4da82e925] [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] Instance failed to spawn
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] Traceback (most recent call last):
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]   File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/compute/manager.py", line 592, in _spawn
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]     self._legacy_nw_info(network_info), block_device_info)
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]   File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/exception.py", line 114, in wrapped
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]     return f(*args, **kw)
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]   File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/connection.py", line 899, in spawn
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]     self.firewall_driver.setup_basic_filtering(instance, network_info)
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]   File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/firewall.py", line 231, in setup_basic_filtering
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]     self.nwfilter.setup_basic_filtering(instance, network_info)
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]   File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/firewall.py", line 102, in setup_basic_filtering
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]     self._ensure_static_filters()
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]   File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/firewall.py", line 130, in _ensure_static_filters
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]     'allow-dhcp-server']))
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]   File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/firewall.py", line 150, in _define_filter
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]     tpool.execute(self._conn.nwfilterDefineXML, xml)
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]   File "/usr/lib/python2.6/site-packages/eventlet/tpool.py", line 76, in tworker
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]     rv = meth(*args,**kwargs)
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]   File "/usr/lib64/python2.6/site-packages/libvirt.py", line 2628, in nwfilterDefineXML
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]     if ret is None:raise libvirtError('virNWFilterDefineXML() failed', conn=self)
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] libvirtError: this function is not supported by the connection driver: virNWFilterDefineXML
2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]

It seems that libvirt doesn't support virNWFilterDefineXML on xen,Is there any good solutions? Or how  much work should be done to add this function to libvirt?
I would take it into consideration seriously if I could fix this problem