]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
arp-util: make arp_send_{probe,announcement}() inline
authorYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 18 Jun 2021 06:40:38 +0000 (15:40 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 30 Jun 2021 15:49:02 +0000 (00:49 +0900)
src/libsystemd-network/arp-util.c
src/libsystemd-network/arp-util.h
src/libsystemd-network/test-ipv4ll.c

index 251a7a7989e6a27f19e0126a2ceb8e8e0e7dfbbf..149479fc07edc8aa67f535b5b742e41d1cae2f6a 100644 (file)
@@ -89,7 +89,7 @@ int arp_network_bind_raw_socket(int ifindex, be32_t address, const struct ether_
         return TAKE_FD(s);
 }
 
-static int arp_send_packet(
+int arp_send_packet(
                 int fd,
                 int ifindex,
                 be32_t pa,
@@ -132,13 +132,3 @@ static int arp_send_packet(
 
         return 0;
 }
-
-int arp_send_probe(int fd, int ifindex,
-                    be32_t pa, const struct ether_addr *ha) {
-        return arp_send_packet(fd, ifindex, pa, ha, false);
-}
-
-int arp_send_announcement(int fd, int ifindex,
-                          be32_t pa, const struct ether_addr *ha) {
-        return arp_send_packet(fd, ifindex, pa, ha, true);
-}
index 2dac8cfbaa459e622de0fc59af625dd3cb345637..db4afec6fa071668e63197a1d6bdf23491b90c1e 100644 (file)
 
 int arp_network_bind_raw_socket(int index, be32_t address, const struct ether_addr *eth_mac);
 
-int arp_send_probe(int fd, int ifindex,
-                   be32_t pa, const struct ether_addr *ha);
-int arp_send_announcement(int fd, int ifindex,
-                          be32_t pa, const struct ether_addr *ha);
+int arp_send_packet(
+                int fd,
+                int ifindex,
+                be32_t pa,
+                const struct ether_addr *ha,
+                bool announce);
+static inline int arp_send_probe(
+                int fd,
+                int ifindex,
+                be32_t pa,
+                const struct ether_addr *ha) {
+        return arp_send_packet(fd, ifindex, pa, ha, false);
+}
+static inline int arp_send_announcement(
+                int fd,
+                int ifindex,
+                be32_t pa,
+                const struct ether_addr *ha) {
+        return arp_send_packet(fd, ifindex, pa, ha, true);
+}
index 768595969b7f94ad67afc4f49303d7a9189251c8..c08039f3bbcfd9789bcdf6ea50308475f2ccb749 100644 (file)
@@ -42,20 +42,13 @@ static void basic_request_handler(sd_ipv4ll *ll, int event, void *userdata) {
         }
 }
 
-static int arp_network_send_raw_socket(int fd, int ifindex,
-                                       const struct ether_arp *arp) {
-        assert_se(arp);
-        assert_se(ifindex > 0);
-        assert_se(fd >= 0);
+int arp_send_packet(
+                int fd,
+                int ifindex,
+                be32_t pa,
+                const struct ether_addr *ha,
+                bool announce) {
 
-        if (send(fd, arp, sizeof(struct ether_arp), 0) < 0)
-                return -errno;
-
-        return 0;
-}
-
-int arp_send_probe(int fd, int ifindex,
-                    be32_t pa, const struct ether_addr *ha) {
         struct ether_arp ea = {};
 
         assert_se(fd >= 0);
@@ -63,19 +56,10 @@ int arp_send_probe(int fd, int ifindex,
         assert_se(pa != 0);
         assert_se(ha);
 
-        return arp_network_send_raw_socket(fd, ifindex, &ea);
-}
-
-int arp_send_announcement(int fd, int ifindex,
-                          be32_t pa, const struct ether_addr *ha) {
-        struct ether_arp ea = {};
-
-        assert_se(fd >= 0);
-        assert_se(ifindex > 0);
-        assert_se(pa != 0);
-        assert_se(ha);
+        if (send(fd, &ea, sizeof(struct ether_arp), 0) < 0)
+                return -errno;
 
-        return arp_network_send_raw_socket(fd, ifindex, &ea);
+        return 0;
 }
 
 int arp_network_bind_raw_socket(int ifindex, be32_t address, const struct ether_addr *eth_mac) {