DHCPv6 IP address tracking | docsis.org

You are here

DHCPv6 IP address tracking

7 posts / 0 new
Last post
mbernardi
DHCPv6 IP address tracking

I was wondering, to anyone that has deployed IPv6 to their customers, how you track what address/prefix goes with which customer? If at all. Currently we specify that we keep records(for 6 mo) of which customer has which IPv4 address via dhcpd.leases. This is very easy as ISC DHCP logs the MAC address of the CM the request came from(option agent.remote-id). However IPv6 isn't the same, it logs a lot more information in octal format. Sometimes I can get the MAC address of the router doing the request but not in all cases. And that doesn't really help since there isn't a way to tie the CPE MAC to which CM it was behind(if the CM is now offline).

I guess the only way to do this is via the logs, rather than dhcpd6.leases but I wanted to see how others were doing it.

Thanks in advance,
Matt

slowpoke115
Some options

Looks like someones managed to do it on the following link: http://dhcp-users.isc.narkive.com/FT98mDUy/dhcpv6-options-to-lease let me know if it works, I'm implementing IPv6 at the moment and struggling...

mbernardi
That's exactly what I needed.

Thank you very much for that link. It's exactly what I needed. I have IPv6 working with PD and everything for CPEs. My last step before I will launch will be trying to get classes working for IPv6. Then I can have separate subnets for CMs, MTAs, etc..

I'm using dhcpd 4.3.3 with Ubuntu 14.04 so if you need any help you can email me at. matt at zitomedia dot com.

For those interested here is what dhcpd6.leases shows now.

ia-pd "e\214\177\317\000\003\000\001\000\035\317\177\214d" {
cltt 4 2015/10/15 18:44:14;
iaprefix 2001:0db8:f002:ffe0::/60 {
binding state active;
preferred-life 54000;
max-life 86400;
ends 5 2015/10/16 18:44:14;
set lla = "0:1d:cf:7f:8c:64";
set ifname = "Bu1&Ca1/0\000\000\035\317\177\214d\000\000";
set cm = "0:1d:cf:7f:8c:62";
set pdsize = "60";
set iapd = "0:0:0:0:0:0:0:0";
set iana = "0:0:0:0:0:0:0:0";
}
}

kwesibrunee
Try these for your classes

Try these for your classes
class "CM" {
# only match if first 6 chars of option 61 are docsis
match if (substring(option vendor-class-identifier,0,6) = "docsis");
spawn with hardware;
}

# Match Clients as determined by option 61
class "Client" {
match if ((substring(option vendor-class-identifier,0,6) != "docsis") and (substring(option vendor-class-identifier,0,4) != "pktc"));
spawn with hardware;
}

# Match MTAs that Identify themselves as pktc1
class "MTA" {
match if (substring(option vendor-class-identifier,0,4) = "pktc");
spawn with hardware;
}

slowpoke115
What if the CMTS is in APM

What if the CMTS is in APM mode, this class can't work with both type of IP.

kwesibrunee
looks like in DHCPv6 Vendor

looks like in DHCPv6 Vendor options are in option 17
the sub option you are looking for would be 2
which is one of the following values "ECM", "EPS", "EMTA",
"ESTB", or "EROUTER" you would need to define a custom options space to determine this sub option. I don't have a dhcpd with ipv6 capability but it should not be too hard. this info was gathered from http://www.cablelabs.com/wp-content/uploads/specdocs/CL-SP-CANN-DHCP-Reg....

from that document
5.2.2 Device Type Option
This option is used to identify the device type of the component making the DHCPv6 request.

option-code CL_OPTION_DEVICE_TYPE (2)
option-len length of device-type field in bytes.
device-type The device type as NVT ASCII text MUST NOT be null terminated.
"ECM" for embedded Cable Modem (as specified by DOCSIS 1.0, 1.1, 2.0
or 3.0 Base Specifications)
"EPS" for CableHome embedded Portal Services Element
"EMTA" for PacketCable embedded Multimedia Terminal Adapter
"EDVA" for PacketCable embedded Digital Voice Adapter
"ESTB" for an embedded Set-Top Box
"EROUTER" for an embedded DOCSIS Router

mbernardi
Got it!

I added this line to my existing option space for DHCPv6 DOCSIS stuff.

option docsis.device-type code 2 = text;

Added the following class statement.

class "cm6" {
match if option docsis.device-type = "ECM";
}

And the CM got a IPv6 address from the correct subnet6.

cmts1-hsdlab#sh cab mode 2073.55c9.448f ipv6
Device Type: B - CM Bridge, R - CM Router
IP Assignment Method: D - DHCP

MAC Address Type Interface Mac State D/IP IP Address
2073.55c9.448f B/D C1/0/UB w-online(pt) Y 2001:0db8:F000:C::DCFD:E022

Thanks to everyone for the help!!

Log in or register to post comments