On Tue, Oct 13, 2015 at 03:39:29PM +0300, Maxim Uvarov wrote:
> Define API to get pktio link state: seed, autoneg, link up/down,
> duplex, started/stopped state.
>
> Signed-off-by: Maxim Uvarov <maxim.uva...@linaro.org>
> ---
>  v2: - use simple struct to return pktio link state;
>      - odp will not modify link, only ready it's state;
>
>
>  include/odp/api/packet_io.h | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
>
> diff --git a/include/odp/api/packet_io.h b/include/odp/api/packet_io.h
> index d8e69ed..6c77e8d 100644
> --- a/include/odp/api/packet_io.h
> +++ b/include/odp/api/packet_io.h
> @@ -96,6 +96,28 @@ typedef struct odp_pktio_param_t {
>  } odp_pktio_param_t;
>
>  /**
> + * Packet IO link state information
> + */
> +typedef struct odp_pktio_link_state_t {
> +     uint32_t speed;         /**< Speed in Mbps: 10, 100, 1000 etc */
> +     odp_bool_t up;          /**< 1 - link up, 0 - link down */
> +     odp_bool_t autoneg;     /**< 1 - autoneg on, 0 - off */
> +     odp_bool_t fd;          /**< 1 - full duplex, 0 - half duplex */

Since AN and duplex are physical layer dependent, should the API simply be
just link state (up/down) and speed?

Letting physical layer dependent information creep into a generic 'link'
struct might result in unnatural situations where a user is wondering about
AN and duplex for 40GbE or Link Fault Signaling for 1GbE.

> +     odp_bool_t stopped;     /**< 1 - pktio stopped, 0 - started */
> +} odp_pktio_link_state_t;
> +
> +/**
> + * Get packet IO link state
> + *
> + * @param[in] pktio  Packet IO handle
> + * @param[out] state Buffer to save link state
> + *
> + * @retval 0 on success (state info updated)
> + * @retval <0 on failure (state info not updated)
> + */
> +int odp_pktio_link_state(odp_pktio_t pktio, odp_pktio_link_state_t *state);
> +
> +/**
>   * Open a packet IO interface
>   *
>   * An ODP program can open a single packet IO interface per device, attempts
> --
> 1.9.1
>
> _______________________________________________
> lng-odp mailing list
> lng-odp@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/lng-odp

________________________________

-- IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.

_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to