diff options
author | DmitriyEshenko <snooppy@mail.ua> | 2019-09-24 16:48:42 +0000 |
---|---|---|
committer | John Estabrook <jestabro@sentrium.io> | 2019-11-19 10:21:50 -0600 |
commit | 071fc0309ae5143eae66cafdf972ee418ee8acc8 (patch) | |
tree | 6c956b5da53866643ca6446b1fcf50a354640e77 | |
parent | f2013266f617b9ef7236f80bd134112973167d06 (diff) | |
download | vyos-1x-071fc0309ae5143eae66cafdf972ee418ee8acc8.tar.gz vyos-1x-071fc0309ae5143eae66cafdf972ee418ee8acc8.zip |
[dhcp hostfile-update] T1678 migrate to vyos-hostsd-client
(cherry picked from commit a1ed1bf1db1eb23455a3555a6fc0842104efdeb6)
-rwxr-xr-x | src/system/on-dhcp-event.sh | 42 |
1 files changed, 5 insertions, 37 deletions
diff --git a/src/system/on-dhcp-event.sh b/src/system/on-dhcp-event.sh index 02bbd4c3c..70a563d4c 100755 --- a/src/system/on-dhcp-event.sh +++ b/src/system/on-dhcp-event.sh @@ -37,50 +37,18 @@ fi case "$action" in commit) # add mapping for new lease - echo "- new lease event, setting static mapping for host "\ - "$client_fqdn_name (MAC=$client_mac, IP=$client_ip)" - # - # grep fails miserably with \t in the search expression. - # In the following line one <Ctrl-V> <TAB> is used after $client_search_expr - # followed by a single space - grep -q " $client_search_expr #on-dhcp-event " $file - if [ $? == 0 ]; then - echo pattern found, removing - wc1=`cat $file | wc -l` - sudo sed -i "/ $client_search_expr\t #on-dhcp-event /d" $file - wc2=`cat $file | wc -l` - if [ "$wc1" -eq "$wc2" ]; then - echo No change - fi - else - echo pattern NOT found - fi - - # check if hostname already exists (e.g. a static host mapping) - # if so don't overwrite - grep -q " $client_search_expr " $file + grep -q " $client_search_expr " $file if [ $? == 0 ]; then echo host $client_fqdn_name already exists, exiting exit 1 fi - - line="$client_ip\t $client_fqdn_name\t #on-dhcp-event $client_mac" - sudo sh -c "echo -e '$line' >> $file" - ((changes++)) - echo Entry was added + # add host + /usr/bin/vyos-hostsd-client --add-hosts --tag "DHCP-$client_ip" --host "$client_fqdn_name,$client_ip" ;; release) # delete mapping for released address - echo "- lease release event, deleting static mapping for host $client_fqdn_name" - wc1=`cat $file | wc -l` - sudo sed -i "/ $client_search_expr\t #on-dhcp-event /d" $file - wc2=`cat $file | wc -l` - if [ "$wc1" -eq "$wc2" ]; then - echo No change - else - echo Entry was removed - ((changes++)) - fi + # delete host + /usr/bin/vyos-hostsd-client --delete-hosts --tag "DHCP-$client_ip" ;; *) |