mirror of https://github.com/ipxe/ipxe.git
[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
parent
78ca890c35
commit
a95a2eafc5
|
@ -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 "
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue