diff --git a/meson.build b/meson.build
index 4006075..1ce272b 100644
--- a/meson.build
+++ b/meson.build
@@ -1,12 +1,10 @@
 project(
-  'phosphor-networkd',
-  'cpp',
-  version: '0.1',
-  meson_version: '>=1.1.1',
-  default_options: [
-    'warning_level=3',
-    'cpp_std=c++23',
-  ])
+    'phosphor-networkd',
+    'cpp',
+    version: '0.1',
+    meson_version: '>=1.1.1',
+    default_options: ['warning_level=3', 'cpp_std=c++23'],
+)
 
 default_busname = 'xyz.openbmc_project.Network'
 
@@ -14,11 +12,10 @@
 conf_data.set_quoted('DEFAULT_BUSNAME', default_busname)
 conf_data.set('HAVE_UBOOT_ENV', get_option('uboot-env'))
 conf_data.set(
-  'LINK_LOCAL_AUTOCONFIGURATION',
-  get_option('default-link-local-autoconf'))
-conf_data.set(
-  'ENABLE_IPV6_ACCEPT_RA',
-  get_option('default-ipv6-accept-ra'))
+    'LINK_LOCAL_AUTOCONFIGURATION',
+    get_option('default-link-local-autoconf'),
+)
+conf_data.set('ENABLE_IPV6_ACCEPT_RA', get_option('default-ipv6-accept-ra'))
 conf_data.set('SYNC_MAC_FROM_INVENTORY', get_option('sync-mac'))
 conf_data.set('PERSIST_MAC', get_option('persist-mac'))
 conf_data.set10('FORCE_SYNC_MAC_FROM_INVENTORY', get_option('force-sync-mac'))
@@ -28,10 +25,12 @@
 sdbuspp_gen_meson_prog = find_program('sdbus++-gen-meson', native: true)
 sdbusplusplus_depfiles = files()
 if sdbusplus_dep.type_name() == 'internal'
-  sdbusplusplus_depfiles = subproject('sdbusplus').get_variable('sdbusplusplus_depfiles')
+    sdbusplusplus_depfiles = subproject('sdbusplus').get_variable(
+        'sdbusplusplus_depfiles',
+    )
 endif
 
-yaml_selected_subdirs = [ 'xyz' ]
+yaml_selected_subdirs = ['xyz']
 should_generate_cpp = true
 should_generate_markdown = false
 should_generate_registry = false
@@ -40,17 +39,15 @@
 
 phosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces')
 
-networkd_dbus_deps = [
-  phosphor_dbus_interfaces_dep,
-  sdbusplus_dep,
-]
+networkd_dbus_deps = [phosphor_dbus_interfaces_dep, sdbusplus_dep]
 
 networkd_dbus_lib = static_library(
-  'networkd_dbus',
-  generated_sources,
-  implicit_include_directories: false,
-  include_directories: networkd_dbus_includes,
-  dependencies: networkd_dbus_deps)
+    'networkd_dbus',
+    generated_sources,
+    implicit_include_directories: false,
+    include_directories: networkd_dbus_includes,
+    dependencies: networkd_dbus_deps,
+)
 
 generated_files_headers = []
 foreach s : generated_sources
