chiark / gitweb /
dhcp-network: don't pass ifindex to bind_udp_socket
authorTom Gundersen <teg@jklm.no>
Tue, 6 May 2014 19:57:09 +0000 (21:57 +0200)
committerTom Gundersen <teg@jklm.no>
Tue, 6 May 2014 19:58:08 +0000 (21:58 +0200)
UDP sockets can anyway not be bound to specific netdev's. The packages would have to be filtered
when received instead.

src/libsystemd-network/dhcp-internal.h
src/libsystemd-network/dhcp-network.c
src/libsystemd-network/sd-dhcp-client.c
src/libsystemd-network/test-dhcp-client.c

index c0cfa83471eb8f6630b72b645cf911d466b503f8..eb4a6cdce287fefda3cbe123a185669e30d49f7f 100644 (file)
@@ -30,7 +30,7 @@
 #include "dhcp-protocol.h"
 
 int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link, uint32_t xid);
-int dhcp_network_bind_udp_socket(int index, be32_t address, uint16_t port);
+int dhcp_network_bind_udp_socket(be32_t address, uint16_t port);
 int dhcp_network_send_raw_socket(int s, const union sockaddr_union *link,
                                  const void *packet, size_t len);
 int dhcp_network_send_udp_socket(int s, be32_t address, uint16_t port,
index 902c9d9be2c6bc48a11b6d6c2c4fc8f0003b9058..722f1b18b3af52705b282e340fb110d964fc6213 100644 (file)
@@ -96,7 +96,7 @@ int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link, uint32_t
         return s;
 }
 
-int dhcp_network_bind_udp_socket(int index, be32_t address, uint16_t port)
+int dhcp_network_bind_udp_socket(be32_t address, uint16_t port)
 {
         int s;
         union sockaddr_union src = {
index 2ddb9ad1dca6bcdec44981b4171b0d33f7d03c35..ab9f68d528657afd6d20fb679a526e257ad666fc 100644 (file)
@@ -770,8 +770,7 @@ static int client_timeout_t1(sd_event_source *s, uint64_t usec,
         client->state = DHCP_STATE_RENEWING;
         client->attempt = 1;
 
-        r = dhcp_network_bind_udp_socket(client->index,
-                                         client->lease->address,
+        r = dhcp_network_bind_udp_socket(client->lease->address,
                                          DHCP_PORT_CLIENT);
         if (r < 0) {
                 client_stop(client, r);
index 83dd6194076db22cea5cfca9c2074493c5e1a8b8..599bda1a5ee8f597af49c8687cace93e7ee8e025 100644 (file)
@@ -204,7 +204,7 @@ int dhcp_network_bind_raw_socket(int index, union sockaddr_union *link, uint32_t
         return test_fd[0];
 }
 
-int dhcp_network_bind_udp_socket(int index, be32_t address, uint16_t port)
+int dhcp_network_bind_udp_socket(be32_t address, uint16_t port)
 {
         return 0;
 }