aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2020-07-15 18:46:58 +0100
committerMichael Brown <mcb30@ipxe.org>2020-07-15 18:46:58 +0100
commita95a2eafc58b921431cbd53fc0cbff6a1a7761d1 (patch)
tree96dc1a59f580045d0d75067c0836700cc2d707ef
parent78ca890c35d6979fe62fa66e16e7501abb831034 (diff)
downloadipxe-a95a2eafc58b921431cbd53fc0cbff6a1a7761d1.zip
ipxe-a95a2eafc58b921431cbd53fc0cbff6a1a7761d1.tar.gz
ipxe-a95a2eafc58b921431cbd53fc0cbff6a1a7761d1.tar.bz2
[xfer] Remove address family from definition of a socket opener
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>
-rw-r--r--src/core/open.c4
-rw-r--r--src/include/ipxe/open.h2
-rw-r--r--src/net/ping.c12
-rw-r--r--src/net/tcp.c12
-rw-r--r--src/net/udp.c12
5 files changed, 7 insertions, 35 deletions
diff --git a/src/core/open.c b/src/core/open.c
index 9d665ff..c27d8a0 100644
--- a/src/core/open.c
+++ b/src/core/open.c
@@ -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 "
diff --git a/src/include/ipxe/open.h b/src/include/ipxe/open.h
index 43d4cdc..64e12d1 100644
--- a/src/include/ipxe/open.h
+++ b/src/include/ipxe/open.h
@@ -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
diff --git a/src/net/ping.c b/src/net/ping.c
index 3f4fa5c..f0729e1 100644
--- a/src/net/ping.c
+++ b/src/net/ping.c
@@ -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,
};
diff --git a/src/net/tcp.c b/src/net/tcp.c
index 6bba442..2a98221 100644
--- a/src/net/tcp.c
+++ b/src/net/tcp.c
@@ -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,
};
diff --git a/src/net/udp.c b/src/net/udp.c
index 1fbc12d..2c0b343 100644
--- a/src/net/udp.c
+++ b/src/net/udp.c
@@ -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,
};