@@ -63,39 +60,41 @@
 endforeach
 
 networkd_dbus_dep = declare_dependency(
-  sources: generated_files_headers,
-  include_directories: networkd_dbus_includes,
-  link_with: networkd_dbus_lib,
-  dependencies: networkd_dbus_deps)
+    sources: generated_files_headers,
+    include_directories: networkd_dbus_includes,
+    link_with: networkd_dbus_lib,
+    dependencies: networkd_dbus_deps,
+)
 
 subdir('src')
 
 configure_file(
-  input: '60-phosphor-networkd-default.network.in',
-  output: '60-phosphor-networkd-default.network',
-  configuration: conf_data,
-  install: true,
-  install_dir: dependency('systemd').get_variable(
-    'systemdutildir') / 'network')
+    input: '60-phosphor-networkd-default.network.in',
+    output: '60-phosphor-networkd-default.network',
+    configuration: conf_data,
+    install: true,
+    install_dir: dependency('systemd').get_variable('systemdutildir') / 'network',
+)
 
 configure_file(
-  input: 'xyz.openbmc_project.Network.service.in',
-  output: 'xyz.openbmc_project.Network.service',
-  configuration: {
-    'SYSTEMD_TARGET': 'multi-user.target',
-    'DEFAULT_BUSNAME': default_busname,
-  },
-  install: true,
-  install_dir: dependency('systemd').get_variable(
-    'systemdsystemunitdir'))
+    input: 'xyz.openbmc_project.Network.service.in',
+    output: 'xyz.openbmc_project.Network.service',
+    configuration: {
+        'SYSTEMD_TARGET': 'multi-user.target',
+        'DEFAULT_BUSNAME': default_busname,
+    },
+    install: true,
+    install_dir: dependency('systemd').get_variable('systemdsystemunitdir'),
+)
 
 configure_file(
-  input: 'xyz.openbmc_project.Network.conf.in',
-  output: 'xyz.openbmc_project.Network.conf',
-  configuration: {'DEFAULT_BUSNAME': default_busname},
-  install: true,
-  install_dir: get_option('datadir') / 'dbus-1' / 'system.d')
+    input: 'xyz.openbmc_project.Network.conf.in',
+    output: 'xyz.openbmc_project.Network.conf',
+    configuration: {'DEFAULT_BUSNAME': default_busname},
+    install: true,
+    install_dir: get_option('datadir') / 'dbus-1' / 'system.d',
+)
 
 if get_option('tests').allowed()
-  subdir('test')
+    subdir('test')
 endif
