ip: set error number on failed intf addr 20/33820/1
authorMatthew Smith <mgsmith@netgate.com>
Fri, 24 Sep 2021 20:27:36 +0000 (15:27 -0500)
committerMatthew Smith <mgsmith@netgate.com>
Fri, 24 Sep 2021 21:06:51 +0000 (16:06 -0500)
commit1b6c7932a8feb419aae73a00a6784d7c110decdc
tree4f3f767fa45d5e0f6bc5f5bc6edd16793ee057da
parent94fef3e67662c6a92e32164d8db6fcf4bc83e79e
ip: set error number on failed intf addr

Type: fix

A subinterface that does not have exact match enabled cannot have
an IP address configured on it. When this is validated in the functions
which add an interface IP address for IPv4 and IPv6, a clib_error_t * is
returned but api_errno is not set. The API handler uses the value of
vnet_main.api_errno to set the return value in it's reply. Since it was
not set, the API reports the operation succeeded.

Set vnet_main.api_errno if vnet_sw_interface_supports_addressing() returns
a non-null value when adding/deleting an interface IP address.

Change-Id: I257a30d21788986102a2a719235e714ff16a24e8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
src/vnet/ip/ip4_forward.c
src/vnet/ip/ip6_forward.c