From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A82D5C433B4 for ; Thu, 15 Apr 2021 15:18:17 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2A51E61184 for ; Thu, 15 Apr 2021 15:18:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2A51E61184 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:34492 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lX3l2-0002DO-47 for qemu-devel@archiver.kernel.org; Thu, 15 Apr 2021 11:18:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48828) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lX3i3-0001Fl-HB for qemu-devel@nongnu.org; Thu, 15 Apr 2021 11:15:14 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:51561) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lX3hz-00044I-F4 for qemu-devel@nongnu.org; Thu, 15 Apr 2021 11:15:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1618499706; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=wOXw68RDGmkCCROcIPphcAxM8fl2TumhlbwhwghNCbg=; b=HroS6SqtDyuUyFa0+4XR2kAhsb+GgILuPastTqlBPl6rqL1uhYq0WvzsOTzsTT8U39+lgM +/trWLdrGq0WCnF0VPWPcLPjpccpj5D7Vkma77VNSrnJhQoAl2G6co2JqXY0G1ZwgPN63H gRflsoY3gfZt+9McglrJYgmAQ0dKDww= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-500-EVe0zt_VMKuIdc3BSUwLxA-1; Thu, 15 Apr 2021 11:15:04 -0400 X-MC-Unique: EVe0zt_VMKuIdc3BSUwLxA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 544781009623; Thu, 15 Apr 2021 15:15:03 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-114-17.ams2.redhat.com [10.36.114.17]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 03B826A04C; Thu, 15 Apr 2021 15:15:02 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id 72CEB113525D; Thu, 15 Apr 2021 17:14:57 +0200 (CEST) From: Markus Armbruster To: "Zhang, Chen" Subject: Re: [PATCH V4 1/7] qapi/net.json: Add IP_PROTOCOL definition References: <20210319035508.113741-1-chen.zhang@intel.com> <20210319035508.113741-2-chen.zhang@intel.com> <5a9d9778f4784b4b96fa9e0831635c8d@intel.com> Date: Thu, 15 Apr 2021 17:14:57 +0200 In-Reply-To: <5a9d9778f4784b4b96fa9e0831635c8d@intel.com> (Chen Zhang's message of "Thu, 15 Apr 2021 10:51:13 +0000") Message-ID: <87czuvbmvi.fsf@dusky.pond.sub.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain Received-SPF: pass client-ip=170.10.133.124; envelope-from=armbru@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lukas Straub , Li Zhijian , Jason Wang , "Dr. David Alan Gilbert" , qemu-dev , Zhang Chen Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" "Zhang, Chen" writes: >> -----Original Message----- >> From: Qemu-devel > bounces+chen.zhang=intel.com@nongnu.org> On Behalf Of Dr. David Alan >> Gilbert >> Sent: Wednesday, March 24, 2021 4:01 AM >> To: Zhang, Chen >> Cc: Lukas Straub ; Li Zhijian >> ; Jason Wang ; qemu- >> dev ; Markus Armbruster >> ; Zhang Chen >> Subject: Re: [PATCH V4 1/7] qapi/net.json: Add IP_PROTOCOL definition >> >> * Zhang Chen (chen.zhang@intel.com) wrote: >> > Add IP_PROTOCOL as enum include TCP,UDP, ICMP... for other QMP >> commands. >> > >> > Signed-off-by: Zhang Chen >> > --- >> > qapi/net.json | 31 +++++++++++++++++++++++++++++++ >> > 1 file changed, 31 insertions(+) >> > >> > diff --git a/qapi/net.json b/qapi/net.json index >> > 87361ebd9a..498ea7aa72 100644 >> > --- a/qapi/net.json >> > +++ b/qapi/net.json >> > @@ -794,3 +794,34 @@ >> > # >> > ## >> > { 'command': 'query-netdev', 'returns': ['NetdevInfo'] } >> > + >> > +## >> > +# @IP_PROTOCOL: >> > +# >> > +# Transport layer protocol. >> > +# >> > +# Just for IPv4. >> > +# >> > +# @tcp: Transmission Control Protocol. >> > +# >> > +# @udp: User Datagram Protocol. >> > +# >> > +# @dccp: Datagram Congestion Control Protocol. >> > +# >> > +# @sctp: Stream Control Transmission Protocol. >> > +# >> > +# @udplite: Lightweight User Datagram Protocol. >> > +# >> > +# @icmp: Internet Control Message Protocol. >> > +# >> > +# @igmp: Internet Group Management Protocol. >> > +# >> > +# @ipv6: IPv6 Encapsulation. >> > +# >> > +# TODO: Need to add more transport layer protocol. >> > +# >> > +# Since: 6.1 >> > +## >> > +{ 'enum': 'IP_PROTOCOL', 'data': [ 'tcp', 'udp', 'dccp', 'sctp', 'udplite', >> > + 'icmp', 'igmp', 'ipv6' ] } >> >> Isn't the right thing to do here to use a string for protocol and then pass it to >> getprotobyname; that way your list is never out of date, and you never have >> to translate between the order of this enum and the integer assignment set >> in stone. >> > > Hi Dave, > > Considering that most of the scenes in Qemu don't call the getprotobyname, looks keep the string are more readable. Unless I'm missing something, (1) this enum is only used for matching packets by source IP, source port, destination IP, destination port, and protocol, and (2) the packet matching works just fine for *any* protocol. By using an enum for the protocol, you're limiting the matcher to whatever protocols we bother to include in the enum for no particular reason. Feels wrong to me. > Please review the V5 patches, Thanks. > > Thanks > Chen > >> Dave >> >> > + >> > -- >> > 2.25.1 >> > >> -- >> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK >>