Command 0x17 'Get Parameters' is used to get configuration parameter
values currently in effect on the controller and it is mandatory in
the NS-CI specification.
Provide a minimum response to exercise the kernel.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
Changes since v1:
- removed bogus MAC addr and initialized VLAN filters to zero.
slirp/ncsi.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/slirp/ncsi.c b/slirp/ncsi.c
index 02d0e9def3e8..7b3fff207ab3 100644
--- a/slirp/ncsi.c
+++ b/slirp/ncsi.c
@@ -35,6 +35,20 @@ static int ncsi_rsp_handler_gls(struct ncsi_rsp_pkt_hdr *rnh)
return 0;
}
+/* Get Parameters */
+static int ncsi_rsp_handler_gp(struct ncsi_rsp_pkt_hdr *rnh)
+{
+ struct ncsi_rsp_gp_pkt *rsp = (struct ncsi_rsp_gp_pkt *) rnh;
+
+ /* no MAC address filters or VLAN filters on the channel */
+ rsp->mac_cnt = 0;
+ rsp->mac_enable = 0;
+ rsp->vlan_cnt = 0;
+ rsp->vlan_enable = 0;
+
+ return 0;
+}
+
static const struct ncsi_rsp_handler {
unsigned char type;
int payload;
@@ -62,7 +76,7 @@ static const struct ncsi_rsp_handler {
{ NCSI_PKT_RSP_SNFC, 4, NULL },
{ NCSI_PKT_RSP_GVI, 40, NULL },
{ NCSI_PKT_RSP_GC, 32, ncsi_rsp_handler_gc },
- { NCSI_PKT_RSP_GP, -1, NULL },
+ { NCSI_PKT_RSP_GP, 40, ncsi_rsp_handler_gp },
{ NCSI_PKT_RSP_GCPS, 172, NULL },
{ NCSI_PKT_RSP_GNS, 172, NULL },
{ NCSI_PKT_RSP_GNPTS, 172, NULL },
--
2.13.6
On 05/30/2018 03:10 AM, Cédric Le Goater wrote:
> Command 0x17 'Get Parameters' is used to get configuration parameter
> values currently in effect on the controller and it is mandatory in
> the NS-CI specification.
>
> Provide a minimum response to exercise the kernel.
>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>
> Changes since v1:
>
> - removed bogus MAC addr and initialized VLAN filters to zero.
>
> slirp/ncsi.c | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/slirp/ncsi.c b/slirp/ncsi.c
> index 02d0e9def3e8..7b3fff207ab3 100644
> --- a/slirp/ncsi.c
> +++ b/slirp/ncsi.c
> @@ -35,6 +35,20 @@ static int ncsi_rsp_handler_gls(struct ncsi_rsp_pkt_hdr *rnh)
> return 0;
> }
>
> +/* Get Parameters */
> +static int ncsi_rsp_handler_gp(struct ncsi_rsp_pkt_hdr *rnh)
> +{
> + struct ncsi_rsp_gp_pkt *rsp = (struct ncsi_rsp_gp_pkt *) rnh;
> +
> + /* no MAC address filters or VLAN filters on the channel */
> + rsp->mac_cnt = 0;
> + rsp->mac_enable = 0;
> + rsp->vlan_cnt = 0;
> + rsp->vlan_enable = 0;
> +
> + return 0;
> +}
> +
> static const struct ncsi_rsp_handler {
> unsigned char type;
> int payload;
> @@ -62,7 +76,7 @@ static const struct ncsi_rsp_handler {
> { NCSI_PKT_RSP_SNFC, 4, NULL },
> { NCSI_PKT_RSP_GVI, 40, NULL },
> { NCSI_PKT_RSP_GC, 32, ncsi_rsp_handler_gc },
> - { NCSI_PKT_RSP_GP, -1, NULL },
> + { NCSI_PKT_RSP_GP, 40, ncsi_rsp_handler_gp },
> { NCSI_PKT_RSP_GCPS, 172, NULL },
> { NCSI_PKT_RSP_GNS, 172, NULL },
> { NCSI_PKT_RSP_GNPTS, 172, NULL },
>
© 2016 - 2025 Red Hat, Inc.