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 "
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
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,
};
***************************************************************************
*/
-/** 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,
};
***************************************************************************
*/
-/** 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,
};