test_egress_up
        test_remote_ip
        test_tun_del
+       test_route_del
 "
 
 NUM_NETIFS=6
        log_test "$what: tunnel deleted ($tcflags)"
 }
 
+test_span_gre_route_del()
+{
+       local tundev=$1; shift
+       local edev=$1; shift
+       local route=$1; shift
+       local what=$1; shift
+
+       RET=0
+
+       mirror_install $swp1 ingress $tundev "matchall $tcflags"
+       quick_test_span_gre_dir $tundev ingress
+
+       ip route del $route dev $edev
+       fail_test_span_gre_dir $tundev ingress
+
+       ip route add $route dev $edev
+       quick_test_span_gre_dir $tundev ingress
+
+       mirror_uninstall $swp1 ingress
+
+       log_test "$what: underlay route removal ($tcflags)"
+}
+
 test_ttl()
 {
        test_span_gre_ttl gt4 gretap ip "mirror to gretap"
                              2001:db8:2::1 2001:db8:2::2 "mirror to ip6gretap"
 }
 
+test_route_del()
+{
+       test_span_gre_route_del gt4 $swp3 192.0.2.128/28 "mirror to gretap"
+       test_span_gre_route_del gt6 $swp3 2001:db8:2::/64 "mirror to ip6gretap"
+}
+
 test_all()
 {
        slow_path_trap_install $swp1 ingress