[U-Boot] [PATCH 00/11] Improve env var handling for net stack

Simon Glass sjg at chromium.org
Fri Apr 24 06:32:55 CEST 2015


Hi Joe,

On 21 April 2015 at 16:02, Joe Hershberger <joe.hershberger at ni.com> wrote:
> This includes moving CONFIG_REGEX to Kconfig and adding support for
> regex to the env_attr lists (when CONFIG_REGEX is enabled).
>
> This allows ethaddrs to all be checked for access and format by default.
> Also use callbacks to keep network stack variables up to date instead of
> polling them on each call to net_loop.
>
> This is a step in the right direction to refactoring the network stack
> to be similar to that of barebox.
>
>
> Joe Hershberger (11):
>   sandbox: Enable some ENV commands
>   kconfig: Move REGEX to Kconfig
>   sandbox: Enable regex support
>   env: Fix return values in env_attr_lookup()
>   env: Simplify the reverse_strstr() interface
>   env: Allow env_attr_walk to pass a priv * to callback
>   env: Add regex support to env_attrs
>   env: Distinguish finer between source of env change
>   net: Apply default format rules to all ethaddr
>   net: Use env callbacks for net variables
>   net: Add default flags for common net env vars
>
>  common/cmd_nvedit.c                |  36 +++++---
>  common/env_attr.c                  | 179 ++++++++++++++++++++++++++++---------
>  common/env_callback.c              |   6 +-
>  common/env_flags.c                 |   6 +-
>  configs/acadia_defconfig           |   1 +
>  configs/bamboo_defconfig           |   1 +
>  configs/bubinga_defconfig          |   1 +
>  configs/canyonlands_defconfig      |   1 +
>  configs/dlvision-10g_defconfig     |   1 +
>  configs/dlvision_defconfig         |   1 +
>  configs/ebony_defconfig            |   1 +
>  configs/gdppc440etx_defconfig      |   1 +
>  configs/icon_defconfig             |   1 +
>  configs/intip_defconfig            |   1 +
>  configs/io64_defconfig             |   1 +
>  configs/io_defconfig               |   1 +
>  configs/iocon_defconfig            |   1 +
>  configs/katmai_defconfig           |   1 +
>  configs/kilauea_defconfig          |   1 +
>  configs/luan_defconfig             |   1 +
>  configs/m28evk_defconfig           |   1 +
>  configs/m53evk_defconfig           |   1 +
>  configs/makalu_defconfig           |   1 +
>  configs/neo_defconfig              |   1 +
>  configs/novena_defconfig           |   1 +
>  configs/ocotea_defconfig           |   1 +
>  configs/redwood_defconfig          |   1 +
>  configs/sandbox_defconfig          |   1 +
>  configs/sequoia_defconfig          |   1 +
>  configs/socfpga_arria5_defconfig   |   1 +
>  configs/socfpga_cyclone5_defconfig |   1 +
>  configs/t3corp_defconfig           |   1 +
>  configs/taihu_defconfig            |   1 +
>  configs/taishan_defconfig          |   1 +
>  configs/walnut_defconfig           |   1 +
>  configs/yosemite_defconfig         |   1 +
>  configs/yucca_defconfig            |   1 +
>  include/configs/amcc-common.h      |   1 -
>  include/configs/m28evk.h           |   1 -
>  include/configs/m53evk.h           |   1 -
>  include/configs/novena.h           |   1 -
>  include/configs/sandbox.h          |   5 ++
>  include/configs/socfpga_arria5.h   |   1 -
>  include/configs/socfpga_cyclone5.h |   1 -
>  include/env_attr.h                 |  10 +--
>  include/env_callback.h             |  32 ++++++-
>  include/env_flags.h                |  23 ++++-
>  include/search.h                   |   2 +
>  lib/Kconfig                        |   8 ++
>  net/net.c                          | 105 ++++++++++++++++++----
>  test/dm/eth.c                      |   1 +
>  51 files changed, 358 insertions(+), 94 deletions(-)

Looks good! I wonder if you could update a README somewhere to explain
how it works?

If I understand correctly, you need to enable CONFIG_REGEX for the
eth1addr variable to work (for example). Is that right? If so, what is
the code size impact?

Regards,
Simon


More information about the U-Boot mailing list