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
_______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev