aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rmt-fec.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-04-05 07:44:25 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-04-05 07:44:25 +0000
commitd8bd751b9bd8fb44abb7a214db2ff49189688a07 (patch)
tree92e0573b19749b0fb9ba6b525a7a3b8ae1bf8394 /epan/dissectors/packet-rmt-fec.c
parent46b7949682e50bb41bb4608379e863e527d3e140 (diff)
From Shima:
Parsing for ALC protocol, FEC header for LDPC (RFC 5170). https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7034 svn path=/trunk/; revision=41950
Diffstat (limited to 'epan/dissectors/packet-rmt-fec.c')
-rw-r--r--epan/dissectors/packet-rmt-fec.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/epan/dissectors/packet-rmt-fec.c b/epan/dissectors/packet-rmt-fec.c
index c0d9811aa7..440f027527 100644
--- a/epan/dissectors/packet-rmt-fec.c
+++ b/epan/dissectors/packet-rmt-fec.c
@@ -241,6 +241,24 @@ void fec_dissector(struct _fec_ptr f, tvbuff_t *tvb, proto_tree *tree, guint *of
*offset += 8;
break;
+ case 3:
+ case 4:
+ f.fec->sbn = tvb_get_ntohl(tvb, *offset);
+ f.fec->sbn = f.fec->sbn >> 20;
+ f.fec->esi = tvb_get_ntohl(tvb, *offset);
+ f.fec->esi &= 0xfffff;
+
+ if (tree)
+ {
+ proto_tree_add_uint(fec_tree, f.hf->sbn, tvb, *offset, 4, f.fec->sbn);
+ proto_tree_add_uint(fec_tree, f.hf->esi, tvb, *offset, 4, f.fec->esi);
+ }
+
+ f.fec->sbn_present = TRUE;
+ f.fec->esi_present = TRUE;
+ *offset += 4;
+ break;
+
case 129:
f.fec->sbn = tvb_get_ntohl(tvb, *offset);
f.fec->sbl = tvb_get_ntohs(tvb, *offset+4);