[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>
pull/121/head
Michael Brown 2020-07-15 18:46:58 +01:00
parent 78ca890c35
commit a95a2eafc5
5 changed files with 7 additions and 35 deletions

View 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 "

View 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

View 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,
};

View 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,
};

View 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,
};