From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sonic305-4.consmr.mail.bf2.yahoo.com (sonic305-4.consmr.mail.bf2.yahoo.com [74.6.133.43]) by dpdk.org (Postfix) with ESMTP id 19E362BA1 for ; Fri, 9 Jun 2017 09:01:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1496991688; bh=IVFDHwjDlrqejiqJ8ywJt7fYFtcjlvI31NFUY3EM3XE=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:From:Subject; b=XH3oIMyLTmscSmqkM8ubsZJEUSKwxPlxuYQCUwEeZsFgCQZ5ttS1XpxVbpmp5GwiVONtuI5oXZ/7ioVA9BJHYEz98qyuMe9oq6B/EITqbvM+0yFlm31glasmb2g2C+led8JhUEVQBxo7wxuGE9AgVVy3b0PUApX67Ki7YxOm4mTN0ejBWS3bsDNpavAY8WTdqfxO1H3E/ACXvS7ob74VvJLw3JySyN+1aZ2CdBpE4nQaQNlWLD4sn5WRtMi7tQrnE0GiQrNDtwXMUoH22YG60o4uQ+6bUrw+N9Ai8ISzl4K3Mhur5vxHYeyBNHzd8gKQsCVm5UJjRH3XvNSRi7kwOg== X-YMail-OSG: dcrNtGAVM1lxwrwKAVzmMgFWgWncEFX7ZPUom63.q_dYmASzj.COlG39MrKK9ZT tEs47bmlFV3nKJIpDrOuUvNblkkrdB5iC_6tb0UkkDG_ZTyTcY9hz88lurDv0lW.qAmSXyzCh6Jg C7R_9uNnCRdGb.Gvy1Z90IwJCnfWZeSOyE6wGFEpIq3CBhA0rYYROBZDHPxFGkO4qNlTqYQWb9lP ZPpqPPQu08tnI2nyig.raZrvgiTf0UoLqxIXOl_R8_7whSQMuGZlF0DMzlskksIuuGZiJdW7lO94 fDkXrn9Ka7G0HUAXa3SgkjwMSIfy.0.fsOlNeG4znHPrqtm8NgI_0uppAHW4awFJV9P6zWool0zb 5fGy8AGWetKHl3KLZV03GCZ2yImlQkJf5.FcWHI9orwe1Im4kzXdE70nJKpDpJkZ6TB3i.qqxYUT fysjWmP2scTMRMPCIJjksCmBOBr97TuG0sRs1UUc6LKk7UhTQLYFOpl3YrTOgixUU.2FBs7gysB0 JcZNgXnEbTncJ00YBzAirxtoIGJb6H.2WhLWjROfgMCJd9VsgtcafOM87OgwEItbfAm9afLh9 Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.bf2.yahoo.com with HTTP; Fri, 9 Jun 2017 07:01:28 +0000 Date: Fri, 9 Jun 2017 07:01:11 +0000 (UTC) From: Dharmesh Mehta To: Shyam Shrivastav , Sam Cc: "users@dpdk.org" , "dev@dpdk.org" Message-ID: <714096167.5158706.1496991671422@mail.yahoo.com> In-Reply-To: References: MIME-Version: 1.0 X-Mailer: WebService/1.1.9778 YahooMailNeo Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [dpdk-users] how to build 'example' folder in dpdk-2.2.0? X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Dharmesh Mehta List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 07:01:29 -0000 Following is my makefile. I hope this will help.copy following content in "= Makefile" and just run 1) make=C2=A0download_and_extract2) make HOME_DIR =3D $(shell pwd)DPDK_VERSION=3D17.05PKTGEN_VERSION=3D3.2.10#######= #############################################DPDK_PACKAGE_NAME=3Ddpdk-$(DPD= K_VERSION)DPDK_TAR_FILE_NAME=3D$(DPDK_PACKAGE_NAME).tar.xz#################= ###################################PKTGEN_PACKAGE_NAME=3Dpktgen-$(PKTGEN_VE= RSION)PKTGEN_TAR_FILE_NAME=3D$(PKTGEN_PACKAGE_NAME).tar.xz#################= ###################################DPDK_SOURCE_CODE_URL=3Dhttp://fast.dpdk.= org/rel/$(DPDK_TAR_FILE_NAME)PKTGEN_SOURCE_CODE_URL=3Dhttp://dpdk.org/brows= e/apps/pktgen-dpdk/snapshot/$(PKTGEN_TAR_FILE_NAME)########################= ############################export RTE_SDK=3D$(HOME_DIR)/$(DPDK_PACKAGE_NAM= E)export RTE_TARGET=3Dx86_64-native-linuxapp-gcc###########################= #########################export PKTGEN_PATH=3D$(HOME_DIR)/$(PKTGEN_PACKAGE_= NAME)#################################################### PATH_TO_DPDK_PACKAGE =3D $(HOME_DIR)/packages/$(DPDK_TAR_FILE_NAME)ifneq ("= $(wildcard $(PATH_TO_DPDK_PACKAGE))","") export DPDK_PACKAGE_FILE_EXISTS = =3D 1else export DPDK_PACKAGE_FILE_EXISTS =3D 0endif PATH_TO_PKTGEN_PACKAGE =3D $(HOME_DIR)/packages/$(PKTGEN_TAR_FILE_NAME)ifne= q ("$(wildcard $(PATH_TO_PKTGEN_PACKAGE))","") export PKTGEN_PACKAGE_FILE_E= XISTS =3D 1else export PKTGEN_PACKAGE_FILE_EXISTS =3D 0endif #################################################### all: banner make build_dpdk make build_dpdk_all_examples make load_module #################################################### download_and_extract: banner make download make extract download: bannerifeq ($(DPDK_PACKAGE_FILE_EXISTS),1) cp $(HOME_DIR)/package= s/$(DPDK_TAR_FILE_NAME) =C2=A0$(HOME_DIR)else rm -rf $(DPDK_TAR_FILE_NAME) = wget $(DPDK_SOURCE_CODE_URL) mkdir -p $(HOME_DIR)/packages cp $(HOME_DIR)/$= (DPDK_TAR_FILE_NAME) $(HOME_DIR)/packagesendif####ifeq ($(PKTGEN_PACKAGE_FI= LE_EXISTS),1) cp $(HOME_DIR)/packages/$(PKTGEN_TAR_FILE_NAME) =C2=A0$(HOME_= DIR)else rm -rf $(PKTGEN_TAR_FILE_NAME) wget $(PKTGEN_SOURCE_CODE_URL) mkdi= r -p $(HOME_DIR)/packages cp $(HOME_DIR)/$(PKTGEN_TAR_FILE_NAME) $(HOME_DIR= )/packagesendif #################################################### extract: tar -xJf $(DPDK_TAR_FILE_NAME) tar -xJf $(PKTGEN_TAR_FILE_NAME) #################################################### build_dpdk: cd $(RTE_SDK) && mkdir -p $(RTE_SDK)/$(RTE_TARGET) cd $(RTE_SDK= ) && make config T=3D$(RTE_TARGET)#cd $(RTE_SDK) && sed -ri 's,(PMD_PCAP=3D= ).*,\1y,' build/.config cd $(RTE_SDK) && make T=3D$(RTE_TARGET) cd $(RTE_SD= K) && sudo make install cd $(RTE_SDK) && cp $(RTE_SDK)/build/.config =C2=A0= =C2=A0$(RTE_SDK)/$(RTE_TARGET) cd $(RTE_SDK) && cp -r $(RTE_SDK)/build/inc= lude $(RTE_SDK)/$(RTE_TARGET) #################################################### load_module: @echo "Loading module uio_pci_generic" sudo modprobe uio_pci_g= eneric sudo modprobe uio -sudo insmod $(RTE_SDK)/build/kmod/igb_uio.ko sudo= modprobe vfio-pci #################################################### clean: =C2=A0banner rm -rf $(RTE_SDK) rm -rf $(PKTGEN_PATH) #################################################### clean_all: banner rm -rf $(RTE_SDK) rm -rf $(DPDK_TAR_FILE_NAME) rm -rf $(P= KTGEN_TAR_FILE_NAME) ####################################################example_helloworld: cd = $(RTE_SDK)/examples/helloworld && make example_cmdline: cd $(RTE_SDK)/examples/cmdline && make example_vhost: cd $(RTE_SDK)/examples/vhost && make example_exception_path: cd $(RTE_SDK)/examples/exception_path && make example_bond: cd $(RTE_SDK)/examples/bond && make example_ethtool: cd $(RTE_SDK)/examples/ethtool && make example_ip_pipeline: cd $(RTE_SDK)/examples/ip_pipeline && make example_kni: cd $(RTE_SDK)/examples/kni && make example_l2fwd-jobstats: cd $(RTE_SDK)/examples/l2fwd-jobstats && make example_l3fwd-power: cd $(RTE_SDK)/examples/l3fwd-power && make example_performance-thread: cd $(RTE_SDK)/examples/performance-thread && ma= ke example_quota_watermark: cd $(RTE_SDK)/examples/quota_watermark && make example_tep_termination: cd $(RTE_SDK)/examples/tep_termination && make example_vmdq: cd $(RTE_SDK)/examples/vmdq && make example_ip_reassembly: cd $(RTE_SDK)/examples/ip_reassembly && make example_l2fwd: cd $(RTE_SDK)/examples/l2fwd && make example_l2fwd-keepalive: cd $(RTE_SDK)/examples/l2fwd-keepalive && make example_l3fwd-vf: cd $(RTE_SDK)/examples/l3fwd-vf && make example_multi_process: cd $(RTE_SDK)/examples/multi_process && make example_ptpclient: cd $(RTE_SDK)/examples/ptpclient && make example_rxtx_callbacks: cd $(RTE_SDK)/examples/rxtx_callbacks && make example_timer: cd $(RTE_SDK)/examples/timer && make example_vmdq_dcb: cd $(RTE_SDK)/examples/vmdq_dcb && make example_distributor: cd $(RTE_SDK)/examples/distributor && make example_ipsec-secgw: cd $(RTE_SDK)/examples/ipsec-secgw && make example_l2fwd-cat: cd $(RTE_SDK)/examples/l2fwd-cat && make example_l3fwd: cd $(RTE_SDK)/examples/l3fwd && make example_link_status_interrupt: cd $(RTE_SDK)/examples/link_status_interrupt= && make example_netmap_compat: cd $(RTE_SDK)/examples/netmap_compat && make example_qos_meter: cd $(RTE_SDK)/examples/qos_meter && make example_server_node_efd: cd $(RTE_SDK)/examples/server_node_efd && make example_vm_power_manager: cd $(RTE_SDK)/examples/vm_power_manager && make example_dpdk_qat: cd $(RTE_SDK)/examples/dpdk_qat && make example_ip_fragmentation: cd $(RTE_SDK)/examples/ip_fragmentation && make example_ipv4_multicast: cd $(RTE_SDK)/examples/ipv4_multicast && make example_l2fwd-crypto: cd $(RTE_SDK)/examples/l2fwd-crypto && make example_l3fwd-acl: cd $(RTE_SDK)/examples/l3fwd-acl && make example_load_balancer: cd $(RTE_SDK)/examples/load_balancer && make example_packet_ordering: cd $(RTE_SDK)/examples/packet_ordering && make example_qos_sched: cd $(RTE_SDK)/examples/qos_sched && make example_skeleton: cd $(RTE_SDK)/examples/skeleton && make example_vhost_xen: cd $(RTE_SDK)/examples/vhost_xen && make #################################################### build_dpdk_all_examples: banner make example_vhost make example_helloworld = make example_cmdline make example_exception_path make example_bond make exa= mple_ethtool make example_ip_pipeline make example_kni make example_l2fwd-j= obstats make example_l3fwd-power make example_performance-thread make examp= le_quota_watermark make example_tep_termination make example_vmdq make exam= ple_ip_reassembly make example_l2fwd make example_l2fwd-keepalive make exam= ple_l3fwd-vf make example_multi_process make example_ptpclient make example= _rxtx_callbacks make example_timer make example_vmdq_dcb make example_distr= ibutor make example_ipsec-secgw make example_l3fwd make example_link_status= _interrupt make example_netmap_compat make example_qos_meter make example_s= erver_node_efd make example_ip_fragmentation make example_ipv4_multicast ma= ke example_l2fwd-crypto make example_l3fwd-acl make example_load_balancer m= ake example_packet_ordering make example_qos_sched make example_skeleton #m= ake example_l2fwd-cat #make example_vm_power_manager #make example_dpdk_qat= #make example_vhost_xen #################################################### banner: @echo "" @echo "**************************************************"= @echo "HOME_DIR=3D$(HOME_DIR)" @echo "DPDK_VERSION=3D$(DPDK_VERSION)" @ech= o "DPDK_PACKAGE_NAME=3D$(DPDK_PACKAGE_NAME)" @echo "DPDK_TAR_FILE_NAME=3D$(= DPDK_TAR_FILE_NAME)" @echo "DPDK_SOURCE_CODE_URL=3D$(DPDK_SOURCE_CODE_URL)"= @echo "RTE_SDK=3D$(RTE_SDK)" @echo "RTE_TARGET=3D$(RTE_TARGET)" @echo "PKT= GEN_PACKAGE_NAME=3D$(PKTGEN_PACKAGE_NAME)" @echo "PKTGEN_TAR_FILE_NAME=3D$(= PKTGEN_TAR_FILE_NAME)" @echo "PKTGEN_SOURCE_CODE_URL=3D$(PKTGEN_SOURCE_CODE= _URL)" @echo "**************************************************" @echo "" #################################################### From: Shyam Shrivastav To: Sam =20 Cc: users@dpdk.org; dev@dpdk.org Sent: Thursday, June 8, 2017 11:43 PM Subject: Re: [dpdk-users] [dpdk-dev] how to build 'example' folder in dpdk= -2.2.0? =20 For linux http://dpdk.org/doc/guides/linux_gsg/index.html http://dpdk.org/doc/guides/linux_gsg/build_dpdk.html http://dpdk.org/doc/guides/linux_gsg/build_sample_apps.html On Fri, Jun 9, 2017 at 8:31 AM, Sam wrote: > hi all, > > I want to build example(DPDK_HOME/example/*) in dpdk, and to have a look = at > vhost demo. But I can't find guide in dpdk home page or document. > > So is there some document to tell me HOWTO? > =20 >From olivier.matz@6wind.com Fri Jun 9 09:18:14 2017 Return-Path: Received: from mail-wr0-f175.google.com (mail-wr0-f175.google.com [209.85.128.175]) by dpdk.org (Postfix) with ESMTP id 2FFD22BA3 for ; Fri, 9 Jun 2017 09:18:14 +0200 (CEST) Received: by mail-wr0-f175.google.com with SMTP id v111so26557264wrc.3 for ; Fri, 09 Jun 2017 00:18:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pO7i/rnPOEOPRIe4apvaNwrExETLL8GKthlVCw89WlY=; b=tw7+8Iek8m+TQn0y3k9u/zM0FDidlwMg0hjYpwkopOSMDKmi7wk/GYf9SNxEHvde0K tHYv0088bTnDa1FRT8W29ZnrpNdxeyRduoJ760q2xhtX/RwsxYjwCY847WabOhh2HzGk uC0YWzdQc2Fm/xiVTxUQBAgr9iEES68bsvGegqumKigKMYBlFc4w2CalvwOtIeLHDTBr HcRd1mS9UDn4zDrRRt4t1i3qQsnVUJsjbOPqRVZLrx5x80eJ8bdgKyloTeFjleUM1LLI V+Bi4y0/XH5AmArd9JJZOqi0ZQzgb6h2qCPNLDddpUuzhewAF6fVo0kOdeMksonFdgKd udRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pO7i/rnPOEOPRIe4apvaNwrExETLL8GKthlVCw89WlY=; b=fWVygQovMtFLK1f58kjUBOuI8IBqlVer2e3bkQyJvmEB4Pbr8TGlesaAeoHHEsbTMM JHtnA2qLcjDkXUqmsjf/HLUTGCkGLKKZQRTFm55geZgcfrPjo8rvThOVM2DRri05AOmn jkZjh65diywtSqlR2cOo2mGRPmZ1llo+xSXeGsM59FM0OCe6xipFbvabpfqWnDvNcu9F aKbZwucHGkkhTgSiW21ESiAa5SOITV+0LVpJUsMYlsvwmXFC39MdG5O5zyF4OpY3gJQf XOIS0UBpRv4I2yRaOk19bEY4uzB95E+tmfncM5xkVxo3pRqtHm4ONpH8x7jTdvVgyiUS jksw== X-Gm-Message-State: AODbwcCY3qW7tyug9C6a6ZGAN72BAf8EL+LjlBLJR0XbTwtF6hXRWfAh 9fgpfMwUiq9vgDHW X-Received: by 10.223.136.14 with SMTP id d14mr26330869wrd.168.1496992693819; Fri, 09 Jun 2017 00:18:13 -0700 (PDT) Received: from platinum (2a01cb0c03c651000226b0fffeed02fc.ipv6.abo.wanadoo.fr. [2a01:cb0c:3c6:5100:226:b0ff:feed:2fc]) by smtp.gmail.com with ESMTPSA id s10sm689972wmb.8.2017.06.09.00.18.13 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 09 Jun 2017 00:18:13 -0700 (PDT) Date: Fri, 9 Jun 2017 09:18:11 +0200 From: Olivier Matz To: "Patil, Harish" Cc: "Mody, Rasesh" , Ferruh Yigit , "dev@dpdk.org" , Dept-Eng DPDK Dev Message-ID: <20170609091811.0867b1d1@platinum> In-Reply-To: References: <1495960654-352-1-git-send-email-rasesh.mody@cavium.com> <1496821429-6954-1-git-send-email-rasesh.mody@cavium.com> <20170608142545.10cc8326@platinum> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-dev] [PATCH v2 1/2] mbuf: introduce new Tx offload flag for MPLS-in-UDP X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jun 2017 07:18:14 -0000 On Thu, 8 Jun 2017 21:46:00 +0000, "Patil, Harish" wrote: > >Hi Rasesh, > > > >On Wed, 7 Jun 2017 00:43:48 -0700, Rasesh Mody > >wrote: =20 > >> From: Harish Patil > >>=20 > >> Some PMDs need to know the tunnel type in order to handle advance TX > >> features. This patch adds a new TX offload flag for MPLS-in-UDP packet= s. > >>=20 > >> Signed-off-by: Harish Patil > >> --- > >> lib/librte_mbuf/rte_mbuf.c | 2 ++ > >> lib/librte_mbuf/rte_mbuf.h | 17 ++++++++++------- > >> 2 files changed, 12 insertions(+), 7 deletions(-) > >>=20 > >> diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c > >> index 0e3e36a..c2793fb 100644 > >> --- a/lib/librte_mbuf/rte_mbuf.c > >> +++ b/lib/librte_mbuf/rte_mbuf.c > >> @@ -410,6 +410,7 @@ const char *rte_get_tx_ol_flag_name(uint64_t mask) > >> case PKT_TX_TUNNEL_IPIP: return "PKT_TX_TUNNEL_IPIP"; > >> case PKT_TX_TUNNEL_GENEVE: return "PKT_TX_TUNNEL_GENEVE"; > >> case PKT_TX_MACSEC: return "PKT_TX_MACSEC"; > >> + case PKT_TX_TUNNEL_MPLSINUDP: return "PKT_TX_TUNNEL_MPLSINUDP"; > >> default: return NULL; > >> } > >> } > >> @@ -441,6 +442,7 @@ const char *rte_get_tx_ol_flag_name(uint64_t mask) > >> { PKT_TX_TUNNEL_GENEVE, PKT_TX_TUNNEL_MASK, > >> "PKT_TX_TUNNEL_NONE" }, > >> { PKT_TX_MACSEC, PKT_TX_MACSEC, NULL }, > >> + { PKT_TX_TUNNEL_MPLSINUDP, PKT_TX_TUNNEL_MPLSINUDP, NULL }, > >> }; > >> const char *name; > >> unsigned int i; > >> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h > >> index 1cb0310..27ad421 100644 > >> --- a/lib/librte_mbuf/rte_mbuf.h > >> +++ b/lib/librte_mbuf/rte_mbuf.h > >> @@ -197,19 +197,22 @@ > >> * Offload the MACsec. This flag must be set by the application to > >>enable > >> * this offload feature for a packet to be transmitted. > >> */ > >> -#define PKT_TX_MACSEC (1ULL << 44) > >> +#define PKT_TX_MACSEC (1ULL << 43) =20 > > > >I'm not sure it is suitable to change the value of an existing > >flag, since it breaks the ABI. > > > > =20 > >> /** > >> - * Bits 45:48 used for the tunnel type. > >> + * Bits 44:48 used for the tunnel type. > >> * When doing Tx offload like TSO or checksum, the HW needs to > >>configure the > >> * tunnel type into the HW descriptors. > >> */ > >> -#define PKT_TX_TUNNEL_VXLAN (0x1ULL << 45) > >> -#define PKT_TX_TUNNEL_GRE (0x2ULL << 45) > >> -#define PKT_TX_TUNNEL_IPIP (0x3ULL << 45) > >> -#define PKT_TX_TUNNEL_GENEVE (0x4ULL << 45) > >> +/**< TX packet with MPLS-in-UDP RFC 7510 header. */ > >> +#define PKT_TX_TUNNEL_MPLSINUDP (0x1ULL << 44) > >> + > >> +#define PKT_TX_TUNNEL_VXLAN (0x2ULL << 44) > >> +#define PKT_TX_TUNNEL_GRE (0x3ULL << 44) > >> +#define PKT_TX_TUNNEL_IPIP (0x4ULL << 44) > >> +#define PKT_TX_TUNNEL_GENEVE (0x5ULL << 45) > >> /* add new TX TUNNEL type here */ > >> -#define PKT_TX_TUNNEL_MASK (0xFULL << 45) > >> +#define PKT_TX_TUNNEL_MASK (0x1FULL << 44) > >> =20 > >> /** > >> * Second VLAN insertion (QinQ) flag. =20 > > > >I dont understand why adding > >#define PKT_TX_TUNNEL_MPLSINUDP (0x5ULL << 45) > >wouldn't do the job? > > > >Currently, the tunnel mask is 0xF << 45, which gives 16 possible values.= =20 >=20 > [Harish] Hi Olivier, > Not too sure whether I understand your comment. > My understanding is that those are bitmapped values for each Tx tunnel > type in the range [48:45]. > They are not values. So defining PKT_TX_TUNNEL_MPLSINUDP (0x5ULL << 45) > won=E2=80=99t work. Currently, we have: #define PKT_TX_TUNNEL_VXLAN (0x1ULL << 45) in binary: 000..000[0001]000..000 #define PKT_TX_TUNNEL_GRE (0x2ULL << 45) in binary: 000..000[0010]000..000 #define PKT_TX_TUNNEL_IPIP (0x3ULL << 45) in binary: 000..000[0011]000..000 #define PKT_TX_TUNNEL_GENEVE (0x4ULL << 45) in binary: 000..000[0100]000..000 So, I'm still saying there's a room for 11 more values. Olivier