[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: |
Zhang, Chen |
Subject: |
RE: [PATCH V4 3/7] qapi/net: Add new QMP command for COLO passthrough |
Date: |
Tue, 23 Mar 2021 09:19:36 +0000 |
> -----Original Message-----
> From: Markus Armbruster <armbru@redhat.com>
> Sent: Monday, March 22, 2021 8:36 PM
> To: Zhang, Chen <chen.zhang@intel.com>
> Cc: Jason Wang <jasowang@redhat.com>; qemu-dev <qemu-
> devel@nongnu.org>; Eric Blake <eblake@redhat.com>; Dr. David Alan
> Gilbert <dgilbert@redhat.com>; Li Zhijian <lizhijian@cn.fujitsu.com>; Lukas
> Straub <lukasstraub2@web.de>; Zhang Chen <zhangckid@gmail.com>
> Subject: Re: [PATCH V4 3/7] qapi/net: Add new QMP command for COLO
> passthrough
>
> 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 */ }
> > +
> > +void qmp_colo_passthrough_del(L4_Connection *conn, Error **errp) {
> > + /* Delete passthrough connection */ }
> > +
> > 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.
> > +#
> > +# 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' }
> > +
>
> Now let's look at colo-passthrough-del. I figure it is for deleting the kind
> of
> things colo-passthrough-add adds.
>
Yes.
> What exactly is deleted? The thing created with the exact same arguments?
>
Delete the rule from the module's private bypass list.
When user input a rule, the colo-passthrough-del will find the specific module
by the object ID,
Then delete the rule.
> This would be unusual. Commonly, FOO-add and FOO-del both take a string
> ID argument. The FOO created by FOO-add remembers its ID, and FOO-del
> deletes by ID.
The ID not for rules itself, it just logged the modules(ID tagged) affected by
the rule.
Thanks
Chen
[PATCH V4 5/7] net/colo-compare: Move data structure and define to .h file., Zhang Chen, 2021/03/19
[PATCH V4 7/7] net/net.c: Add handler for COLO passthrough connection, Zhang Chen, 2021/03/19
[PATCH V4 6/7] net/colo-compare: Add passthrough list to CompareState, Zhang Chen, 2021/03/19
[PATCH V4 4/7] hmp-commands: Add new HMP command for COLO passthrough, Zhang Chen, 2021/03/19