diff --git a/meson.options b/meson.options
new file mode 100644
index 0000000..b7f2531
--- /dev/null
+++ b/meson.options
@@ -0,0 +1,38 @@
+option('tests', type: 'feature', description: 'Build tests')
+
+option(
+    'uboot-env',
+    type: 'boolean',
+    description: 'Update u-boot env for MAC changes',
+)
+option(
+    'default-link-local-autoconf',
+    type: 'boolean',
+    description: 'Enable link local autoconfiguration by default',
+)
+option(
+    'default-ipv6-accept-ra',
+    type: 'boolean',
+    description: 'Accept router advertisements by default',
+)
+option(
+    'sync-mac',
+    type: 'boolean',
+    description: 'Sync mac address with phosphor-inventory-manager',
+)
+option(
+    'hyp-nw-config',
+    type: 'boolean',
+    description: 'ibm-oem: Enable the hypervisor network manager',
+)
+option(
+    'persist-mac',
+    type: 'boolean',
+    description: 'Permit the MAC address to be written to the systemd.network config',
+)
+option(
+    'force-sync-mac',
+    type: 'boolean',
+    description: 'Force sync mac address no matter is first boot or not',
+)
+
diff --git a/meson_options.txt b/meson_options.txt
deleted file mode 100644
index 56234e6..0000000
--- a/meson_options.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-option('tests', type: 'feature', description: 'Build tests')
-
-option('uboot-env', type: 'boolean',
-       description: 'Update u-boot env for MAC changes')
-option('default-link-local-autoconf', type: 'boolean',
-       description: 'Enable link local autoconfiguration by default')
-option('default-ipv6-accept-ra', type: 'boolean',
-       description: 'Accept router advertisements by default')
-option('sync-mac', type: 'boolean',
-       description: 'Sync mac address with phosphor-inventory-manager')
-option('hyp-nw-config', type : 'boolean',
-       description : 'ibm-oem: Enable the hypervisor network manager')
-option('persist-mac', type: 'boolean',
-       description: 'Permit the MAC address to be written to the systemd.network config')
-option('force-sync-mac', type: 'boolean',
-       description: 'Force sync mac address no matter is first boot or not')
-
diff --git a/src/ibm/hypervisor-network-mgr-src/meson.build b/src/ibm/hypervisor-network-mgr-src/meson.build
index cccd884..22b82c6 100644
--- a/src/ibm/hypervisor-network-mgr-src/meson.build
+++ b/src/ibm/hypervisor-network-mgr-src/meson.build
@@ -1,35 +1,34 @@
 hyp_default_busname = 'xyz.openbmc_project.Network.Hypervisor'
 
 configure_file(
-  input: 'xyz.openbmc_project.Network.Hypervisor.service.in',
-  output: 'xyz.openbmc_project.Network.Hypervisor.service',
-  configuration: {
-    'SYSTEMD_TARGET': 'multi-user.target',
-    'HYP_DEFAULT_NETWORK_BUSNAME': hyp_default_busname,
-  },
-  install: true,
-  install_dir: dependency('systemd').get_variable(
-    'systemdsystemunitdir'))
+    input: 'xyz.openbmc_project.Network.Hypervisor.service.in',
+    output: 'xyz.openbmc_project.Network.Hypervisor.service',
+    configuration: {
+        'SYSTEMD_TARGET': 'multi-user.target',
+        'HYP_DEFAULT_NETWORK_BUSNAME': hyp_default_busname,
+    },
+    install: true,
+    install_dir: dependency('systemd').get_variable('systemdsystemunitdir'),
+)
 
 hyp_src_includes = include_directories('.')
 
 hyp_networkd_lib = static_library(
-  'hyp-networkd',
-  'hyp_network_manager.cpp',
-  'hyp_sys_config.cpp',
-  'hyp_ethernet_interface.cpp',
-  implicit_include_directories: false,
-  include_directories: [src_includes, hyp_src_includes],
-  dependencies: networkd_deps)
+    'hyp-networkd',
+    'hyp_network_manager.cpp',
+    'hyp_sys_config.cpp',
+    'hyp_ethernet_interface.cpp',
+    implicit_include_directories: false,
+    include_directories: [src_includes, hyp_src_includes],
+    dependencies: networkd_deps,
+)
 
 executable(
-  'hyp-network-manager',
-  'hyp_network_manager_main.cpp',
-  link_with: hyp_networkd_lib,
-  implicit_include_directories: false,
-  dependencies: [
-    networkd_dep,
-    dependency('sdeventplus'),
-  ],
-  install: true,
-  install_dir: get_option('bindir'))
+    'hyp-network-manager',
+    'hyp_network_manager_main.cpp',
+    link_with: hyp_networkd_lib,
+    implicit_include_directories: false,
+    dependencies: [networkd_dep, dependency('sdeventplus')],
+    install: true,
+    install_dir: get_option('bindir'),
+)
diff --git a/src/meson.build b/src/meson.build
index 01eb1eb..7712b91 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -3,99 +3,95 @@
 stdplus_dep = dependency('stdplus')
 
 executable(
-  'ncsi-netlink',
-  'argument.cpp',
-  'ncsi_netlink_main.cpp',
-  'ncsi_util.cpp',
-  implicit_include_directories: false,
-  include_directories: src_includes,
-  dependencies: [
-    dependency('libnl-3.0'),
-    dependency('libnl-genl-3.0'),
-    dependency('phosphor-logging'),
-    stdplus_dep,
-  ],
-  install: true,
-  install_dir: get_option('bindir'))
+    'ncsi-netlink',
+    'argument.cpp',
+    'ncsi_netlink_main.cpp',
+    'ncsi_util.cpp',
+    implicit_include_directories: false,
+    include_directories: src_includes,
+    dependencies: [
+        dependency('libnl-3.0'),
+        dependency('libnl-genl-3.0'),
+        dependency('phosphor-logging'),
+        stdplus_dep,
+    ],
+    install: true,
+    install_dir: get_option('bindir'),
+)
 
 executable(
-  'ncsi-cmd',
-  'ncsi_cmd.cpp',
-  'ncsi_util.cpp',
-  implicit_include_directories: false,
-  include_directories: src_includes,
-  dependencies: [
-    dependency('libnl-3.0'),
-    dependency('libnl-genl-3.0'),
-    dependency('phosphor-logging'),
-    stdplus_dep,
-  ],
-  install: true,
-  install_dir: get_option('bindir'))
+    'ncsi-cmd',
+    'ncsi_cmd.cpp',
+    'ncsi_util.cpp',
+    implicit_include_directories: false,
+    include_directories: src_includes,
+    dependencies: [
+        dependency('libnl-3.0'),
+        dependency('libnl-genl-3.0'),
+        dependency('phosphor-logging'),
+        stdplus_dep,
+    ],
+    install: true,
+    install_dir: get_option('bindir'),
+)
 
 main_deps = []
 main_srcs = []
 if get_option('sync-mac')
