diff options
author | Michael Brown <mcb30@ipxe.org> | 2020-07-15 18:46:58 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2020-07-15 18:46:58 +0100 |
commit | a95a2eafc58b921431cbd53fc0cbff6a1a7761d1 (patch) | |
tree | 96dc1a59f580045d0d75067c0836700cc2d707ef | |
parent | 78ca890c35d6979fe62fa66e16e7501abb831034 (diff) | |
download | ipxe-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.c | 4 | ||||
-rw-r--r-- | src/include/ipxe/open.h | 2 | ||||
-rw-r--r-- | src/net/ping.c | 12 | ||||
-rw-r--r-- | src/net/tcp.c | 12 | ||||
-rw-r--r-- | src/net/udp.c | 12 |
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, }; |