| 1964 | } |
| 1965 | |
| 1966 | static void |
| 1967 | port_action_handle_query_dump(portid_t port_id, |
| 1968 | const struct port_indirect_action *pia, |
| 1969 | union port_action_query *query) |
| 1970 | { |
| 1971 | if (!pia || !query) |
| 1972 | return; |
| 1973 | switch (pia->type) { |
| 1974 | case RTE_FLOW_ACTION_TYPE_AGE: |
| 1975 | printf("Indirect AGE action:\n" |
| 1976 | " aged: %u\n" |
| 1977 | " sec_since_last_hit_valid: %u\n" |
| 1978 | " sec_since_last_hit: %" PRIu32 "\n", |
| 1979 | query->age.aged, |
| 1980 | query->age.sec_since_last_hit_valid, |
| 1981 | query->age.sec_since_last_hit); |
| 1982 | break; |
| 1983 | case RTE_FLOW_ACTION_TYPE_COUNT: |
| 1984 | printf("Indirect COUNT action:\n" |
| 1985 | " hits_set: %u\n" |
| 1986 | " bytes_set: %u\n" |
| 1987 | " hits: %" PRIu64 "\n" |
| 1988 | " bytes: %" PRIu64 "\n", |
| 1989 | query->count.hits_set, |
| 1990 | query->count.bytes_set, |
| 1991 | query->count.hits, |
| 1992 | query->count.bytes); |
| 1993 | break; |
| 1994 | case RTE_FLOW_ACTION_TYPE_CONNTRACK: |
| 1995 | printf("Conntrack Context:\n" |
| 1996 | " Peer: %u, Flow dir: %s, Enable: %u\n" |
| 1997 | " Live: %u, SACK: %u, CACK: %u\n" |
| 1998 | " Packet dir: %s, Liberal: %u, State: %u\n" |
| 1999 | " Factor: %u, Retrans: %u, TCP flags: %u\n" |
| 2000 | " Last Seq: %u, Last ACK: %u\n" |
| 2001 | " Last Win: %u, Last End: %u\n", |
| 2002 | query->ct.peer_port, |
| 2003 | query->ct.is_original_dir ? "Original" : "Reply", |
| 2004 | query->ct.enable, query->ct.live_connection, |
| 2005 | query->ct.selective_ack, query->ct.challenge_ack_passed, |
| 2006 | query->ct.last_direction ? "Original" : "Reply", |
| 2007 | query->ct.liberal_mode, query->ct.state, |
| 2008 | query->ct.max_ack_window, query->ct.retransmission_limit, |
| 2009 | query->ct.last_index, query->ct.last_seq, |
| 2010 | query->ct.last_ack, query->ct.last_window, |
| 2011 | query->ct.last_end); |
| 2012 | printf(" Original Dir:\n" |
| 2013 | " scale: %u, fin: %u, ack seen: %u\n" |
| 2014 | " unacked data: %u\n Sent end: %u," |
| 2015 | " Reply end: %u, Max win: %u, Max ACK: %u\n", |
| 2016 | query->ct.original_dir.scale, |
| 2017 | query->ct.original_dir.close_initiated, |
| 2018 | query->ct.original_dir.last_ack_seen, |
| 2019 | query->ct.original_dir.data_unacked, |
| 2020 | query->ct.original_dir.sent_end, |
| 2021 | query->ct.original_dir.reply_end, |
| 2022 | query->ct.original_dir.max_win, |
| 2023 | query->ct.original_dir.max_ack); |
no test coverage detected