Next version of DHCP prefix delegation compiler
authorTomas Mudrunka <tomas@mudrunka.cz>
Sat, 2 Nov 2013 13:44:21 +0000 (14:44 +0100)
committerTomas Mudrunka <tomas@mudrunka.cz>
Sat, 2 Nov 2013 13:44:21 +0000 (14:44 +0100)
bash/dhcp-option.sh

index c9c5a76ee2d1bf4f8b11565d8d548e270dc42ae7..0a1ec6c8a3bc76441fdd50205189c752c777979b 100755 (executable)
@@ -30,13 +30,38 @@ dhcp_option() {
        printf "$option_data" | xxd -ps -c 256 | escape
 }
 
+pd_prefix() {
+       #Generate prefix sub-option to be included in PD option of DHCPv6
+
+       option_id=26
+       lifetime_preferred='\x00\x00\x01\x2C'
+       lifetime_valid='\x00\x00\x01\x2C'
+
+       prefix_length='64'
+       #prefix = 16 octets:
+       prefix='\x20\x01\x06\x7c\x21\x90\x1a\x01''\x00\x00\x00\x00\x00\x00\x00\x00'
+
+       prefix_length_hex=$(dec_to_hex $prefix_length)
+
+       #echo $prefix_length_hex
+       dhcp_option $option_id "$lifetime_preferred$lifetime_valid$prefix_length_hex$prefix"
+}
+
 pd() {
-       option_id=25
+       #Generate data of PF option of DHCPv6
+
        iaid='\x00\x00\x00\x00'
        t1='\x00\x00\x01\x2C'
        t2='\x00\x00\x01\x2C'
-       ia_pd_opts=''
-       dhcp_option $option_id "$iaid$t1$t2$id_pd_opts"
+       ia_pd_opts="$(pd_prefix)"
+       echo -n "$iaid$t1$t2$ia_pd_opts"
+}
+
+pd_option() {
+       #Generate PD option of DHCPv6 (including header)
+
+       option_id=25
+       dhcp_option $option_id "$(pd)"
 }
 
 pd | dnsmasq
This page took 0.202919 seconds and 4 git commands to generate.