aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2020-02-16 22:02:25 +0000
committerMichael Brown <mcb30@ipxe.org>2020-02-16 22:02:25 +0000
commit0a74321915f6eca36ada1e5566b9c7d59ff93746 (patch)
treee47ad09246832d7727bbfccf866266fa58841987
parentc5306bcfa5ca477a88c921d03c2301f7393ba480 (diff)
downloadipxe-0a74321915f6eca36ada1e5566b9c7d59ff93746.zip
ipxe-0a74321915f6eca36ada1e5566b9c7d59ff93746.tar.gz
ipxe-0a74321915f6eca36ada1e5566b9c7d59ff93746.tar.bz2
[slam] Allow for the possibility of IPv6 multicast addresses
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/net/udp/slam.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/net/udp/slam.c b/src/net/udp/slam.c
index d9e91dd..47f6008 100644
--- a/src/net/udp/slam.c
+++ b/src/net/udp/slam.c
@@ -655,7 +655,7 @@ static struct interface_descriptor slam_xfer_desc =
*/
static int slam_parse_multicast_address ( struct slam_request *slam,
const char *path,
- struct sockaddr_in *address ) {
+ struct sockaddr_tcpip *address ) {
char *path_dup;
char *sep;
char *end;
@@ -673,7 +673,7 @@ static int slam_parse_multicast_address ( struct slam_request *slam,
sep = strchr ( path_dup, ':' );
if ( sep ) {
*(sep++) = '\0';
- address->sin_port = htons ( strtoul ( sep, &end, 0 ) );
+ address->st_port = htons ( strtoul ( sep, &end, 0 ) );
if ( *end != '\0' ) {
DBGC ( slam, "SLAM %p invalid multicast port "
"\"%s\"\n", slam, sep );
@@ -683,7 +683,7 @@ static int slam_parse_multicast_address ( struct slam_request *slam,
}
/* Parse address */
- if ( inet_aton ( path_dup, &address->sin_addr ) == 0 ) {
+ if ( sock_aton ( path_dup, ( ( struct sockaddr * ) address ) ) == 0 ) {
DBGC ( slam, "SLAM %p invalid multicast address \"%s\"\n",
slam, path_dup );
rc = -EINVAL;
@@ -715,7 +715,7 @@ static int slam_open ( struct interface *xfer, struct uri *uri ) {
};
struct slam_request *slam;
struct sockaddr_tcpip server;
- struct sockaddr_in multicast;
+ struct sockaddr_tcpip multicast;
int rc;
/* Sanity checks */