static void parse_metadata(struct ofpbuf *b, char *arg) { struct ofpact_metadata *om; char *mask = strchr(arg, '/'); om = ofpact_put_WRITE_METADATA(b); if (mask) { *mask = '\0'; om->mask = htonll(str_to_u64(mask + 1)); } else { om->mask = htonll(UINT64_MAX); } om->metadata = htonll(str_to_u64(arg)); }
void act_metadata(struct ofpbuf* buf, uint64_t metadata, uint64_t mask) { struct ofpact_metadata* meta = ofpact_put_WRITE_METADATA(buf); meta->metadata = htonll(metadata); meta->mask = htonll(mask); }