diff --git a/subprojects/ncsid/src/ncsi_sockio.h b/subprojects/ncsid/src/ncsi_sockio.h
index b41cbc4..09c610a 100644
--- a/subprojects/ncsid/src/ncsi_sockio.h
+++ b/subprojects/ncsid/src/ncsi_sockio.h
@@ -32,8 +32,7 @@
   public:
     SockIO() = default;
 
-    explicit SockIO(int sockfd) : net::SockIO(sockfd)
-    {}
+    explicit SockIO(int sockfd) : net::SockIO(sockfd) {}
 
     // This function creates a raw socket and initializes sockfd_.
     // If the default constructor for this class was used,
diff --git a/subprojects/ncsid/src/net_config.cpp b/subprojects/ncsid/src/net_config.cpp
index 5b5ae93..e9b390b 100644
--- a/subprojects/ncsid/src/net_config.cpp
+++ b/subprojects/ncsid/src/net_config.cpp
@@ -50,9 +50,9 @@
 
 int parse_mac(const std::string& mac_addr, mac_addr_t* mac)
 {
-    int ret =
-        sscanf(mac_addr.c_str(), MAC_FORMAT, mac->octet, mac->octet + 1,
-               mac->octet + 2, mac->octet + 3, mac->octet + 4, mac->octet + 5);
+    int ret = sscanf(mac_addr.c_str(), MAC_FORMAT, mac->octet, mac->octet + 1,
+                     mac->octet + 2, mac->octet + 3, mac->octet + 4,
+                     mac->octet + 5);
 
     return ret < 6 ? -1 : 0;
 }
diff --git a/subprojects/ncsid/src/net_iface.h b/subprojects/ncsid/src/net_iface.h
index d7c2b4c..d44f23c 100644
--- a/subprojects/ncsid/src/net_iface.h
+++ b/subprojects/ncsid/src/net_iface.h
@@ -87,8 +87,7 @@
 class IFace : public IFaceBase
 {
   public:
-    explicit IFace(const std::string& name) : IFaceBase(name)
-    {}
+    explicit IFace(const std::string& name) : IFaceBase(name) {}
 
     /** @brief Bind given socket to this interface. Similar to bind
      *     syscall, except that it fills in sll_ifindex field
diff --git a/subprojects/ncsid/src/net_sockio.h b/subprojects/ncsid/src/net_sockio.h
index 551be85..9adb9a8 100644
--- a/subprojects/ncsid/src/net_sockio.h
+++ b/subprojects/ncsid/src/net_sockio.h
@@ -25,8 +25,7 @@
 {
   public:
     SockIO() = default;
-    explicit SockIO(int sockfd) : sockfd_{sockfd}
-    {}
+    explicit SockIO(int sockfd) : sockfd_{sockfd} {}
     virtual ~SockIO();
 
     int get_sockfd() const
