2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 14:25:26 +00:00

flow: Introduce parse_dl_type().

The function simply returns the ethernet type of the packet (after
eventually discarding the VLAN tag).  It will be used by a following
commit.

Signed-off-by: Daniele Di Proietto <diproiettod@vmware.com>
Acked-by: Flavio Leitner <fbl@sysclose.org>
This commit is contained in:
Daniele Di Proietto
2015-11-15 22:07:25 -08:00
parent 94a81e4021
commit 206b60d48f
2 changed files with 13 additions and 2 deletions

View File

@@ -328,7 +328,7 @@ parse_mpls(const void **datap, size_t *sizep)
return MIN(count, FLOW_MAX_MPLS_LABELS);
}
static inline ovs_be16
static inline ALWAYS_INLINE ovs_be16
parse_vlan(const void **datap, size_t *sizep)
{
const struct eth_header *eth = *datap;
@@ -350,7 +350,7 @@ parse_vlan(const void **datap, size_t *sizep)
return 0;
}
static inline ovs_be16
static inline ALWAYS_INLINE ovs_be16
parse_ethertype(const void **datap, size_t *sizep)
{
const struct llc_snap_header *llc;
@@ -827,6 +827,16 @@ miniflow_extract(struct dp_packet *packet, struct miniflow *dst)
dst->map = mf.map;
}
ovs_be16
parse_dl_type(const struct eth_header *data_, size_t size)
{
const void *data = data_;
parse_vlan(&data, &size);
return parse_ethertype(&data, &size);
}
/* For every bit of a field that is wildcarded in 'wildcards', sets the
* corresponding bit in 'flow' to zero. */
void