This thread's discussion is locked. If it doesn't give you the information you need, head to its forum board for active discussions or to start a new discussion.
@ckim44, I've just noticed your post.
You are correct to use dhclient -P command to obtain PD. The contents of dhclient.conf is of little importance as it seems that Telus router ignores most (if not all) options passed. I suspect it is due to their system security policy. So you should be already getting a prefix from Telus. If you enable the verbose mode (option -v) on dhclient, you should be seeing something like:
Internet Systems Consortium DHCP Client 4.3.3 Copyright 2004-2015 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Listening on Socket/eth1 Sending on Socket/eth1 PRC: Confirming active lease (INIT-REBOOT). XMT: Forming Rebind, 0 ms elapsed. XMT: X-- IA_PD e2:3b:79:92 XMT: | X-- Requested renew +3600 XMT: | X-- Requested rebind +5400 XMT: | | X-- IAPREFIX 2001:569:xxxx:xxxx::/56 XMT: | | | X-- Preferred lifetime +7200 XMT: | | | X-- Max lifetime +7500 XMT: V IA_PD appended. XMT: Rebind on eth1, interval 990ms. RCV: Reply message on eth1 from fe80::225:baff:fe51:93d0. RCV: X-- IA_PD e2:3b:79:92 RCV: | X-- starts 1496634852 RCV: | X-- t1 - renew +7200 RCV: | X-- t2 - rebind +10800 RCV: | X-- [Options] RCV: | | X-- IAPREFIX 2001:569:xxxx:xxxx::/56 RCV: | | | X-- Preferred lifetime 14400. RCV: | | | X-- Max lifetime 86400. RCV: X-- Server ID: 00:03:00:01:00:25:ba:51:93:d0 PRC: Bound to lease 00:03:00:01:00:25:ba:51:93:d0.
Look for the line RCV: | | X-- IAPREFIX 2001:569:xxxx:xxxx::/56, this is your prefix.
After that, dhclient is supposed to configure the local host accordingly. This is where the fun begins, because dhclient, out of the box, does not support configuration based on prefix only.
Since it is over a year from your question, I don't know whether you are still interested in the answer, maybe you have figured it out in the meantime. But I am happy to share with you my solution, just let me know.
As for the O flag: you are right that it is independent from M. When the O flag is set it means that the server can provide "other" stateless information, like nameservers, which Telus does provide.
Thanks for the reply. The problem is that Telus' edge routers don't respond to RS with an RA until after the DHCP solicit message is sent. In the case of pfsense, by design, it sends the RS first and waits for an RA before sending the DHCP solicit. According to Telus, the reason for this is "security". Some other ISPs have their edge routers configured similarly, and fortunately one of the pfsense users developed a fix for this, which also works on the Telus network.