> -----Original Message-----
> From: Markus Armbruster <arm...@redhat.com>
> Sent: Friday, March 19, 2021 11:48 PM
> To: Zhang, Chen <chen.zh...@intel.com>
> Cc: Jason Wang <jasow...@redhat.com>; qemu-dev <qemu-
> de...@nongnu.org>; Eric Blake <ebl...@redhat.com>; Dr. David Alan
> Gilbert <dgilb...@redhat.com>; Markus Armbruster <arm...@redhat.com>;
> Li Zhijian <lizhij...@cn.fujitsu.com>; Lukas Straub <lukasstra...@web.de>;
> Zhang Chen <zhangc...@gmail.com>
> Subject: Re: [PATCH V4 2/7] qapi/net.json: Add L4_Connection definition
>
> Zhang Chen <chen.zh...@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.zh...@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.
Thanks
Chen
>
> See my review of PATCH 3.
>
> > +#
> > +# @src_ip: Source IP.
> > +#
> > +# @dst_ip: Destination IP.
> > +#
> > +# @src_port: Source port.
> > +#
> > +# @dst_port: Destination port.
> > +#
> > +# Since: 6.1
> > +##
> > +{ 'struct': 'L4_Connection',
> > + 'data': { 'protocol': 'IP_PROTOCOL', '*id': 'str', '*src_ip': 'str',
> > '*dst_ip': 'str',
> > + '*src_port': 'int', '*dst_port': 'int' } }
> > +