Software-defined Networking (SDN) presents the prospect of better Unmanned Aerial Vehicle (UAV) management by separating the control plane from the data plane. As the controllers in SDN are decoupled from the forwarding devices and programmable via conventional programming languages, modifying policies or troubleshooting the network is easier without shutting down the system. SDN controllers are centralized entities, and prone to single point of failure (SPOF), the entire system can collapse if the controller fails. UAVs in SDN communicate with each other using the forwarding devices. If malicious UAVs enter the system, they can inject these devices with false flow rules. Correctness of flow rules is crucial for making accurate packet forwarding decisions for controllers. To mitigate these aforementioned problems, this research proposes a controller recovery mechanism in SDN and incorporates Blockchain technology to solve the SPOF issue. In the proposed system, if a SPOF occurs, controller can fetch flow rule information stored in the Blockchain, and compare against the rules in the forwarding devices to check their authenticity before installing them in the controller. The system uses a trusted authority to register devices for participation allowance in the network, and can filter incoming packets from UAVs based on predefined filtering policies. By combining both recovery scheme and packet filtering, the system can deliver uninterrupted UA V service while preventing security threats from malicious UAVs that attempt to inject false flow rules. Ultimately, the proposed system ensures QoS by delivering security and fault tolerance.