Skip to content

Commit 69a6cb0

Browse files
committed
AddFlow message's Protocol fields needs to be 16 bits. For backward compatibility with NetPerfMeter 1.x, it is in Little Endian.
1 parent ad74a90 commit 69a6cb0

File tree

2 files changed

+3
-6
lines changed

2 files changed

+3
-6
lines changed

src/control.cc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,7 @@ bool performNetPerfMeterAddFlow(MessageReader* messageReader,
182182
addFlowMsg->MeasurementID = hton64(flow->getMeasurementID());
183183
addFlowMsg->FlowID = htonl(flow->getFlowID());
184184
addFlowMsg->StreamID = htons(flow->getStreamID());
185-
addFlowMsg->Protocol = flow->getTrafficSpec().Protocol;
186-
addFlowMsg->pad = 0x00;
185+
addFlowMsg->Protocol = htole16(flow->getTrafficSpec().Protocol);
187186
for(size_t i = 0;i < NETPERFMETER_RNG_INPUT_PARAMETERS;i++) {
188187
addFlowMsg->FrameRate[i] = doubleToNetwork(flow->getTrafficSpec().InboundFrameRate[i]);
189188
addFlowMsg->FrameSize[i] = doubleToNetwork(flow->getTrafficSpec().InboundFrameSize[i]);
@@ -779,8 +778,7 @@ static bool handleNetPerfMeterAddFlow(MessageReader* messageR
779778
else {
780779
// ====== Create new flow =============================================
781780
FlowTrafficSpec trafficSpec;
782-
trafficSpec.Protocol = addFlowMsg->Protocol;
783-
assure(addFlowMsg->Protocol <= 255);
781+
trafficSpec.Protocol = le16toh(addFlowMsg->Protocol);
784782
trafficSpec.Description = std::string(description);
785783
for(size_t i = 0;i < NETPERFMETER_RNG_INPUT_PARAMETERS;i++) {
786784
trafficSpec.OutboundFrameRate[i] = networkToDouble(addFlowMsg->FrameRate[i]);

src/netperfmeterpackets.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,7 @@ struct NetPerfMeterAddFlowMessage
9797
uint32_t FlowID;
9898
uint64_t MeasurementID;
9999
uint16_t StreamID;
100-
uint8_t Protocol;
101-
uint8_t pad;
100+
uint16_t Protocol; // Little Endian, due to compatibility!
102101

103102
char Description[NETPERFMETER_DESCRIPTION_SIZE];
104103

0 commit comments

Comments
 (0)