VOL-1119 BBSim - DHCP emulation
Change-Id: Iaa1a046715c7de99297246b4842784ef16c57acb
diff --git a/setup/setup_env.go b/setup/setup_env.go
index a4210f5..c391875 100644
--- a/setup/setup_env.go
+++ b/setup/setup_env.go
@@ -37,6 +37,15 @@
return nil
}
+func ActivateDHCPClients(vethnames []string) error {
+ for _, vethname := range vethnames {
+ if err := activateDHCPClient(vethname); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
func KillAllWPASups() error {
err := exec.Command("pkill", "wpa_supplicant").Run()
if err != nil {
@@ -107,4 +116,33 @@
}
log.Printf("activateWPASupplicant() for :%s\n", vethname)
return
-}
\ No newline at end of file
+}
+
+func activateDHCPClient(vethname string) (err error) {
+ cmd := "/usr/local/bin/dhclient"
+ err = exec.Command(cmd, vethname).Start()
+ if err != nil {
+ log.Printf("[ERROR] Faile to activateWPASupplicant() for :%s %v\n", vethname, err)
+ return
+ }
+ log.Printf("activateDHCPClient()\n", vethname)
+ return
+}
+
+func ActivateDHCPServer(veth string, serverip string) {
+ cmd := "/sbin/ifconfig"
+ err := exec.Command(cmd, veth, serverip, "up").Run()
+ if err != nil {
+ log.Printf("[ERROR] Fail to up %s()\n", veth, err)
+ return
+ }
+ cmd = "/usr/local/bin/dhcpd"
+ conf := "/etc/dhcp/dhcpd.conf"
+ err = exec.Command(cmd, "-cf", conf, veth).Run()
+ if err != nil {
+ log.Printf("[ERROR] Fail to activateDHCP Server ()\n", err)
+ return
+ }
+ log.Printf("Activate DHCP Server()\n")
+ return
+}