From owner-freebsd-net@freebsd.org Thu Mar 19 21:06:39 2020 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 75562270DFE for ; Thu, 19 Mar 2020 21:06:39 +0000 (UTC) (envelope-from jacques.fourie@gmail.com) Received: from mail-io1-xd2d.google.com (mail-io1-xd2d.google.com [IPv6:2607:f8b0:4864:20::d2d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48jzwp0wNLz4SsZ for ; Thu, 19 Mar 2020 21:06:33 +0000 (UTC) (envelope-from jacques.fourie@gmail.com) Received: by mail-io1-xd2d.google.com with SMTP id q128so3824247iof.9 for ; Thu, 19 Mar 2020 14:06:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=YpOHj9nhClL3M//SJzT0pjCsuREZOcsV7TDi5QihYmg=; b=CIgGZn0mKlPpJGnuIQHR+Q0aRVyTwLDyafx0QFXVyeEDuJLLPSZTmTHcXQm1USng6u A6p56gjU7NvefKPTkWDnmgNX5cKPdnwHtxqodZYMiy+D5KKjX/piJZnm9i5SyhY9ekbx sBM1k+PYNYijVkoKC3+R9bUBAvWvOgZxzsTqhMxavJvLUDBVt6wGaE91YsMSI9Am6J22 84qTc6ShZrIL8xm7xWg6AOHMCDBbWkFRRV71h7ko6BxbEBSzVjgIETAi9Z8zvRKJV450 SWJhgZKH24PWTM9//ZbhAUZm7cumSc3E+KOA/FJ3Wx291TFjO7FkZhC6ZKZ80QdQjYbZ BDnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=YpOHj9nhClL3M//SJzT0pjCsuREZOcsV7TDi5QihYmg=; b=FEPHgpqjPYaNcQTndHivqZkAA/0lhM+nxutyc9Y6827HCbATtfiMn+FkCr7wrRz5/H FHwvzxlD0N3VxIv10eVSYaHI34hy7kxue9JtFELNvodKf+Kll5dm9CJpPSi7SY/lnbhT 4PplQ9uRpTEb9L83960zYtR2h3V310P3a/c6c7lbHCUmaroNCNRnoTLZfN3j2Dt/CKCJ pX5BQGqmwZGCEhcxJmJH+FpLSrkFDKDoie4OXEF2MWZwmd3wCJI3RXiaVEu7wZ1lpbJ7 Hbw2R08UbjOC8zC+CEAlAecoMxnR0/A88WgW9V6WvaJb5ibe63taD9ccVgAyPKzgSNf0 v4AQ== X-Gm-Message-State: ANhLgQ14YQggqUpfzpOnel0ajtwLQClYmxR7C/kw80rO7Qjz9kL8idUO QIsuaf03zEBXV2a0t1suGWovxlwORTeUOG3kwKlkdQ== X-Google-Smtp-Source: ADFU+vtWRqI9Rp99LHcvIKjhIWM1dygJyk4KOMs+FLyTk6Pydfp9LL2HJVE6D9BtGchinoSCWvmVHG7UEDTz6suf3Ds= X-Received: by 2002:a02:13c6:: with SMTP id 189mr4949027jaz.14.1584651989530; Thu, 19 Mar 2020 14:06:29 -0700 (PDT) MIME-Version: 1.0 From: Jacques Fourie Date: Thu, 19 Mar 2020 17:06:18 -0400 Message-ID: Subject: if_vxlan question To: freebsd-net@freebsd.org X-Rspamd-Queue-Id: 48jzwp0wNLz4SsZ X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=CIgGZn0m; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of jacquesfourie@gmail.com designates 2607:f8b0:4864:20::d2d as permitted sender) smtp.mailfrom=jacquesfourie@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; TO_DN_NONE(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; IP_SCORE_FREEMAIL(0.00)[]; IP_SCORE(0.00)[ip: (-6.80), ipnet: 2607:f8b0::/32(-1.85), asn: 15169(-1.64), country: US(-0.05)]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[d.2.d.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Mar 2020 21:06:39 -0000 Hi, I noticed that my FreeBSD box was dropping vxlan packets with higher VNI's. Looking at the code it seems that the check at line 2548 is not correct: if (vxh->vxlh_flags != htonl(VXLAN_HDR_FLAGS_VALID_VNI) || vxh->vxlh_vni & ~htonl(VXLAN_VNI_MASK)) <----- Incorrect? goto out; Let's say the VNI is 99901. This will arrive on the wire as 0x01,0x86,0x3d,0x00. The above check will compute 0x3d8601 & 0xff, which will return 0x01. I think the correct version should be without the htonl(), ie: vxh->vxh_vni & ~VXLAN_VNI_MASK Can someone please double check? Thanks, Jacques