flow_compose_l7(struct dp_packet *p, const void *l7, size_t l7_len)
{
    if (l7_len) {
        if (l7) {
            dp_packet_put(p, l7, l7_len);
        } else {
            uint8_t *payload = dp_packet_put_uninit(p, l7_len);
            for (size_t i = 0; i < l7_len; i++) {
                payload[i] = i;
            }
        }
    }
}
flow_compose_l7(struct dp_packet *p, const void *l7, size_t l7_len)
{
    if (l7_len) {
        if (l7) {
            dp_packet_put(p, l7, l7_len);
        } else {
            uint8_t *payload = dp_packet_put_uninit(p, l7_len);
            for (size_t i = 0; i < l7_len; i++) {
                payload[i] = i;
            }
        }
    }
}