[U-Boot] [PATCH v5 22/27] sandbox: eth: Add ability to disable ping reply in sandbox eth driver

Simon Glass sjg at chromium.org
Wed Mar 4 19:35:44 CET 2015


Hi Joe,

On 3 March 2015 at 19:41, Joe Hershberger <joe.hershberger at ni.com> wrote:
> This is needed to test the netretry functionality (make the command fail
> on a sandbox eth device).
>
> Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>

Reviewed-by: Simon Glass <sjg at chromium.org>

Please see nits below.

>
> ---
>
> Changes in v5:
> -Use a function call to change mock driver behavior
>
> Changes in v4:
> -Add ability to disable ping reply in sandbox eth driver
>
> Changes in v3: None
> Changes in v2: None
>
>  arch/sandbox/include/asm/eth.h | 15 +++++++++++++++
>  drivers/net/sandbox.c          | 10 ++++++++++
>  2 files changed, 25 insertions(+)
>  create mode 100644 arch/sandbox/include/asm/eth.h
>
> diff --git a/arch/sandbox/include/asm/eth.h b/arch/sandbox/include/asm/eth.h
> new file mode 100644
> index 0000000..4b79ede
> --- /dev/null
> +++ b/arch/sandbox/include/asm/eth.h
> @@ -0,0 +1,15 @@
> +/*
> + * Copyright (c) 2015 National Instruments
> + *
> + * (C) Copyright 2015
> + * Joe Hershberger <joe.hershberger at ni.com>
> + *
> + * SPDX-License-Identifier:    GPL-2.0
> + */
> +
> +#ifndef __ETH_H
> +#define __ETH_H
> +
> +void sandbox_eth_disable_response(int index, bool disable);

Function comment - what is index? What does it disable?

> +
> +#endif /* __ETH_H */
> diff --git a/drivers/net/sandbox.c b/drivers/net/sandbox.c
> index cb69a95..0dfd144 100644
> --- a/drivers/net/sandbox.c
> +++ b/drivers/net/sandbox.c
> @@ -29,6 +29,13 @@ struct eth_sandbox_priv {
>         int recv_packet_length;
>  };
>
> +static bool disabled[8] = {false};
> +
> +void sandbox_eth_disable_response(int index, bool disable)
> +{
> +       disabled[index] = disable;
> +}
> +
>  static int sb_eth_start(struct udevice *dev)
>  {
>         struct eth_sandbox_priv *priv = dev_get_priv(dev);
> @@ -48,6 +55,9 @@ static int sb_eth_send(struct udevice *dev, void *packet, int length)
>
>         debug("eth_sandbox: Send packet %d\n", length);
>
> +       if (disabled[dev->seq])

if (dev->seq >= 0 && dev->seq <ARRAY_SIZE(disabled) && disabled[dev->seq])

> +               return 0;
> +
>         if (ntohs(eth->et_protlen) == PROT_ARP) {
>                 struct arp_hdr *arp = packet + ETHER_HDR_SIZE;
>
> --
> 1.7.11.5
>

Regards,
Simon


More information about the U-Boot mailing list