-  main_srcs += [
-    'inventory_mac.cpp',
-  ]
-  main_deps += [
-    dependency('nlohmann_json', include_type: 'system')
-  ]
+    main_srcs += ['inventory_mac.cpp']
+    main_deps += [dependency('nlohmann_json', include_type: 'system')]
 endif
 
 networkd_deps = [
-  phosphor_dbus_interfaces_dep,
-  dependency('phosphor-logging'),
-  networkd_dbus_dep,
-  sdbusplus_dep,
-  stdplus_dep,
+    phosphor_dbus_interfaces_dep,
+    dependency('phosphor-logging'),
+    networkd_dbus_dep,
+    sdbusplus_dep,
+    stdplus_dep,
 ]
 
-conf_header = configure_file(
-  output: 'config.h',
-  configuration: conf_data)
+conf_header = configure_file(output: 'config.h', configuration: conf_data)
 
 networkd_lib = static_library(
-  'networkd',
-  conf_header,
-  'ethernet_interface.cpp',
-  'neighbor.cpp',
-  'ipaddress.cpp',
-  'static_gateway.cpp',
-  'netlink.cpp',
-  'network_manager.cpp',
-  'rtnetlink.cpp',
-  'system_configuration.cpp',
-  'system_queries.cpp',
-  'types.cpp',
-  'util.cpp',
-  'config_parser.cpp',
-  'dhcp_configuration.cpp',
-  'dns_updater.cpp',
-  implicit_include_directories: false,
-  include_directories: src_includes,
-  dependencies: networkd_deps)
+    'networkd',
+    conf_header,
+    'ethernet_interface.cpp',
+    'neighbor.cpp',
+    'ipaddress.cpp',
+    'static_gateway.cpp',
+    'netlink.cpp',
+    'network_manager.cpp',
+    'rtnetlink.cpp',
+    'system_configuration.cpp',
+    'system_queries.cpp',
+    'types.cpp',
+    'util.cpp',
+    'config_parser.cpp',
+    'dhcp_configuration.cpp',
+    'dns_updater.cpp',
+    implicit_include_directories: false,
+    include_directories: src_includes,
+    dependencies: networkd_deps,
+)
 
 networkd_dep = declare_dependency(
-  sources: conf_header,
-  dependencies: networkd_deps,
-  include_directories: src_includes,
-  link_with: networkd_lib)
+    sources: conf_header,
+    dependencies: networkd_deps,
+    include_directories: src_includes,
+    link_with: networkd_lib,
+)
 
 executable(
-  'phosphor-network-manager',
-  'network_manager_main.cpp',
-  'rtnetlink_server.cpp',
-  main_srcs,
-  implicit_include_directories: false,
-  dependencies: main_deps + [
-    networkd_dep,
-    dependency('sdeventplus'),
-  ],
-  install: true,
-  install_dir: get_option('bindir'))
+    'phosphor-network-manager',
+    'network_manager_main.cpp',
+    'rtnetlink_server.cpp',
+    main_srcs,
+    implicit_include_directories: false,
+    dependencies: main_deps + [networkd_dep, dependency('sdeventplus')],
+    install: true,
+    install_dir: get_option('bindir'),
+)
 
 if (get_option('hyp-nw-config') == true)
-  subdir('ibm')
+    subdir('ibm')
 endif
diff --git a/test/ibm/hypervisor-network-mgr-test/meson.build b/test/ibm/hypervisor-network-mgr-test/meson.build
index 65bd9f1..e18cd0f 100644
--- a/test/ibm/hypervisor-network-mgr-test/meson.build
+++ b/test/ibm/hypervisor-network-mgr-test/meson.build
@@ -1,18 +1,17 @@
 inc_dir = include_directories('../../../src/ibm/hypervisor-network-mgr-src/')
 
-hyp_tests = [
-  'hyp_network_manager',
-  'hyp_sys_config',
-]
+hyp_tests = ['hyp_network_manager', 'hyp_sys_config']
 
 foreach t : hyp_tests
-  test(
-    t,
-    executable(
-      t.underscorify(),
-      'test_' + t + '.cpp',
-      implicit_include_directories: false,
-      include_directories: inc_dir,
-      link_with: hyp_networkd_lib,
-      dependencies: test_dep))
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            'test_' + t + '.cpp',
+            implicit_include_directories: false,
+            include_directories: inc_dir,
+            link_with: hyp_networkd_lib,
+            dependencies: test_dep,
+        ),
+    )
 endforeach
