bssgp: Fix encoding of BVC_FLOW_CONTROL
Currently all 2 byte IE of the message are transmitted in the little
endian byte ordering.
This commit adds htons to the encoding expressions.
Sponsored-by: On-Waves ehf
diff --git a/src/gb/gprs_bssgp_bss.c b/src/gb/gprs_bssgp_bss.c
index c22a17a..5731959 100644
--- a/src/gb/gprs_bssgp_bss.c
+++ b/src/gb/gprs_bssgp_bss.c
@@ -325,19 +325,19 @@
if ((bucket_size / 100) > 0xffff)
return -EINVAL;
- e_bucket_size = bucket_size / 100;
+ e_bucket_size = htons(bucket_size / 100);
if ((bucket_leak_rate * 8 / 100) > 0xffff)
return -EINVAL;
- e_leak_rate = (bucket_leak_rate * 8) / 100;
+ e_leak_rate = htons((bucket_leak_rate * 8) / 100);
if ((bmax_default_ms / 100) > 0xffff)
return -EINVAL;
- e_bmax_default_ms = bmax_default_ms / 100;
+ e_bmax_default_ms = htons(bmax_default_ms / 100);
if ((r_default_ms * 8 / 100) > 0xffff)
return -EINVAL;
- e_r_default_ms = (r_default_ms * 8) / 100;
+ e_r_default_ms = htons((r_default_ms * 8) / 100);
if (queue_delay_ms) {
if ((*queue_delay_ms / 10) > 60000)
@@ -345,7 +345,7 @@
else if (*queue_delay_ms == 0xFFFFFFFF)
e_queue_delay = 0xFFFF;
else
- e_queue_delay = *queue_delay_ms / 10;
+ e_queue_delay = htons(*queue_delay_ms / 10);
}
msg = bssgp_msgb_alloc();