On 13 October 2015 at 08:39, Maxim Uvarov <[email protected]> wrote:
> Define API to get pktio link state: seed, autoneg, link up/down, > duplex, started/stopped state. > > Signed-off-by: Maxim Uvarov <[email protected]> > --- > 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 */ > Is autonegotiation enabled/disabled of any interest to the application? It's a configuration input, not an output or result. + odp_bool_t fd; /**< 1 - full duplex, 0 - half duplex */ > + odp_bool_t stopped; /**< 1 - pktio stopped, 0 - started */ > Link state, link speed and duplex mode all related to the physical state of the pktio interface. "stopped" is a logical concept of the ODP pktio abstraction (equivalent to interface up/down?) and there is no one-to-one correspondence between pktio instances and physical links (some pktio classes may not even have a physical link). Seems strange to mix those concepts. Also "stopped' is a poor name me thinks, why not "running"? > +} 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 > [email protected] > https://lists.linaro.org/mailman/listinfo/lng-odp >
_______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
