format_packet_type_masked(struct ds *s, ovs_be32 value, ovs_be32 mask)
{
    if (value == htonl(PT_ETH) && mask == OVS_BE32_MAX) {
        ds_put_cstr(s, "eth");
    } else {
        ds_put_cstr(s, "packet_type=(");
        put_u16_masked(s, pt_ns(value), pt_ns(mask));
        ds_put_char(s, ',');
        put_u16_masked(s, pt_ns_type(value), pt_ns_type(mask));
        ds_put_char(s, ')');
    }
}
format_packet_type_masked(struct ds *s, ovs_be32 value, ovs_be32 mask)
{
    if (value == htonl(PT_ETH) && mask == OVS_BE32_MAX) {
        ds_put_cstr(s, "eth");
    } else {
        ds_put_cstr(s, "packet_type=(");
        put_u16_masked(s, pt_ns(value), pt_ns(mask));
        ds_put_char(s, ',');
        put_u16_masked(s, pt_ns_type(value), pt_ns_type(mask));
        ds_put_char(s, ')');
    }
}