mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 23:25:48 +00:00
net/filter-mirror.c: Add new option to enable vnet support for filter-redirector
We add the vnet_hdr_support option for filter-redirector, default is disabled. If you use virtio-net-pci net driver or other driver needs vnet_hdr, please enable it. Because colo-compare or other modules needs the vnet_hdr_len to parse packet, we add this new option send the len to others. You can use it for example: -object filter-redirector,id=r0,netdev=hn0,queue=tx,outdev=red0,vnet_hdr_support Signed-off-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
@ -368,6 +368,22 @@ static void filter_redirector_set_outdev(Object *obj,
|
||||
s->outdev = g_strdup(value);
|
||||
}
|
||||
|
||||
static bool filter_redirector_get_vnet_hdr(Object *obj, Error **errp)
|
||||
{
|
||||
MirrorState *s = FILTER_REDIRECTOR(obj);
|
||||
|
||||
return s->vnet_hdr;
|
||||
}
|
||||
|
||||
static void filter_redirector_set_vnet_hdr(Object *obj,
|
||||
bool value,
|
||||
Error **errp)
|
||||
{
|
||||
MirrorState *s = FILTER_REDIRECTOR(obj);
|
||||
|
||||
s->vnet_hdr = value;
|
||||
}
|
||||
|
||||
static void filter_mirror_init(Object *obj)
|
||||
{
|
||||
MirrorState *s = FILTER_MIRROR(obj);
|
||||
@ -383,10 +399,17 @@ static void filter_mirror_init(Object *obj)
|
||||
|
||||
static void filter_redirector_init(Object *obj)
|
||||
{
|
||||
MirrorState *s = FILTER_REDIRECTOR(obj);
|
||||
|
||||
object_property_add_str(obj, "indev", filter_redirector_get_indev,
|
||||
filter_redirector_set_indev, NULL);
|
||||
object_property_add_str(obj, "outdev", filter_redirector_get_outdev,
|
||||
filter_redirector_set_outdev, NULL);
|
||||
|
||||
s->vnet_hdr = false;
|
||||
object_property_add_bool(obj, "vnet_hdr_support",
|
||||
filter_redirector_get_vnet_hdr,
|
||||
filter_redirector_set_vnet_hdr, NULL);
|
||||
}
|
||||
|
||||
static void filter_mirror_fini(Object *obj)
|
||||
|
Reference in New Issue
Block a user