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 c0cfa83..eb4a6cd 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 902c9d9..722f1b1 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 2ddb9ad..ab9f68d 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 83dd619..599bda1 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;
 }