diff --git a/test/meson.build b/test/meson.build
index 68eac09..25b3cfa 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -1,80 +1,88 @@
 gtest = dependency('gtest', main: true, disabler: true, required: false)
 gmock = dependency('gmock', disabler: true, required: false)
 if not gtest.found() or not gmock.found()
-  gtest_opts = import('cmake').subproject_options()
-  gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'})
-  gtest_proj = import('cmake').subproject(
-    'googletest',
-    options: gtest_opts,
-    required: false)
-  if gtest_proj.found()
-    gtest = declare_dependency(
-      dependencies: [
-        dependency('threads'),
-        gtest_proj.dependency('gtest'),
-        gtest_proj.dependency('gtest_main'),
-      ])
-    gmock = gtest_proj.dependency('gmock')
-  else
-    assert(not get_option('tests').enabled(), 'Googletest is required')
-  endif
+    gtest_opts = import('cmake').subproject_options()
+    gtest_opts.add_cmake_defines({'CMAKE_CXX_FLAGS': '-Wno-pedantic'})
+    gtest_proj = import('cmake').subproject(
+        'googletest',
+        options: gtest_opts,
+        required: false,
+    )
+    if gtest_proj.found()
+        gtest = declare_dependency(
+            dependencies: [
+                dependency('threads'),
+                gtest_proj.dependency('gtest'),
+                gtest_proj.dependency('gtest_main'),
+            ],
+        )
+        gmock = gtest_proj.dependency('gmock')
+    else
+        assert(not get_option('tests').enabled(), 'Googletest is required')
+    endif
 endif
 
 test_headers = include_directories('.')
 
 test_deps = [
-  meson.get_compiler('cpp').find_library('dl'),
-  networkd_dep,
-  gtest,
-  gmock,
-  dependency('stdplus-gtest'),
+    meson.get_compiler('cpp').find_library('dl'),
+    networkd_dep,
+    gtest,
+    gmock,
+    dependency('stdplus-gtest'),
 ]
 
 test_lib = static_library(
-  'networkd-test',
-  'mock_syscall.cpp',
-  implicit_include_directories: false,
-  include_directories: test_headers,
-  dependencies: test_deps)
+    'networkd-test',
+    'mock_syscall.cpp',
+    implicit_include_directories: false,
+    include_directories: test_headers,
+    dependencies: test_deps,
+)
 
 test_dep = declare_dependency(
-  dependencies: test_deps,
-  include_directories: test_headers,
-  link_with: test_lib)
+    dependencies: test_deps,
+    include_directories: test_headers,
+    link_with: test_lib,
+)
 
 tests = [
-  'config_parser',
-  'ethernet_interface',
-  'netlink',
-  'network_manager',
-  'rtnetlink',
-  'types',
-  'util',
+    'config_parser',
+    'ethernet_interface',
+    'netlink',
+    'network_manager',
+    'rtnetlink',
+    'types',
+    'util',
 ]
 
 run_with_tmp = find_program('run_with_tmp', native: true)
 
 add_test_setup(
-  'networkd',
-  exe_wrapper: run_with_tmp,
-  env: {'TMPTMPL': 'phosphor-networkd-test.XXXXXXXXXX'},
-  is_default: true)
+    'networkd',
+    exe_wrapper: run_with_tmp,
+    env: {'TMPTMPL': 'phosphor-networkd-test.XXXXXXXXXX'},
+    is_default: true,
+)
 
 add_test_setup(
-  'valgrind',
-  exe_wrapper: [run_with_tmp, 'valgrind'],
-  env: {'TMPTMPL': 'phosphor-networkd-test.XXXXXXXXXX'})
+    'valgrind',
+    exe_wrapper: [run_with_tmp, 'valgrind'],
+    env: {'TMPTMPL': 'phosphor-networkd-test.XXXXXXXXXX'},
+)
 
 foreach t : tests
-  test(
-    t,
-    executable(
-      t.underscorify(),
-      'test_' + t + '.cpp',
-      implicit_include_directories: false,
-      dependencies: test_dep))
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            'test_' + t + '.cpp',
+            implicit_include_directories: false,
+            dependencies: test_dep,
+        ),
+    )
 endforeach
 
 if (get_option('hyp-nw-config') == true)
-  subdir('ibm/hypervisor-network-mgr-test')
+    subdir('ibm/hypervisor-network-mgr-test')
 endif
