forked from osmocom/wireshark
nas-eps: Display interface identifier for the IPv6 lla as IPv6
Change-Id: Ia82085f94a1de7eeea4cecdbc8f060302ae18ed5 Reviewed-on: https://code.wireshark.org/review/36732 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
parent
324f46ce1f
commit
a4d4cb1409
|
@ -3346,10 +3346,11 @@ de_esm_pdn_addr(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
|
||||||
{
|
{
|
||||||
guint32 curr_offset;
|
guint32 curr_offset;
|
||||||
guint8 pdn_type;
|
guint8 pdn_type;
|
||||||
|
ws_in6_addr interface_id;
|
||||||
|
|
||||||
|
memset(&interface_id, 0, sizeof(interface_id));
|
||||||
curr_offset = offset;
|
curr_offset = offset;
|
||||||
|
|
||||||
|
|
||||||
pdn_type = tvb_get_guint8(tvb, offset) & 0x7;
|
pdn_type = tvb_get_guint8(tvb, offset) & 0x7;
|
||||||
proto_tree_add_bits_item(tree, hf_nas_eps_spare_bits, tvb, curr_offset<<3, 5, ENC_BIG_ENDIAN);
|
proto_tree_add_bits_item(tree, hf_nas_eps_spare_bits, tvb, curr_offset<<3, 5, ENC_BIG_ENDIAN);
|
||||||
proto_tree_add_item(tree, hf_nas_eps_esm_pdn_type, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
|
proto_tree_add_item(tree, hf_nas_eps_esm_pdn_type, tvb, curr_offset, 1, ENC_BIG_ENDIAN);
|
||||||
|
@ -3367,7 +3368,8 @@ de_esm_pdn_addr(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
|
||||||
* contains an IPv6 interface identifier. Bit 8 of octet 4 represents the most significant bit
|
* contains an IPv6 interface identifier. Bit 8 of octet 4 represents the most significant bit
|
||||||
* of the IPv6 interface identifier and bit 1 of octet 11 the least significant bit.
|
* of the IPv6 interface identifier and bit 1 of octet 11 the least significant bit.
|
||||||
*/
|
*/
|
||||||
proto_tree_add_item(tree, hf_nas_eps_esm_pdn_ipv6_if_id, tvb, curr_offset, 8, ENC_NA);
|
tvb_memcpy(tvb, (guint8*)&interface_id.bytes[8], offset, 8);
|
||||||
|
proto_tree_add_ipv6(tree, hf_nas_eps_esm_pdn_ipv6_if_id, tvb, offset, 8, &interface_id);
|
||||||
curr_offset+=8;
|
curr_offset+=8;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
@ -3378,7 +3380,8 @@ de_esm_pdn_addr(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_,
|
||||||
* significant bit. Bit 8 of octet 12 represents the most significant bit of the IPv4 address
|
* significant bit. Bit 8 of octet 12 represents the most significant bit of the IPv4 address
|
||||||
* and bit 1 of octet 15 the least significant bit.
|
* and bit 1 of octet 15 the least significant bit.
|
||||||
*/
|
*/
|
||||||
proto_tree_add_item(tree, hf_nas_eps_esm_pdn_ipv6_if_id, tvb, curr_offset, 8, ENC_NA);
|
tvb_memcpy(tvb, (guint8*)&interface_id.bytes[8], offset, 8);
|
||||||
|
proto_tree_add_ipv6(tree, hf_nas_eps_esm_pdn_ipv6_if_id, tvb, offset, 8, &interface_id);
|
||||||
curr_offset+=8;
|
curr_offset+=8;
|
||||||
proto_tree_add_item(tree, hf_nas_eps_esm_pdn_ipv4, tvb, curr_offset, 4, ENC_BIG_ENDIAN);
|
proto_tree_add_item(tree, hf_nas_eps_esm_pdn_ipv4, tvb, curr_offset, 4, ENC_BIG_ENDIAN);
|
||||||
curr_offset+=4;
|
curr_offset+=4;
|
||||||
|
@ -7886,7 +7889,7 @@ proto_register_nas_eps(void)
|
||||||
},
|
},
|
||||||
{ &hf_nas_eps_esm_pdn_ipv6_if_id,
|
{ &hf_nas_eps_esm_pdn_ipv6_if_id,
|
||||||
{"PDN IPv6 if id", "nas_eps.esm.pdn_ipv6_if_id",
|
{"PDN IPv6 if id", "nas_eps.esm.pdn_ipv6_if_id",
|
||||||
FT_BYTES, BASE_NONE, NULL, 0x0,
|
FT_IPv6, BASE_NONE, NULL, 0x0,
|
||||||
NULL, HFILL}
|
NULL, HFILL}
|
||||||
},
|
},
|
||||||
{ &hf_nas_eps_esm_eplmnc,
|
{ &hf_nas_eps_esm_eplmnc,
|
||||||
|
|
Loading…
Reference in New Issue