[ovs-dev] How can we determaine if the match field can be "writable"?

Brian Shang brian.shang.dev at gmail.com
Fri Jun 7 08:51:26 UTC 2013


Hi all,
I want to add a match field to ovs, but I'm not sure whether it should be
modified by "set_field" action. From openflow spec 1.3, it says "set_field"
action can modify any valid OXM header field, but I find some fields are
set false(eg. "ipv6_label"). I want to know how can we determaine it, from
openflow spec or from need of programing?

mta-flow.c
struct mf_field {
    /* Identification. */
    enum mf_field_id id;        /* MFF_*. */
    const char *name;           /* Name of this field, e.g. "eth_type". */
    const char *extra_name;     /* Alternate name, e.g. "dl_type", or NULL.
*/

    /* Size.
     *
     * Most fields have n_bytes * 8 == n_bits.  There are a few exceptions:
     *
     *     - "dl_vlan" is 2 bytes but only 12 bits.
     *     - "dl_vlan_pcp" is 1 byte but only 3 bits.
     *     - "is_frag" is 1 byte but only 2 bits.
     *     - "ipv6_label" is 4 bytes but only 20 bits.
     *     - "mpls_label" is 4 bytes but only 20 bits.
     *     - "mpls_tc"    is 1 byte but only 3 bits.
     *     - "mpls_bos"   is 1 byte but only 1 bit.
     */
    unsigned int n_bytes;       /* Width of the field in bytes. */
    unsigned int n_bits;        /* Number of significant bits in field. */

    /* Properties. */
    enum mf_maskable maskable;
    enum mf_string string;
    enum mf_prereqs prereqs;
    bool writable;              /* May be written by actions? */

BR
Brian Shang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20130607/3a30986f/attachment-0003.html>


More information about the dev mailing list