From owner-freebsd-net@FreeBSD.ORG Tue Jul 31 13:22:21 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 85872106566B for ; Tue, 31 Jul 2012 13:22:21 +0000 (UTC) (envelope-from venkatduvvuru.ml@gmail.com) Received: from mail-ob0-f182.google.com (mail-ob0-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id 4CFB08FC08 for ; Tue, 31 Jul 2012 13:22:21 +0000 (UTC) Received: by obbun3 with SMTP id un3so13678311obb.13 for ; Tue, 31 Jul 2012 06:22:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=oWMVfjxRbyBAZ+s3E6HkZClj7hUeEbxO/Ahh483CvoQ=; b=t7GLQ/ChdtCoIOuQODdZ4x4+Di/HTomJLnNaaOla+VDPxmqizYpAtDRiu1avuglqIs P1VMOMmr0eptgSOo6PXqIoQBDxVmw7SCuNzPwkXyS+1yJoPMwR6cgc7othFEu+Rdl4Qs Znq4dtP6Z8b2CZVyoX7v/O9rgm7lqaB2rvVyhcyuiQ1c+eSq+GYJtw8l+Ff69eocUuEp 0lRFXgjyw9E9nGylZo/qVZbV0Y0rEpxpGH2H5pCZL3d6AxjkRNWzx/KoHHdv/WTWy/c/ eHFtnrMabqklAfePim5MPlqi3XY4GgGDcLQu/13+89FlaJSirbEvLsTipn2NK4E0YDZ4 Drgg== MIME-Version: 1.0 Received: by 10.182.17.99 with SMTP id n3mr23248276obd.8.1343740940472; Tue, 31 Jul 2012 06:22:20 -0700 (PDT) Received: by 10.76.8.99 with HTTP; Tue, 31 Jul 2012 06:22:20 -0700 (PDT) Date: Tue, 31 Jul 2012 18:52:20 +0530 Message-ID: From: Venkat Duvvuru To: freebsd-net@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: IPv6 multi queue transmit X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2012 13:22:21 -0000 Hi, I have a couple of questions related to flowid for IPv6. Please clarify. 1. Why is the below code (ip_output) absent for ip6_output? This is causing the ipv6 traffic to always flow in just one queue. if (inp != NULL) { INP_LOCK_ASSERT(inp); M_SETFIB(m, inp->inp_inc.inc_fibnum); if (inp->inp_flags & (INP_HW_FLOWID|INP_SW_FLOWID)) { m->m_pkthdr.flowid = inp->inp_flowid; m->m_flags |= M_FLOWID; } } 2. Why "fle" is NULL after enabling FLOWTABLE for IPv6 net/flowtable.c if (af == AF_INET6) { fle = flowtable_lookup_mbuf6(ft, m); if (fle != NULL && m != NULL && (m->m_flags & M_FLOWID) == 0) { m->m_flags |= M_FLOWID; m->m_pkthdr.flowid = fle->f_fhash; } } /Venkat