Abstract Software Defined Network (SDN) is a new network architecture that controls the network through a logically centralized controller. The controller computes and installs the flow rules (i.e., entries) in the flow table at switches. When a switch receives the data packet and does not have the flow rule in its flow table, the switch contacts controller. The best path is computed by using topology and network policies. Then controller installs flow rules at switches along the path. Subsequently, the packet is forwarded to the switches accordingly. Due to the asynchronous nature of SDN, the packet may reach an intermediate switch before the corresponding flow rules. In this case, the packet is dropped by the switch. To address this problem, we propose a new technique that computes delay of both, the flow rules installation and packet arrival at a switch along the path. In case the packet arrival delay at the switch S1 is less than the delay of corresponding flow rule installation at S1, then the packet is delayed for a minimum duration at the predecessor switch of S1 in such a way that the corresponding flow rule is installed before the packet arrival. Thus, the proposed mechanism ensures flow rule installation before the corresponding packet reaches switches and subsequently reduces packet loss. To compute the delay between any two switches, and a switch and controller, our proposed technique exploits the keep-alive messages exchanged between switch and controller in order to reduce the redundant traffic in the network. We evaluated our proposed technique in terms of packet delivery ratio and average packet end-to-end delay in Mininet emulator. Our proposed technique improves the packet delivery ratio up to 36% and average packet end-to-end delay is reduced to 74% in case of a varying number of flows as compared to an existing mechanism. Moreover, we testify our proposed technique by running the real network traces.