diff --git a/smoketest/configs/ospf-small b/smoketest/configs/ospf-small
index b3002b1af..c55627b77 100644
--- a/smoketest/configs/ospf-small
+++ b/smoketest/configs/ospf-small
@@ -1,161 +1,192 @@
 interfaces {
     dummy dum0 {
-        address 172.18.254.201/32
+        address 172.18.254.200/32
     }
     ethernet eth0 {
         duplex auto
         smp-affinity auto
         speed auto
         vif 201 {
-            address 172.18.201.10/24
+            address 172.18.201.9/24
+            ip {
+                ospf {
+                    authentication {
+                        md5 {
+                            key-id 10 {
+                                md5-key OSPFVyOSNET
+                            }
+                        }
+                    }
+                    dead-interval 40
+                    hello-interval 10
+                    priority 1
+                    retransmit-interval 5
+                    transmit-delay 1
+                }
+            }
+            ipv6 {
+                ospfv3 {
+                    bfd
+                    cost 40
+                }
+            }
+        }
+        vif 202 {
+            address 172.18.202.9/24
+            ip {
+                ospf {
+                    authentication {
+                        md5 {
+                            key-id 10 {
+                                md5-key OSPFVyOSNET
+                            }
+                        }
+                    }
+                    dead-interval 40
+                    hello-interval 10
+                    priority 1
+                    retransmit-interval 5
+                    transmit-delay 1
+                }
+            }
+            ipv6 {
+                ospfv3 {
+                    bfd
+                    cost 40
+                }
+            }
+        }
+        vif 203 {
+            address 172.18.203.9/24
             ip {
                 ospf {
                     authentication {
                         md5 {
                             key-id 10 {
                                 md5-key OSPFVyOSNET
                             }
                         }
                     }
                     dead-interval 40
                     hello-interval 10
                     priority 1
                     retransmit-interval 5
                     transmit-delay 1
                 }
             }
             ipv6 {
                 ospfv3 {
                     bfd
                     cost 40
                 }
             }
         }
     }
     ethernet eth1 {
         duplex auto
         smp-affinity auto
         speed auto
         ipv6 {
             ospfv3 {
                 bfd
                 cost 60
                 mtu-ignore
                 network broadcast
                 priority 20
             }
         }
     }
 }
 protocols {
     ospf {
         area 0 {
             network 172.18.201.0/24
-            network 172.18.254.201/32
+            network 172.18.202.0/24
+            network 172.18.203.0/24
+            network 172.18.254.200/32
         }
         log-adjacency-changes {
         }
         parameters {
             abr-type cisco
-            router-id 172.18.254.201
+            router-id 172.18.254.200
         }
         passive-interface default
         passive-interface-exclude eth0.201
+        passive-interface-exclude eth0.202
+        passive-interface-exclude eth0.203
     }
     ospfv3 {
         area 0.0.0.0 {
-            interface eth0
+            interface eth0.201
+            interface eth0.202
+            interface eth0.203
             interface eth1
-            interface eth2
-        }
-    }
-    static {
-        route 0.0.0.0/0 {
-            next-hop 172.18.201.254 {
-                distance 10
-            }
         }
     }
 }
 service {
-    lldp {
-        interface all {
-        }
-        snmp {
-            enable
-        }
-    }
-    snmp {
-        community public {
-            authorization ro
-            network 172.16.100.0/24
-        }
-        contact "VyOS maintainers and contributors <maintainers@vyos.io>"
-        location "Jenkins"
-    }
     ssh {
         disable-host-validation
         port 22
     }
 }
 system {
     config-management {
         commit-revisions 200
     }
     console {
         device ttyS0 {
             speed 115200
         }
     }
     domain-name vyos.net
     host-name vyos
     login {
         user vyos {
             authentication {
                 encrypted-password $6$2Ta6TWHd/U$NmrX0x9kexCimeOcYK1MfhMpITF9ELxHcaBU/znBq.X2ukQOj61fVI2UYP/xBzP4QtiTcdkgs7WOQMHWsRymO/
                 plaintext-password ""
             }
             level admin
         }
     }
     name-server 172.16.254.30
     ntp {
-        server 0.pool.ntp.org {
-        }
-        server 1.pool.ntp.org {
+        server time1.vyos.net {
         }
-        server 2.pool.ntp.org {
+        server time2.vyos.net {
         }
     }
     sysctl {
         all net.ipv4.conf.eth0.tag {
             value 1
         }
         all net.ipv4.conf.eth1.tag {
             value 1
         }
         custom net.mpls.default_ttl {
             value 10
         }
         custom net.mpls.ip_ttl_propagate {
             value 0
         }
         net.ipv4.igmp_max_memberships 5
         net.ipv4.ipfrag_time 4
     }
     syslog {
         global {
             facility all {
                 level info
             }
             facility protocols {
                 level debug
             }
         }
     }
     time-zone Europe/Berlin
 }
 
 /* Warning: Do not remove the following line. */
 /* === vyatta-config-version: "broadcast-relay@1:cluster@1:config-management@1:conntrack-sync@1:conntrack@1:dhcp-relay@2:dhcp-server@5:dns-forwarding@1:firewall@5:ipsec@5:l2tp@1:mdns@1:nat@4:ntp@1:pptp@1:qos@1:quagga@6:snmp@1:ssh@1:system@9:vrrp@2:wanloadbalance@3:webgui@1:webproxy@1:webproxy@2:zone-policy@1" === */
 /* Release version: 1.2.6 */
diff --git a/src/migration-scripts/ospf/0-to-1 b/src/migration-scripts/ospf/0-to-1
index 8f02acada..a6cb9feb8 100755
--- a/src/migration-scripts/ospf/0-to-1
+++ b/src/migration-scripts/ospf/0-to-1
@@ -1,81 +1,83 @@
 #!/usr/bin/env python3
 #
-# Copyright (C) 2021 VyOS maintainers and contributors
+# Copyright (C) 2021-2024 VyOS maintainers and contributors
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License version 2 or later as
 # published by the Free Software Foundation.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # T3753: upgrade to FRR8 and move CLI options to better fit with the new FRR CLI
 
 from sys import argv
 from vyos.configtree import ConfigTree
 
 def ospf_passive_migration(config, ospf_base):
     if config.exists(ospf_base):
         if config.exists(ospf_base + ['passive-interface']):
             default = False
             for interface in config.return_values(ospf_base + ['passive-interface']):
                 if interface == 'default':
                     default = True
                     continue
                 config.set(ospf_base + ['interface', interface, 'passive'])
+                config.set_tag(ospf_base + ['interface'])
 
             config.delete(ospf_base + ['passive-interface'])
             config.set(ospf_base + ['passive-interface'], value='default')
 
         if config.exists(ospf_base + ['passive-interface-exclude']):
             for interface in config.return_values(ospf_base + ['passive-interface-exclude']):
                 config.set(ospf_base + ['interface', interface, 'passive', 'disable'])
+                config.set_tag(ospf_base + ['interface'])
             config.delete(ospf_base + ['passive-interface-exclude'])
 
 if len(argv) < 2:
     print("Must specify file name!")
     exit(1)
 
 file_name = argv[1]
 
 with open(file_name, 'r') as f:
     config_file = f.read()
 
 config = ConfigTree(config_file)
 
 ospfv3_base = ['protocols', 'ospfv3']
 if config.exists(ospfv3_base):
     area_base = ospfv3_base + ['area']
     if config.exists(area_base):
         for area in config.list_nodes(area_base):
             if not config.exists(area_base + [area, 'interface']):
                 continue
 
             for interface in config.return_values(area_base + [area, 'interface']):
                 config.set(ospfv3_base + ['interface', interface, 'area'], value=area)
                 config.set_tag(ospfv3_base + ['interface'])
 
             config.delete(area_base + [area, 'interface'])
 
 # Migrate OSPF syntax in default VRF
 ospf_base = ['protocols', 'ospf']
 ospf_passive_migration(config, ospf_base)
 
 vrf_base = ['vrf', 'name']
 if config.exists(vrf_base):
     for vrf in config.list_nodes(vrf_base):
         vrf_ospf_base = vrf_base + [vrf, 'protocols', 'ospf']
         if config.exists(vrf_ospf_base):
             ospf_passive_migration(config, vrf_ospf_base)
 
 try:
     with open(file_name, 'w') as f:
         f.write(config.to_string())
 except OSError as e:
     print(f'Failed to save the modified config: {e}')
     exit(1)