X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fdpif-provider.h;h=c33faf12ea324ba33f98ee67f2c5eb1015e39b47;hb=39a501148a3d02974e32cb1a76ef3d6ba3c38419;hp=bd159b2a9d90ecd2d9a738160ad24fafc98820ac;hpb=3b01baa3970139c3a195017ab1ea3e42761e3db2;p=openvswitch diff --git a/lib/dpif-provider.h b/lib/dpif-provider.h index bd159b2a..c33faf12 100644 --- a/lib/dpif-provider.h +++ b/lib/dpif-provider.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 Nicira Networks. + * Copyright (c) 2009, 2010 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,7 +42,7 @@ static inline void dpif_assert_class(const struct dpif *dpif, } /* Datapath interface class structure, to be defined by each implementation of - * a datapath interface + * a datapath interface. * * These functions return 0 if successful or a positive errno value on failure, * except where otherwise noted. @@ -52,7 +52,7 @@ static inline void dpif_assert_class(const struct dpif *dpif, * EWOULDBLOCK or EINPROGRESS. We may relax this requirement in the future if * and when we encounter performance problems. */ struct dpif_class { - /* Prefix for names of dpifs in this class, e.g. "udatapath:". + /* Prefix for names of dpifs in this class, e.g. "netdev:". * * One dpif class may have the empty string "" as its prefix, in which case * that dpif class is associated with dpif names that don't match any other @@ -278,6 +278,25 @@ struct dpif_class { * corresponding type when it calls the recv member function. */ int (*recv_set_mask)(struct dpif *dpif, int listen_mask); + /* Retrieves 'dpif''s sFlow sampling probability into '*probability'. + * Return value is 0 or a positive errno value. EOPNOTSUPP indicates that + * the datapath does not support sFlow, as does a null pointer. + * + * '*probability' is expressed as the number of packets out of UINT_MAX to + * sample, e.g. probability/UINT_MAX is the probability of sampling a given + * packet. */ + int (*get_sflow_probability)(const struct dpif *dpif, + uint32_t *probability); + + /* Sets 'dpif''s sFlow sampling probability to 'probability'. Return value + * is 0 or a positive errno value. EOPNOTSUPP indicates that the datapath + * does not support sFlow, as does a null pointer. + * + * 'probability' is expressed as the number of packets out of UINT_MAX to + * sample, e.g. probability/UINT_MAX is the probability of sampling a given + * packet. */ + int (*set_sflow_probability)(struct dpif *dpif, uint32_t probability); + /* Attempts to receive a message from 'dpif'. If successful, stores the * message into '*packetp'. The message, if one is received, must begin * with 'struct odp_msg' as a header. Only messages of the types selected