[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH V4 3/7] qapi/net: Add new QMP command for COLO passthrough
From: |
Markus Armbruster |
Subject: |
Re: [PATCH V4 3/7] qapi/net: Add new QMP command for COLO passthrough |
Date: |
Fri, 19 Mar 2021 17:03:13 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Zhang Chen <chen.zhang@intel.com> writes:
> Since the real user scenario does not need COLO to monitor all traffic.
> Add colo-passthrough-add and colo-passthrough-del to maintain
> a COLO network passthrough list.
>
> Signed-off-by: Zhang Chen <chen.zhang@intel.com>
> ---
> net/net.c | 10 ++++++++++
> qapi/net.json | 40 ++++++++++++++++++++++++++++++++++++++++
> 2 files changed, 50 insertions(+)
>
> diff --git a/net/net.c b/net/net.c
> index 725a4e1450..7c7cefe0e0 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -1199,6 +1199,16 @@ void qmp_netdev_del(const char *id, Error **errp)
> }
> }
>
> +void qmp_colo_passthrough_add(L4_Connection *conn, Error **errp)
> +{
> + /* Setup passthrough connection */
Do you mean to say
/* TODO implement */
?
> +}
> +
> +void qmp_colo_passthrough_del(L4_Connection *conn, Error **errp)
> +{
> + /* Delete passthrough connection */
> +}
Likewise.
> +
> static void netfilter_print_info(Monitor *mon, NetFilterState *nf)
> {
> char *str;
> diff --git a/qapi/net.json b/qapi/net.json
> index cd4a8ed95e..ec7d3b1128 100644
> --- a/qapi/net.json
> +++ b/qapi/net.json
> @@ -851,3 +851,43 @@
> 'data': { 'protocol': 'IP_PROTOCOL', '*id': 'str', '*src_ip': 'str',
> '*dst_ip': 'str',
> '*src_port': 'int', '*dst_port': 'int' } }
>
> +##
> +# @colo-passthrough-add:
> +#
> +# Add passthrough entry according to customer's needs in COLO-compare.
QEMU doesn't have customers, it has users :)
> +#
> +# Returns: Nothing on success
> +#
> +# Since: 6.1
> +#
> +# Example:
> +#
> +# -> { "execute": "colo-passthrough-add",
> +# "arguments": { "protocol": "tcp", "id": "object0", "src_ip":
> "192.168.1.1",
> +# "dst_ip": "192.168.1.2", "src_port": 1234, "dst_port": 4321 } }
> +# <- { "return": {} }
> +#
> +##
> +{ 'command': 'colo-passthrough-add', 'boxed': true,
> + 'data': 'L4_Connection' }
> +
> +##
> +# @colo-passthrough-del:
> +#
> +# Delete passthrough entry according to customer's needs in COLO-compare.
> +#
> +# Returns: Nothing on success
> +#
> +# Since: 6.1
> +#
> +# Example:
> +#
> +# -> { "execute": "colo-passthrough-del",
> +# "arguments": { "protocol": "tcp", "id": "object0", "src_ip":
> "192.168.1.1",
> +# "dst_ip": "192.168.1.2", "src_port": 1234, "dst_port": 4321 } }
> +# <- { "return": {} }
> +#
> +##
> +{ 'command': 'colo-passthrough-del', 'boxed': true,
> + 'data': 'L4_Connection' }
> +
To make sense of this, I have to refer back to PATCH 1 and 2:
{ 'enum': 'IP_PROTOCOL', 'data': [ 'tcp', 'udp', 'dccp', 'sctp', 'udplite',
'icmp', 'igmp', 'ipv6' ] }
{ 'struct': 'L4_Connection',
'data': { 'protocol': 'IP_PROTOCOL', '*id': 'str', '*src_ip': 'str',
'*dst_ip': 'str',
'*src_port': 'int', '*dst_port': 'int' } }
Please squash the three patches together.
I figure colo-passthrough-add adds some kind of packet matching thingy
that can match packets by source IP, source port, destination IP,
destination port, and protocol. Correct?
The protocol is mandatory, all others are optional. What does it mean
to omit an optional one? Match all?
I have no idea what @id is supposed to mean. Please explain intended
use.
I'm ignoring colo-passthrough-del for now, because I feel need to
understand -add first.
- RE: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, (continued)
- RE: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, Zhang, Chen, 2021/03/23
- Re: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, Markus Armbruster, 2021/03/23
- Re: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, Dr. David Alan Gilbert, 2021/03/23
- Re: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, Markus Armbruster, 2021/03/24
- Re: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, Markus Armbruster, 2021/03/24
- RE: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, Zhang, Chen, 2021/03/25
- RE: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, Zhang, Chen, 2021/03/23
Re: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, Markus Armbruster, 2021/03/19
Re: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition, Markus Armbruster, 2021/03/24
[PATCH V4 3/7] qapi/net: Add new QMP command for COLO passthrough, Zhang Chen, 2021/03/19
- Re: [PATCH V4 3/7] qapi/net: Add new QMP command for COLO passthrough,
Markus Armbruster <=
Re: [PATCH V4 3/7] qapi/net: Add new QMP command for COLO passthrough, Markus Armbruster, 2021/03/22
[PATCH V4 5/7] net/colo-compare: Move data structure and define to .h file., Zhang Chen, 2021/03/19