diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2009-03-06 19:43:45 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2009-03-06 19:43:45 +0000 |
commit | d7d058214ee33f72a94f7154806ba7c30ee696b3 (patch) | |
tree | 4b860a8545b34d522afecb77c5c15c4c6e1bada0 /epan | |
parent | 055a9393b6ac2d858c59ee2f1379566b0c0b8745 (diff) |
From Alexis La Goutte (bug 3308):
Add DHCP(v4 & v6) Option for CAPWAP (RFC5417)
svn path=/trunk/; revision=27625
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-bootp.c | 3 | ||||
-rw-r--r-- | epan/dissectors/packet-dhcpv6.c | 16 |
2 files changed, 18 insertions, 1 deletions
diff --git a/epan/dissectors/packet-bootp.c b/epan/dissectors/packet-bootp.c index 58000ab384..7b78a39aa6 100644 --- a/epan/dissectors/packet-bootp.c +++ b/epan/dissectors/packet-bootp.c @@ -26,6 +26,7 @@ * RFC 4243: Vendor-Specific Information Suboption for the Dynamic Host Configuration Protocol (DHCP) Relay Agent Option * RFC 4776: Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) Option for Civic Addresses Configuration Information * RFC 5223: Discovering Location-to-Service Translation (LoST) Servers Using the Dynamic Host Configuration Protocol (DHCP) + * RFC 5417: CAPWAP Access Controller DHCP Option * draft-ietf-dhc-fqdn-option-07.txt * BOOTP and DHCP Parameters * http://www.iana.org/assignments/bootp-dhcp-parameters @@ -623,7 +624,7 @@ static struct opt_info default_bootp_opt[BOOTP_OPT_NUM] = { /* 135 */ { "PXE - undefined (vendor specific)", opaque, NULL }, /* 136 */ { "OPTION_PANA_AGENT [TODO]", opaque, NULL }, /* 137 */ { "LoST Server Domain Name", string, NULL }, -/* 138 */ { "OPTION_CAPWAP_AC_V4 [TODO]", opaque, NULL }, +/* 138 */ { "CAPWAP Access Controllers", ipv4_list, NULL }, /* 139 */ { "Unassigned", opaque, NULL }, /* 140 */ { "Unassigned", opaque, NULL }, /* 141 */ { "Unassigned", opaque, NULL }, diff --git a/epan/dissectors/packet-dhcpv6.c b/epan/dissectors/packet-dhcpv6.c index 7200f3f92d..0c4173f44c 100644 --- a/epan/dissectors/packet-dhcpv6.c +++ b/epan/dissectors/packet-dhcpv6.c @@ -16,6 +16,7 @@ * RFC3898.txt (NIS options) * RFC4704.txt (Client FQDN) * RFC5007.txt (DHCPv6 Leasequery) + * RFC5417.txt (CAPWAP Access Controller DHCP Option) * draft-ietf-dhc-dhcpv6-opt-timeconfig-03.txt * draft-ietf-dhc-dhcpv6-opt-lifetime-00.txt * @@ -130,6 +131,7 @@ static gint ett_dhcpv6_option_vsoption = -1; #define OPTION_CLT_TIME 46 #define OPTION_LQ_RELAY_DATA 47 #define OPTION_LQ_CLIENT_LINK 48 +#define OPTION_CAPWAP_AC_V6 52 /* temporary value until defined by IETF */ #define OPTION_MIP6_HA 165 @@ -212,6 +214,7 @@ static const value_string opttype_vals[] = { { OPTION_CLT_TIME, "Client Last Transaction Time" }, { OPTION_LQ_RELAY_DATA, "Leasequery Relay Data" }, { OPTION_LQ_CLIENT_LINK, "Leasequery Client Link Address List" }, + { OPTION_CAPWAP_AC_V6, "CAPWAP Access Controllers" }, { OPTION_MIP6_HA, "Mobile IPv6 Home Agent" }, { OPTION_MIP6_HOA, "Mobile IPv6 Home Address" }, { OPTION_NAI, "Network Access Identifier" }, @@ -973,6 +976,19 @@ dhcpv6_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, ip6_to_str(&in6)); } break; + case OPTION_CAPWAP_AC_V6: + if (optlen % 16) { + proto_tree_add_text(subtree, tvb, off, optlen, + "CAPWAP Access Controllers address: malformed option"); + break; + } + for (i = 0; i < optlen; i += 16) { + tvb_get_ipv6(tvb, off + i, &in6); + proto_tree_add_text(subtree, tvb, off + i, + sizeof(in6), "CAPWAP Access Controllers address: %s", + ip6_to_str(&in6)); + } + break; case OPTION_IAPREFIX: { guint32 preferred_lifetime, valid_lifetime; |