diff --git a/core/core_server.go b/core/core_server.go
index 39f4ca7..9e609c5 100644
--- a/core/core_server.go
+++ b/core/core_server.go
@@ -198,6 +198,31 @@
 				errchan <- err
 				return
 			}
+
+			if s.Mode == BOTH {
+				go func() {
+					defer func() {
+						log.Println("exeDHCPTest Done")
+					}()
+					info, err := s.identifyNniIoinfo("outside")
+					setup.ActivateDHCPServer(info.name, s.DhcpServerIP)
+
+					infos, err := s.getUniIoinfos("outside")
+					if err != nil {
+						errchan <- err
+						return
+					}
+					univeths := []string{}
+					for _, info := range infos {
+						univeths = append(univeths, info.name)
+					}
+					err = s.exeDHCPTest(univeths)
+					if err != nil {
+						errchan <- err
+						return
+					}
+				}()
+			}
 		}()
 		wg.Wait()
 		tearDown(vethenv) // Grace teardown
@@ -315,6 +340,25 @@
 	return nil
 }
 
+func (s *Server) exeDHCPTest(vethenv []string) error {
+	log.Println("exeDHCPTest Start")
+	for i := 0; i < s.DhcpWait; i++ {
+		select {
+		case <-s.Endchan:
+			log.Println("exeDHCPTest thread receives close !")
+			return nil
+		default:
+			log.Println("exeDHCPTest is now sleeping....")
+			time.Sleep(time.Second)
+		}
+	}
+	err := setup.ActivateDHCPClients(vethenv)
+	if err != nil {
+		return err
+	}
+	return nil
+}
+
 func (s *Server) onuPacketOut(intfid uint32, onuid uint32, rawpkt gopacket.Packet) error {
 	layerEth := rawpkt.Layer(layers.LayerTypeEthernet)
 	if layerEth != nil {
diff --git a/core/io_worker.go b/core/io_worker.go
index a535869..d512b01 100644
--- a/core/io_worker.go
+++ b/core/io_worker.go
@@ -73,8 +73,8 @@
 			return retpkt, vid, nil
 		}
 	}
-	//return pkt, 1, nil
-	return nil, 0, errors.New("failed to pop vlan")
+	return pkt, 0, nil
+	//return nil, 0, errors.New("failed to pop vlan")
 }
 
 func PushVLAN(pkt gopacket.Packet, vid uint16) (gopacket.Packet, error) {
