2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-31 14:25:41 +00:00

- The v6 BSD socket method was updated to use a single UDP BSD socket

no matter how many interfaces are involved, differentiating the
  interfaces the packets were received on by the interface index supplied
  by the OS.
- The relay agent no longer listens to the All DHCP Servers Multicast
  address.
- A bug was fixed in data_string_sprintfa() where va_start was only called
  once for two invocations of vsprintf() variants.
  [ISC-Bugs #17610b]
This commit is contained in:
David Hankins
2008-08-29 17:48:57 +00:00
parent dd484ced0d
commit ecddae64a2
5 changed files with 177 additions and 97 deletions

View File

@@ -1128,7 +1128,7 @@ struct interface_info {
unsigned remote_id_len; /* Length of Remote ID. */
char name [IFNAMSIZ]; /* Its name... */
int index; /* Its index. */
int index; /* Its if_nametoindex(). */
int rfdesc; /* Its read file descriptor. */
int wfdesc; /* Its write file descriptor, if
different. */
@@ -2140,7 +2140,7 @@ void get_hw_addr(const char *name, struct hardware *hw);
/* socket.c */
#if defined (USE_SOCKET_SEND) || defined (USE_SOCKET_RECEIVE) \
|| defined (USE_SOCKET_FALLBACK)
int if_register_socket(struct interface_info *, int, int);
int if_register_socket(struct interface_info *, int, int *);
#endif
#if defined (USE_SOCKET_FALLBACK) && !defined (USE_SOCKET_SEND)
@@ -2189,7 +2189,8 @@ void maybe_setup_fallback PROTO ((void));
void if_register6(struct interface_info *info, int do_multicast);
ssize_t receive_packet6(struct interface_info *interface,
unsigned char *buf, size_t len,
struct sockaddr_in6 *from, struct in6_addr *to_addr);
struct sockaddr_in6 *from, struct in6_addr *to_addr,
unsigned int *if_index);
void if_deregister6(struct interface_info *info);