From: Markus Armbruster <armbru@redhat.com>
To: "Zhang, Chen" <chen.zhang@intel.com>
Cc: Lukas Straub <lukasstraub2@web.de>,
Li Zhijian <lizhijian@cn.fujitsu.com>,
Jason Wang <jasowang@redhat.com>,
qemu-dev <qemu-devel@nongnu.org>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Zhang Chen <zhangckid@gmail.com>
Subject: Re: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition
Date: Mon, 22 Mar 2021 13:31:03 +0100 [thread overview]
Message-ID: <87k0pz4bg8.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <5b75057ecc784296aa271f5f6692906a@intel.com> (Chen Zhang's message of "Mon, 22 Mar 2021 10:00:06 +0000")
"Zhang, Chen" <chen.zhang@intel.com> writes:
>> -----Original Message-----
>> From: Markus Armbruster <armbru@redhat.com>
>> Sent: Friday, March 19, 2021 11:48 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>; Markus Armbruster <armbru@redhat.com>;
>> Li Zhijian <lizhijian@cn.fujitsu.com>; Lukas Straub <lukasstraub2@web.de>;
>> Zhang Chen <zhangckid@gmail.com>
>> Subject: Re: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition
>>
>> Zhang Chen <chen.zhang@intel.com> writes:
>>
>> > Add L4_Connection struct for other QMP commands.
>> > Except protocol field is necessary, other fields are optional.
>> >
>> > Signed-off-by: Zhang Chen <chen.zhang@intel.com>
>> > ---
>> > qapi/net.json | 26 ++++++++++++++++++++++++++
>> > 1 file changed, 26 insertions(+)
>> >
>> > diff --git a/qapi/net.json b/qapi/net.json index
>> > 498ea7aa72..cd4a8ed95e 100644
>> > --- a/qapi/net.json
>> > +++ b/qapi/net.json
>> > @@ -825,3 +825,29 @@
>> > { 'enum': 'IP_PROTOCOL', 'data': [ 'tcp', 'udp', 'dccp', 'sctp', 'udplite',
>> > 'icmp', 'igmp', 'ipv6' ] }
>> >
>> > +##
>> > +# @L4_Connection:
>> > +#
>> > +# Layer 4 network connection.
>> > +#
>> > +# Just for IPv4.
>> > +#
>> > +# @protocol: Transport layer protocol like TCP/UDP...
>> > +#
>> > +# @id: For specific module with Qemu object ID, If there is no such part,
>> > +# it means global rules.
>>
>> Clear as mud.
>
> Sorry, let me re-clear it.
> If I understand correctly, The ID shouldn't be here, but I found the 'boxed' flag just can add only one 'data' like this:
> +##
> +{ 'command': 'colo-passthrough-add', 'boxed': true,
> + 'data': 'L4_Connection' }
>
> I original want to this:
> +##
> +{ 'command': 'colo-passthrough-add',
> + 'data': { 'id': 'str', 'boxed': false, 'conn': 'L4_Connection', 'boxed': true }
>
> So, I add the @id as an optional argument here.
>
> rewrite the comments:
> +# @id: Assign the rule to Qemu network handle module object ID. Like colo-compare, net-filter.
>
> Please see the ID details in patch3 too.
So, colo-passthrough-add takes an @id argument (to be tacked onto
packets to help with further processing, I understand), and arguments to
match packets.
Naming the argument type L4_Connection is misleading.
Even naming the match arguments L4_Connection would be misleading.
"Connection" has a specific meaning in networking. There are TCP
connections. There is no such thing as an UDP connection.
A TCP connection is uniquely identified by a pair of endpoints, i.e. by
source address, source port, destination address, destination port.
Same for other connection-oriented protocols. The protocol is not part
of the connection. Thus, L4_Connection would be misleading even for the
connection-oriented case.
You need a named type for colo-passthrough-add's argument because you
share it with colo-passthrough-del. I'm not sure that's what we want
(I'm going to write more on that in a moment). If it is what we want,
then please pick a another, descriptive name.
next prev parent reply other threads:[~2021-03-22 12:36 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-19 3:55 [PATCH V4 0/7] Bypass specific network traffic in COLO Zhang Chen
2021-03-19 3:55 ` [PATCH V4 1/7] qapi/net.json: Add IP_PROTOCOL definition Zhang Chen
2021-03-19 15:46 ` Markus Armbruster
2021-03-22 9:59 ` Zhang, Chen
2021-03-22 12:12 ` Markus Armbruster
2021-03-22 12:43 ` Daniel P. Berrangé
2021-03-23 20:01 ` Dr. David Alan Gilbert
2021-04-15 10:51 ` Zhang, Chen
2021-04-15 15:14 ` Markus Armbruster
2021-04-16 6:03 ` Zhang, Chen
2021-04-16 9:22 ` Markus Armbruster
2021-04-20 11:05 ` Dr. David Alan Gilbert
2021-04-20 15:20 ` Zhang, Chen
2021-03-19 3:55 ` [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition Zhang Chen
2021-03-19 15:48 ` Markus Armbruster
2021-03-22 10:00 ` Zhang, Chen
2021-03-22 12:31 ` Markus Armbruster [this message]
2021-03-23 9:06 ` Zhang, Chen
2021-03-23 9:54 ` Markus Armbruster
2021-03-23 20:14 ` Dr. David Alan Gilbert
2021-03-24 6:47 ` Markus Armbruster
2021-03-24 6:51 ` Markus Armbruster
2021-03-26 2:27 ` Zhang, Chen
2021-03-24 0:59 ` Zhang, Chen
2021-03-19 15:53 ` Markus Armbruster
2021-03-24 6:56 ` Markus Armbruster
2021-03-19 3:55 ` [PATCH V4 3/7] qapi/net: Add new QMP command for COLO passthrough Zhang Chen
2021-03-19 16:03 ` Markus Armbruster
2021-03-22 9:59 ` Zhang, Chen
2021-03-22 12:16 ` Markus Armbruster
2021-03-23 9:06 ` Zhang, Chen
2021-03-22 12:36 ` Markus Armbruster
2021-03-23 9:19 ` Zhang, Chen
2021-03-23 9:58 ` Markus Armbruster
2021-03-30 3:38 ` Zhang, Chen
2021-04-06 8:01 ` Markus Armbruster
2021-04-08 3:24 ` Zhang, Chen
2021-03-19 3:55 ` [PATCH V4 4/7] hmp-commands: Add new HMP " Zhang Chen
2021-03-24 10:39 ` Dr. David Alan Gilbert
2021-04-15 10:51 ` Zhang, Chen
2021-04-16 1:21 ` Zhang, Chen
2021-03-19 3:55 ` [PATCH V4 5/7] net/colo-compare: Move data structure and define to .h file Zhang Chen
2021-03-24 11:02 ` Dr. David Alan Gilbert
2021-03-29 1:18 ` Zhang, Chen
2021-03-19 3:55 ` [PATCH V4 6/7] net/colo-compare: Add passthrough list to CompareState Zhang Chen
2021-03-19 3:55 ` [PATCH V4 7/7] net/net.c: Add handler for COLO passthrough connection Zhang Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k0pz4bg8.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=chen.zhang@intel.com \
--cc=dgilbert@redhat.com \
--cc=jasowang@redhat.com \
--cc=lizhijian@cn.fujitsu.com \
--cc=lukasstraub2@web.de \
--cc=qemu-devel@nongnu.org \
--cc=zhangckid@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).