diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-10-23 16:06:57 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-10-23 16:06:57 +0000 |
commit | afc96b6276c1cc4b370fb6aa05b44706b24de140 (patch) | |
tree | ce4c113e847518fedfa03261e8e0825d5ca7c60f /epan/dissectors/packet-mip6.c | |
parent | 9887b09f88d02ce4bf549c275bdc9998e4ed719f (diff) |
Add B flag to Proxy Binding messages.
svn path=/trunk/; revision=45738
Diffstat (limited to 'epan/dissectors/packet-mip6.c')
-rw-r--r-- | epan/dissectors/packet-mip6.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/epan/dissectors/packet-mip6.c b/epan/dissectors/packet-mip6.c index 4f6eea984d..1c818d7c19 100644 --- a/epan/dissectors/packet-mip6.c +++ b/epan/dissectors/packet-mip6.c @@ -28,6 +28,12 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * References: + * IETF RFC 3775, "Mobility Support in IPv6". + * Mobility Support in IPv6 RFC 6275 + * Bulk Binding Update Support for Proxy Mobile IPv6 RFC 6602 + * */ #include "config.h" @@ -196,6 +202,16 @@ static const true_false_string pmip6_bu_t_flag_value = { "No TLV-header format" }; +static const true_false_string pmip6_bu_b_flag_value = { + "Enable bulk binding update support", + "Disable bulk binding update support" +}; + +static const true_false_string pmip6_ba_b_flag_value = { + "Enabled bulk binding update support", + "Disabled bulk binding update support" +}; + /* Binding Acknowledgement status values * http://www.iana.org/assignments/mobility-parameters/mobility-parameters.xhtml */ @@ -795,6 +811,7 @@ static int hf_mip6_nemo_bu_r_flag = -1; static int hf_pmip6_bu_p_flag = -1; static int hf_mip6_bu_f_flag = -1; static int hf_pmip6_bu_t_flag = -1; +static int hf_pmip6_bu_b_flag = -1; static int hf_mip6_bu_lifetime = -1; static int hf_mip6_ba_status = -1; @@ -802,6 +819,7 @@ static int hf_mip6_ba_k_flag = -1; static int hf_mip6_nemo_ba_r_flag = -1; static int hf_pmip6_ba_p_flag = -1; static int hf_pmip6_ba_t_flag = -1; +static int hf_pmip6_ba_b_flag = -1; static int hf_mip6_ba_seqnr = -1; static int hf_mip6_ba_lifetime = -1; @@ -992,6 +1010,20 @@ dissect_mip6_cot(tvbuff_t *tvb, proto_tree *mip6_tree, packet_info *pinfo _U_) } /* RFC3775 */ + +/* +http://www.iana.org/assignments/mobility-parameters/mobility-parameters.xml#mobility-parameters-11 +A 0x8000 [RFC6275] +H 0x4000 [RFC6275] +L 0x2000 [RFC6275] +K 0x1000 [RFC6275] +M 0x0800 [RFC4140] +R 0x0400 [RFC3963] +P 0x0200 [RFC5213] +F 0x0100 [RFC5555] +T 0x0080 [RFC5845] +B 0x0040 [RFC6602] +*/ static int dissect_mip6_bu(tvbuff_t *tvb, proto_tree *mip6_tree, packet_info *pinfo _U_) { @@ -1025,6 +1057,8 @@ dissect_mip6_bu(tvbuff_t *tvb, proto_tree *mip6_tree, packet_info *pinfo _U_) MIP6_BU_FLAGS_OFF, MIP6_BU_FLAGS_LEN, ENC_BIG_ENDIAN); proto_tree_add_item(data_tree, hf_pmip6_bu_t_flag, tvb, MIP6_BU_FLAGS_OFF, MIP6_BU_FLAGS_LEN, ENC_BIG_ENDIAN); + proto_tree_add_item(data_tree, hf_pmip6_bu_b_flag, tvb, + MIP6_BU_FLAGS_OFF, MIP6_BU_FLAGS_LEN, ENC_BIG_ENDIAN); if ((tvb_get_guint8(tvb, MIP6_BU_FLAGS_OFF) & 0x0004 ) == 0x0004) proto_nemo = 1; @@ -1062,6 +1096,8 @@ dissect_mip6_ba(tvbuff_t *tvb, proto_tree *mip6_tree, packet_info *pinfo _U_) MIP6_BA_FLAGS_OFF, MIP6_BA_FLAGS_LEN, ENC_BIG_ENDIAN); proto_tree_add_item(data_tree, hf_pmip6_ba_t_flag, tvb, MIP6_BA_FLAGS_OFF, MIP6_BA_FLAGS_LEN, ENC_BIG_ENDIAN); + proto_tree_add_item(data_tree, hf_pmip6_ba_b_flag, tvb, + MIP6_BA_FLAGS_OFF, MIP6_BA_FLAGS_LEN, ENC_BIG_ENDIAN); if ((tvb_get_guint8(tvb, MIP6_BA_FLAGS_OFF) & 0x0040 ) == 0x0040) proto_nemo = 1; @@ -2221,6 +2257,11 @@ proto_register_mip6(void) FT_BOOLEAN, 16, TFS(&pmip6_bu_t_flag_value), 0x0080, NULL, HFILL }}, + { &hf_pmip6_bu_b_flag, { "Bulk-Binding-Update flag (B)", + "mip6.bu.b_flag", + FT_BOOLEAN, 16, TFS(&pmip6_bu_b_flag_value), + 0x0040, NULL, + HFILL }}, { &hf_mip6_bu_lifetime, { "Lifetime", "mip6.bu.lifetime", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }}, @@ -2249,6 +2290,11 @@ proto_register_mip6(void) FT_BOOLEAN, 8, TFS(&pmip6_bu_t_flag_value), 0x10, NULL, HFILL }}, + { &hf_pmip6_ba_b_flag, { "Bulk-Binding-Update flag (B)", + "mip6.ba.b_flag", + FT_BOOLEAN, 8, TFS(&pmip6_ba_b_flag_value), + 0x08, NULL, + HFILL }}, { &hf_mip6_ba_seqnr, { "Sequence number", "mip6.ba.seqnr", FT_UINT16, BASE_DEC, NULL, 0, |