diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-04-05 07:44:25 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-04-05 07:44:25 +0000 |
commit | d8bd751b9bd8fb44abb7a214db2ff49189688a07 (patch) | |
tree | 92e0573b19749b0fb9ba6b525a7a3b8ae1bf8394 /epan/dissectors/packet-rmt-fec.c | |
parent | 46b7949682e50bb41bb4608379e863e527d3e140 (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.c | 18 |
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); |