]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[xfer] Remove address family from definition of a socket opener
authorMichael Brown <mcb30@ipxe.org>
Wed, 15 Jul 2020 17:46:58 +0000 (18:46 +0100)
committerMichael Brown <mcb30@ipxe.org>
Wed, 15 Jul 2020 17:46:58 +0000 (18:46 +0100)
All implemented socket openers provide definitions for both IPv4 and
IPv6 using exactly the same opener method.  Simplify the logic by
omitting the address family from the definition.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/core/open.c
src/include/ipxe/open.h
src/net/ping.c
src/net/tcp.c
src/net/udp.c

index 9d665ffdac7dbe1814f852d29ab49e4ec1b4145c..c27d8a021076128541e6db78ea5affda9230f9b6 100644 (file)
@@ -147,10 +147,8 @@ int xfer_open_socket ( struct interface *intf, int semantics,
               socket_family_name ( peer->sa_family ) );
 
        for_each_table_entry ( opener, SOCKET_OPENERS ) {
-               if ( ( opener->semantics == semantics ) &&
-                    ( opener->family == peer->sa_family ) ) {
+               if ( opener->semantics == semantics )
                        return opener->open ( intf, peer, local );
-               }
        }
 
        DBGC ( INTF_COL ( intf ), "INTF " INTF_FMT " attempted to open "
index 43d4cdc6688d3abd8f212888a3760f6ff4ebc64d..64e12d1776938d88be7ea9b41ff7ebd76875e030 100644 (file)
@@ -70,8 +70,6 @@ struct uri_opener {
 struct socket_opener {
        /** Communication semantics (e.g. SOCK_STREAM) */
        int semantics;
-       /** Address family (e.g. AF_INET) */
-       int family;
        /** Open socket
         *
         * @v intf              Object interface
index 3f4fa5c11527d958ba0af17e5b6d532f4a870af2..f0729e15971673854b9d1bb74e9569996cacb472 100644 (file)
@@ -259,17 +259,9 @@ static int ping_open ( struct interface *xfer, struct sockaddr *peer,
        return rc;
 }
 
-/** Ping IPv4 socket opener */
-struct socket_opener ping_ipv4_socket_opener __socket_opener = {
+/** Ping socket opener */
+struct socket_opener ping_socket_opener __socket_opener = {
        .semantics      = PING_SOCK_ECHO,
-       .family         = AF_INET,
-       .open           = ping_open,
-};
-
-/** Ping IPv6 socket opener */
-struct socket_opener ping_ipv6_socket_opener __socket_opener = {
-       .semantics      = PING_SOCK_ECHO,
-       .family         = AF_INET6,
        .open           = ping_open,
 };
 
index 6bba4428273d8ca413aa6777c6f01359670fe901..2a98221f673682d36bded752decf90f6f1ba1408 100644 (file)
@@ -1743,17 +1743,9 @@ static struct interface_descriptor tcp_xfer_desc =
  ***************************************************************************
  */
 
-/** TCP IPv4 socket opener */
-struct socket_opener tcp_ipv4_socket_opener __socket_opener = {
+/** TCP socket opener */
+struct socket_opener tcp_socket_opener __socket_opener = {
        .semantics      = TCP_SOCK_STREAM,
-       .family         = AF_INET,
-       .open           = tcp_open,
-};
-
-/** TCP IPv6 socket opener */
-struct socket_opener tcp_ipv6_socket_opener __socket_opener = {
-       .semantics      = TCP_SOCK_STREAM,
-       .family         = AF_INET6,
        .open           = tcp_open,
 };
 
index 1fbc12d48351edfab615ad5f905be4d9aa8c0ca3..2c0b343dcce46e0b84ee1f3a2d8615ef9d3d65cf 100644 (file)
@@ -396,17 +396,9 @@ static struct interface_descriptor udp_xfer_desc =
  ***************************************************************************
  */
 
-/** UDP IPv4 socket opener */
-struct socket_opener udp_ipv4_socket_opener __socket_opener = {
+/** UDP socket opener */
+struct socket_opener udp_socket_opener __socket_opener = {
        .semantics      = UDP_SOCK_DGRAM,
-       .family         = AF_INET,
-       .open           = udp_open,
-};
-
-/** UDP IPv6 socket opener */
-struct socket_opener udp_ipv6_socket_opener __socket_opener = {
-       .semantics      = UDP_SOCK_DGRAM,
-       .family         = AF_INET6,
        .open           = udp_open,
 };