From: Michal Privoznik <mprivozn@redhat.com>
In virnetlink.c there are two sections: the first one when
building WITH_LIBNL support, the other that provides stubs for
functions declared in the corresponding header file when building
without netlink support. But the stub implementation for
virNetlinkBridgeVlanFilterSet() was missing.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---
src/util/virnetlink.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
index 206646d9d7..2555457cd2 100644
--- a/src/util/virnetlink.c
+++ b/src/util/virnetlink.c
@@ -1344,6 +1344,17 @@ virNetlinkNewLink(const char *ifname G_GNUC_UNUSED,
}
+int
+virNetlinkBridgeVlanFilterSet(const char *ifname G_GNUC_UNUSED,
+ int cmd G_GNUC_UNUSED,
+ const unsigned short fflags G_GNUC_UNUSED,
+ const short vid G_GNUC_UNUSED,
+ int *error G_GNUC_UNUSED)
+{
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _(unsupported));
+ return -1;
+}
+
int
virNetlinkGetNeighbor(void **nlData G_GNUC_UNUSED,
uint32_t src_pid G_GNUC_UNUSED,
--
2.49.0
On Mon, May 12, 2025 at 15:37:13 +0200, Michal Privoznik via Devel wrote:
> From: Michal Privoznik <mprivozn@redhat.com>
>
> In virnetlink.c there are two sections: the first one when
> building WITH_LIBNL support, the other that provides stubs for
> functions declared in the corresponding header file when building
> without netlink support. But the stub implementation for
> virNetlinkBridgeVlanFilterSet() was missing.
>
> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
> ---
> src/util/virnetlink.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
> index 206646d9d7..2555457cd2 100644
> --- a/src/util/virnetlink.c
> +++ b/src/util/virnetlink.c
> @@ -1344,6 +1344,17 @@ virNetlinkNewLink(const char *ifname G_GNUC_UNUSED,
> }
>
>
> +int
> +virNetlinkBridgeVlanFilterSet(const char *ifname G_GNUC_UNUSED,
> + int cmd G_GNUC_UNUSED,
> + const unsigned short fflags G_GNUC_UNUSED,
s/fflags/flags/
> + const short vid G_GNUC_UNUSED,
> + int *error G_GNUC_UNUSED)
> +{
Based on the usage I thin this function needs to still set error to 0.
All callers for now do that before calling but still the documentation
states that non-zero code means a netlink error, which is not the case
here.
> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _(unsupported));
I wanted to complain that INTERNAL_ERROR is not appropriate; but it
seems that all the stubs in virnetlink.c have terrible errors.
> + return -1;
> +}
> +
> int
> virNetlinkGetNeighbor(void **nlData G_GNUC_UNUSED,
> uint32_t src_pid G_GNUC_UNUSED,
> --
> 2.49.0
>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
On 5/13/25 09:53, Peter Krempa wrote:
> On Mon, May 12, 2025 at 15:37:13 +0200, Michal Privoznik via Devel wrote:
>> From: Michal Privoznik <mprivozn@redhat.com>
>>
>> In virnetlink.c there are two sections: the first one when
>> building WITH_LIBNL support, the other that provides stubs for
>> functions declared in the corresponding header file when building
>> without netlink support. But the stub implementation for
>> virNetlinkBridgeVlanFilterSet() was missing.
>>
>> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>> ---
>> src/util/virnetlink.c | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>>
>> diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
>> index 206646d9d7..2555457cd2 100644
>> --- a/src/util/virnetlink.c
>> +++ b/src/util/virnetlink.c
>> @@ -1344,6 +1344,17 @@ virNetlinkNewLink(const char *ifname G_GNUC_UNUSED,
>> }
>>
>>
>> +int
>> +virNetlinkBridgeVlanFilterSet(const char *ifname G_GNUC_UNUSED,
>> + int cmd G_GNUC_UNUSED,
>> + const unsigned short fflags G_GNUC_UNUSED,
>
> s/fflags/flags/
No, this needs to be anything else but 'flags' otherwise our
sc_flags_usage syntax-check rule will complain. unusedflags perhaps?
>
>> + const short vid G_GNUC_UNUSED,
>> + int *error G_GNUC_UNUSED)
>> +{
>
> Based on the usage I thin this function needs to still set error to 0.
> All callers for now do that before calling but still the documentation
> states that non-zero code means a netlink error, which is not the case
> here.
Good point.
>
>> + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _(unsupported));
>
> I wanted to complain that INTERNAL_ERROR is not appropriate; but it
> seems that all the stubs in virnetlink.c have terrible errors.
Indeed, I went with consistency over correctness.
>
>> + return -1;
>> +}
>> +
>> int
>> virNetlinkGetNeighbor(void **nlData G_GNUC_UNUSED,
>> uint32_t src_pid G_GNUC_UNUSED,
>> --
>> 2.49.0
>>
>
> Reviewed-by: Peter Krempa <pkrempa@redhat.com>
>
Michal
On Tue, May 13, 2025 at 15:30:20 +0200, Michal Prívozník wrote: > On 5/13/25 09:53, Peter Krempa wrote: > > On Mon, May 12, 2025 at 15:37:13 +0200, Michal Privoznik via Devel wrote: > >> From: Michal Privoznik <mprivozn@redhat.com> > >> > >> In virnetlink.c there are two sections: the first one when > >> building WITH_LIBNL support, the other that provides stubs for > >> functions declared in the corresponding header file when building > >> without netlink support. But the stub implementation for > >> virNetlinkBridgeVlanFilterSet() was missing. > >> > >> Signed-off-by: Michal Privoznik <mprivozn@redhat.com> > >> --- > >> src/util/virnetlink.c | 11 +++++++++++ > >> 1 file changed, 11 insertions(+) > >> > >> diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c > >> index 206646d9d7..2555457cd2 100644 > >> --- a/src/util/virnetlink.c > >> +++ b/src/util/virnetlink.c > >> @@ -1344,6 +1344,17 @@ virNetlinkNewLink(const char *ifname G_GNUC_UNUSED, > >> } > >> > >> > >> +int > >> +virNetlinkBridgeVlanFilterSet(const char *ifname G_GNUC_UNUSED, > >> + int cmd G_GNUC_UNUSED, > >> + const unsigned short fflags G_GNUC_UNUSED, > > > > s/fflags/flags/ > > No, this needs to be anything else but 'flags' otherwise our > sc_flags_usage syntax-check rule will complain. unusedflags perhaps? Ah ... d'oh. I mentioned it just because some static analysis tool complained about argument names differing between definition and declaration; Anyways 'unusedflags' would likely be preferrable.
© 2016 - 2026 Red Hat, Inc.