mirror of
https://passt.top/passt
synced 2025-07-26 19:37:59 +02:00
tcp: Don't pass both flow pointer and flow index
tcp_flow_migrate_source_ext() is passed both the index of the flow it operates on and the pointer to the connection structure. However, the former is trivially derived from the latter. Simplify the interface. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
854bc7b1a3
commit
ba0823f8a0
3 changed files with 4 additions and 7 deletions
2
flow.c
2
flow.c
|
@ -1053,7 +1053,7 @@ int flow_migrate_source(struct ctx *c, const struct migrate_stage *stage,
|
||||||
* as EIO).
|
* as EIO).
|
||||||
*/
|
*/
|
||||||
foreach_established_tcp_flow(i, flow, FLOW_MAX) {
|
foreach_established_tcp_flow(i, flow, FLOW_MAX) {
|
||||||
rc = tcp_flow_migrate_source_ext(fd, i, &flow->tcp);
|
rc = tcp_flow_migrate_source_ext(fd, &flow->tcp);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
err("Extended data for flow %u: %s", i, strerror_(-rc));
|
err("Extended data for flow %u: %s", i, strerror_(-rc));
|
||||||
|
|
||||||
|
|
6
tcp.c
6
tcp.c
|
@ -3141,16 +3141,14 @@ int tcp_flow_migrate_source(int fd, struct tcp_tap_conn *conn)
|
||||||
/**
|
/**
|
||||||
* tcp_flow_migrate_source_ext() - Dump queues, close sockets, send final data
|
* tcp_flow_migrate_source_ext() - Dump queues, close sockets, send final data
|
||||||
* @fd: Descriptor for state migration
|
* @fd: Descriptor for state migration
|
||||||
* @fidx: Flow index
|
|
||||||
* @conn: Pointer to the TCP connection structure
|
* @conn: Pointer to the TCP connection structure
|
||||||
*
|
*
|
||||||
* Return: 0 on success, negative (not -EIO) on failure, -EIO on sending failure
|
* Return: 0 on success, negative (not -EIO) on failure, -EIO on sending failure
|
||||||
*/
|
*/
|
||||||
int tcp_flow_migrate_source_ext(int fd, int fidx,
|
int tcp_flow_migrate_source_ext(int fd, const struct tcp_tap_conn *conn)
|
||||||
const struct tcp_tap_conn *conn)
|
|
||||||
{
|
{
|
||||||
uint32_t peek_offset = conn->seq_to_tap - conn->seq_ack_from_tap;
|
uint32_t peek_offset = conn->seq_to_tap - conn->seq_ack_from_tap;
|
||||||
struct tcp_tap_transfer_ext *t = &migrate_ext[fidx];
|
struct tcp_tap_transfer_ext *t = &migrate_ext[FLOW_IDX(conn)];
|
||||||
int s = conn->sock;
|
int s = conn->sock;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
|
|
|
@ -234,8 +234,7 @@ int tcp_flow_repair_on(struct ctx *c, const struct tcp_tap_conn *conn);
|
||||||
int tcp_flow_repair_off(struct ctx *c, const struct tcp_tap_conn *conn);
|
int tcp_flow_repair_off(struct ctx *c, const struct tcp_tap_conn *conn);
|
||||||
|
|
||||||
int tcp_flow_migrate_source(int fd, struct tcp_tap_conn *conn);
|
int tcp_flow_migrate_source(int fd, struct tcp_tap_conn *conn);
|
||||||
int tcp_flow_migrate_source_ext(int fd, int fidx,
|
int tcp_flow_migrate_source_ext(int fd, const struct tcp_tap_conn *conn);
|
||||||
const struct tcp_tap_conn *conn);
|
|
||||||
|
|
||||||
int tcp_flow_migrate_target(struct ctx *c, int fd);
|
int tcp_flow_migrate_target(struct ctx *c, int fd);
|
||||||
int tcp_flow_migrate_target_ext(struct ctx *c, struct tcp_tap_conn *conn, int fd);
|
int tcp_flow_migrate_target_ext(struct ctx *c, struct tcp_tap_conn *conn, int fd);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue