git://git.onelab.eu
/
sliver-openvswitch.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
e723ff4
)
sflow: Include Ethernet FCS in frame_length to comply with sFlow spec.
author
Neil McKee
<neil.mckee@inmon.com>
Wed, 5 May 2010 20:24:03 +0000
(13:24 -0700)
committer
Ben Pfaff
<blp@nicira.com>
Wed, 5 May 2010 20:27:01 +0000
(13:27 -0700)
ofproto/ofproto-sflow.c
patch
|
blob
|
history
diff --git
a/ofproto/ofproto-sflow.c
b/ofproto/ofproto-sflow.c
index
85f9f9f
..
5488724
100644
(file)
--- a/
ofproto/ofproto-sflow.c
+++ b/
ofproto/ofproto-sflow.c
@@
-519,8
+519,11
@@
ofproto_sflow_received(struct ofproto_sflow *os, struct odp_msg *msg)
hdrElem.tag = SFLFLOW_HEADER;
header = &hdrElem.flowType.header;
header->header_protocol = SFLHEADER_ETHERNET_ISO8023;
hdrElem.tag = SFLFLOW_HEADER;
header = &hdrElem.flowType.header;
header->header_protocol = SFLHEADER_ETHERNET_ISO8023;
- header->frame_length = payload.size;
- header->stripped = 4; /* Ethernet FCS stripped off. */
+ /* The frame_length should include the Ethernet FCS (4 bytes),
+ but it has already been stripped, so we need to add 4 here. */
+ header->frame_length = payload.size + 4;
+ /* Ethernet FCS stripped off. */
+ header->stripped = 4;
header->header_length = MIN(payload.size,
sampler->sFlowFsMaximumHeaderSize);
header->header_bytes = payload.data;
header->header_length = MIN(payload.size,
sampler->sFlowFsMaximumHeaderSize);
header->header_bytes = payload.data;