From owner-soc-status@FreeBSD.ORG Sun Jun 7 15:15:05 2009 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 59229106564A for ; Sun, 7 Jun 2009 15:15:05 +0000 (UTC) (envelope-from t.elavaya@gmail.com) Received: from mail-fx0-f215.google.com (mail-fx0-f215.google.com [209.85.220.215]) by mx1.freebsd.org (Postfix) with ESMTP id DD5248FC13 for ; Sun, 7 Jun 2009 15:15:04 +0000 (UTC) (envelope-from t.elavaya@gmail.com) Received: by fxm11 with SMTP id 11so251709fxm.43 for ; Sun, 07 Jun 2009 08:15:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:from:date:message-id :subject:to:content-type:content-transfer-encoding; bh=5DcH8JtH2HSmE3Bk7wxmuM/TCa+4s+lF5gRS5rKxInQ=; b=ngccWMdI1DSl/VfpJbbQFJuBYuYdogurK7XEa1W2XlBo6Vr4mMKG8RwEpgMot/4qjg JkwaJqLwOHsGPDS6DJcfiKKg2D5rGDO5yPyQMygGu4AH7/FYd97CRL5q6aPgrB4u+TCd +DuOAYvGsKId1VqmGXJ8GP8QiZ0+NCanJre54= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:content-type :content-transfer-encoding; b=nb7s7yMxpNJ8jlUi7k1fmMQlELhCMA86nwU+ab/RG3XBDlViutehrhmgSWjXbMqoQN vOueHSzofyw0qjD9EOV218k55dBr2T/OyUdLcRRabahFeeL+ETB0GKC6B3szLxYF4J25 b2xmXOocDk0h5wUmJIjnkeDUwXrZ/6AocyrM8= MIME-Version: 1.0 Received: by 10.223.107.198 with SMTP id c6mr3213047fap.32.1244386134158; Sun, 07 Jun 2009 07:48:54 -0700 (PDT) From: Tatsiana Elavaya Date: Sun, 7 Jun 2009 17:48:34 +0300 Message-ID: To: soc-status@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: ipfw rule processing optimization and high level language X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jun 2009 15:15:05 -0000 Hi, During first two weeks I've add rule alias into ipfw and working on rule processing optimization. There is no rule optimization support in kernel yet. Addition of rule aliases resulted in API incompatibility, alias field was added to struct ip_fw. I'm going fix it shortly by using special ipfw instruction. Besides it seems I've spent to much time trying to fix a note bene from ipfw header: "in a couple of places we assume that sizeof(ipfw_insn) == sizeof(u_int32_t) this needs to be fixed". Actually there are just a few places where we do not assume that :) But it helped in finding a better way to store optimization data: instead of adding a field into ipfw_insn use separate instruction. So it would be possible not to break compatibility, and keep kernel changes at minimum. I'm also going change my code to use lists implementation from sys/queue.h next week.