toecore.h (fa49a964199f4522d334de86c6df8b61cb021691) toecore.h (8d6708ba80acfdbac852ce335ae6f762bcc5b50c)
1/*-
2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 *
4 * Copyright (c) 2012 Chelsio Communications, Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 27 unchanged lines hidden (view full) ---

36#endif
37
38#include <sys/_eventhandler.h>
39
40struct tcpopt;
41struct tcphdr;
42struct in_conninfo;
43struct tcp_info;
1/*-
2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 *
4 * Copyright (c) 2012 Chelsio Communications, Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions

--- 27 unchanged lines hidden (view full) ---

36#endif
37
38#include <sys/_eventhandler.h>
39
40struct tcpopt;
41struct tcphdr;
42struct in_conninfo;
43struct tcp_info;
44struct nhop_object;
44struct ktls_session;
45
46struct toedev {
47 TAILQ_ENTRY(toedev) link; /* glue for toedev_list */
48 void *tod_softc; /* TOE driver private data */
49
50 /*
51 * Active open. If a failure occurs, it is reported back by the driver
52 * via toe_connect_failed.
53 */
45struct ktls_session;
46
47struct toedev {
48 TAILQ_ENTRY(toedev) link; /* glue for toedev_list */
49 void *tod_softc; /* TOE driver private data */
50
51 /*
52 * Active open. If a failure occurs, it is reported back by the driver
53 * via toe_connect_failed.
54 */
54 int (*tod_connect)(struct toedev *, struct socket *, struct rtentry *,
55 int (*tod_connect)(struct toedev *, struct socket *, struct nhop_object *,
55 struct sockaddr *);
56
57 /* Passive open. */
58 int (*tod_listen_start)(struct toedev *, struct tcpcb *);
59 int (*tod_listen_stop)(struct toedev *, struct tcpcb *);
60
61 /*
62 * The kernel uses this routine to pass on any frame it receives for an

--- 27 unchanged lines hidden (view full) ---

90 * The kernel calls this once it has information about an L2 entry that
91 * the TOE driver enquired about previously (via toe_l2_resolve).
92 */
93 void (*tod_l2_update)(struct toedev *, struct ifnet *,
94 struct sockaddr *, uint8_t *, uint16_t);
95
96 /* XXX. Route has been redirected. */
97 void (*tod_route_redirect)(struct toedev *, struct ifnet *,
56 struct sockaddr *);
57
58 /* Passive open. */
59 int (*tod_listen_start)(struct toedev *, struct tcpcb *);
60 int (*tod_listen_stop)(struct toedev *, struct tcpcb *);
61
62 /*
63 * The kernel uses this routine to pass on any frame it receives for an

--- 27 unchanged lines hidden (view full) ---

91 * The kernel calls this once it has information about an L2 entry that
92 * the TOE driver enquired about previously (via toe_l2_resolve).
93 */
94 void (*tod_l2_update)(struct toedev *, struct ifnet *,
95 struct sockaddr *, uint8_t *, uint16_t);
96
97 /* XXX. Route has been redirected. */
98 void (*tod_route_redirect)(struct toedev *, struct ifnet *,
98 struct rtentry *, struct rtentry *);
99 struct nhop_object *, struct nhop_object *);
99
100 /* Syncache interaction. */
101 void (*tod_syncache_added)(struct toedev *, void *);
102 void (*tod_syncache_removed)(struct toedev *, void *);
103 int (*tod_syncache_respond)(struct toedev *, void *, struct mbuf *);
104 void (*tod_offload_socket)(struct toedev *, void *, struct socket *);
105
106 /* TCP socket option */

--- 37 unchanged lines hidden ---
100
101 /* Syncache interaction. */
102 void (*tod_syncache_added)(struct toedev *, void *);
103 void (*tod_syncache_removed)(struct toedev *, void *);
104 int (*tod_syncache_respond)(struct toedev *, void *, struct mbuf *);
105 void (*tod_offload_socket)(struct toedev *, void *, struct socket *);
106
107 /* TCP socket option */

--- 37 unchanged lines hidden ---