[ovs-dev] [PATCH 03/12] flow: Introduce parse_dl_type().
Daniele Di Proietto
diproiettod at vmware.com
Mon Nov 16 06:21:14 UTC 2015
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 at vmware.com>
---
lib/flow.c | 10 ++++++++++
lib/flow.h | 1 +
2 files changed, 11 insertions(+)
diff --git a/lib/flow.c b/lib/flow.c
index 2bdce26..d8c1228 100644
--- a/lib/flow.c
+++ b/lib/flow.c
@@ -789,6 +789,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
diff --git a/lib/flow.h b/lib/flow.h
index de15a98..7465af8 100644
--- a/lib/flow.h
+++ b/lib/flow.h
@@ -237,6 +237,7 @@ void flow_compose(struct dp_packet *, const struct flow *);
bool parse_ipv6_ext_hdrs(const void **datap, size_t *sizep, uint8_t *nw_proto,
uint8_t *nw_frag);
+ovs_be16 parse_dl_type(const struct eth_header *data_, size_t size);
static inline uint64_t
flow_get_xreg(const struct flow *flow, int idx)
--
2.1.4
More information about the dev
mailing list