On 15 April 2016 at 17:02, Daniele Di Proietto <diproiet...@vmware.com> wrote:
> Signed-off-by: Daniele Di Proietto <diproiet...@vmware.com>

<snip>

> +static void
> +conn_key_to_tuple(const struct conn_key *key, struct ct_dpif_tuple *tuple)
> +{
> +    if (key->dl_type == htons(ETH_TYPE_IP)) {
> +        tuple->l3_type = AF_INET;
> +    } else if (key->dl_type == htons(ETH_TYPE_IPV6)) {
> +        tuple->l3_type = AF_INET6;
> +    }
> +    tuple->ip_proto = key->nw_proto;
> +    ct_endpoint_to_ct_dpif_inet_addr(&key->src.addr, &tuple->src,
> +                                     key->dl_type);
> +    ct_endpoint_to_ct_dpif_inet_addr(&key->dst.addr, &tuple->dst,
> +                                     key->dl_type);
> +
> +    if (key->nw_proto == IPPROTO_ICMP) {
> +        tuple->icmp_id = key->src.port;
> +        /* ICMP type and code are not tracked */
> +        tuple->icmp_type = 0;
> +        tuple->icmp_code = 0;
> +    } else {
> +        tuple->src_port = key->src.port;
> +        tuple->dst_port = key->dst.port;
> +    }

I think in the Linux implementation, the original ICMP message's icmp
type/code are stored/provided here. Might be a behaviour parity
question.

> +}
> +
> +static void
> +conn_to_ct_dpif_entry(const struct conn *conn, struct ct_dpif_entry *entry,
> +                      long long now)
> +{
> +    struct ct_l4_proto *class;
> +    long long expiration;
> +    memset(entry, 0, sizeof *entry);
> +    conn_key_to_tuple(&conn->key, &entry->tuple_orig);
> +    conn_key_to_tuple(&conn->rev_key, &entry->tuple_reply);
> +
> +    entry->zone = conn->key.zone;
> +    entry->mark = conn->mark;
> +
> +    memcpy(&entry->labels, &conn->label, sizeof(entry->labels));
> +    /* Not implemented yet */
> +    entry->timestamp.start = 0;
> +    entry->timestamp.stop = 0;

Is it better to reflect that timestamps are unsupported up to the user
or simply report 0 when it's unsupported? (I don't have a particular
preference, just asking the question)
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to