From owner-svn-src-projects@FreeBSD.ORG Sun Jun 28 15:38:53 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 03199106566C; Sun, 28 Jun 2009 15:38:53 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DF9488FC17; Sun, 28 Jun 2009 15:38:52 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SFcqZg015228; Sun, 28 Jun 2009 15:38:52 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SFcpOQ015206; Sun, 28 Jun 2009 15:38:51 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906281538.n5SFcpOQ015206@svn.freebsd.org> From: Ed Schouten Date: Sun, 28 Jun 2009 15:38:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195137 - in projects/clangbsd: . bin/chflags bin/chmod bin/df bin/hostname bin/sh cddl/contrib/opensolaris contrib/bind9 contrib/bind9/bin/check contrib/bind9/bin/dnssec contrib/bind9/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 15:38:53 -0000 Author: ed Date: Sun Jun 28 15:38:50 2009 New Revision: 195137 URL: http://svn.freebsd.org/changeset/base/195137 Log: Integrate newer LLVM and Clang sources. Clang is now installed as `CC' and `c++' as well. Unfortunately it will still call `g++' for the compilation step, but assembling and linking is performed using Clang's Hostinfo, which means we can already test that. Added: projects/clangbsd/contrib/bind9/KNOWN-DEFECTS - copied unchanged from r195101, head/contrib/bind9/KNOWN-DEFECTS projects/clangbsd/contrib/llvm/docs/ReleaseNotes-2.6.html - copied unchanged from r195101, vendor/llvm/dist/docs/ReleaseNotes-2.6.html projects/clangbsd/contrib/llvm/include/llvm/Analysis/LoopDependenceAnalysis.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/Analysis/LoopDependenceAnalysis.h projects/clangbsd/contrib/llvm/include/llvm/CompilerDriver/BuiltinOptions.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/CompilerDriver/BuiltinOptions.h projects/clangbsd/contrib/llvm/include/llvm/CompilerDriver/ForceLinkage.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/CompilerDriver/ForceLinkage.h projects/clangbsd/contrib/llvm/include/llvm/CompilerDriver/ForceLinkageMacros.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/CompilerDriver/ForceLinkageMacros.h projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/ExecutionEngine/JITEventListener.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCContext.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/MC/MCContext.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCSection.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/MC/MCSection.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCStreamer.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/MC/MCStreamer.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCSymbol.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/MC/MCSymbol.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCValue.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/MC/MCValue.h projects/clangbsd/contrib/llvm/include/llvm/System/ThreadLocal.h - copied unchanged from r195101, vendor/llvm/dist/include/llvm/System/ThreadLocal.h projects/clangbsd/contrib/llvm/lib/Analysis/LoopDependenceAnalysis.cpp - copied unchanged from r195101, vendor/llvm/dist/lib/Analysis/LoopDependenceAnalysis.cpp projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/MacOSJITEventListener.cpp - copied unchanged from r195101, vendor/llvm/dist/lib/ExecutionEngine/JIT/MacOSJITEventListener.cpp projects/clangbsd/contrib/llvm/lib/MC/ - copied from r195101, vendor/llvm/dist/lib/MC/ projects/clangbsd/contrib/llvm/lib/System/ThreadLocal.cpp - copied unchanged from r195101, vendor/llvm/dist/lib/System/ThreadLocal.cpp projects/clangbsd/contrib/llvm/lib/System/Unix/ThreadLocal.inc - copied unchanged from r195101, vendor/llvm/dist/lib/System/Unix/ThreadLocal.inc projects/clangbsd/contrib/llvm/lib/System/Win32/ThreadLocal.inc - copied unchanged from r195101, vendor/llvm/dist/lib/System/Win32/ThreadLocal.inc projects/clangbsd/contrib/llvm/lib/Target/ARM/ThumbInstrInfo.cpp - copied unchanged from r195101, vendor/llvm/dist/lib/Target/ARM/ThumbInstrInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ThumbInstrInfo.h - copied unchanged from r195101, vendor/llvm/dist/lib/Target/ARM/ThumbInstrInfo.h projects/clangbsd/contrib/llvm/test/Analysis/ScalarEvolution/trip-count6.ll - copied unchanged from r195101, vendor/llvm/dist/test/Analysis/ScalarEvolution/trip-count6.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/bic.ll - copied unchanged from r195101, vendor/llvm/dist/test/CodeGen/ARM/bic.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/carry.ll - copied unchanged from r195101, vendor/llvm/dist/test/CodeGen/ARM/carry.ll projects/clangbsd/contrib/llvm/test/CodeGen/Thumb/ - copied from r195101, vendor/llvm/dist/test/CodeGen/Thumb/ projects/clangbsd/contrib/llvm/test/CodeGen/Thumb2/ - copied from r195101, vendor/llvm/dist/test/CodeGen/Thumb2/ projects/clangbsd/contrib/llvm/test/CodeGen/X86/constpool.ll - copied unchanged from r195101, vendor/llvm/dist/test/CodeGen/X86/constpool.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/inline-asm-modifier-n.ll - copied unchanged from r195101, vendor/llvm/dist/test/CodeGen/X86/inline-asm-modifier-n.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/inline-asm-tied.ll - copied unchanged from r195101, vendor/llvm/dist/test/CodeGen/X86/inline-asm-tied.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/scev-interchange.ll - copied unchanged from r195101, vendor/llvm/dist/test/CodeGen/X86/scev-interchange.ll projects/clangbsd/contrib/llvm/test/Feature/mdnode.ll - copied unchanged from r195101, vendor/llvm/dist/test/Feature/mdnode.ll projects/clangbsd/contrib/llvm/test/MC/ - copied from r195101, vendor/llvm/dist/test/MC/ projects/clangbsd/contrib/llvm/test/Transforms/IndVarSimplify/loop-invariant-step.ll - copied unchanged from r195101, vendor/llvm/dist/test/Transforms/IndVarSimplify/loop-invariant-step.ll projects/clangbsd/contrib/llvm/test/Transforms/IndVarSimplify/loop_evaluate7.ll - copied unchanged from r195101, vendor/llvm/dist/test/Transforms/IndVarSimplify/loop_evaluate7.ll projects/clangbsd/contrib/llvm/test/Transforms/IndVarSimplify/loop_evaluate8.ll - copied unchanged from r195101, vendor/llvm/dist/test/Transforms/IndVarSimplify/loop_evaluate8.ll projects/clangbsd/contrib/llvm/test/Transforms/IndVarSimplify/phi-uses-value-multiple-times.ll - copied unchanged from r195101, vendor/llvm/dist/test/Transforms/IndVarSimplify/phi-uses-value-multiple-times.ll projects/clangbsd/contrib/llvm/test/Transforms/LCSSA/invoke-dest.ll - copied unchanged from r195101, vendor/llvm/dist/test/Transforms/LCSSA/invoke-dest.ll projects/clangbsd/contrib/llvm/tools/clang/clang.xcodeproj/project.pbxproj - copied unchanged from r194611, projects/clangbsd/contrib/llvm/tools/clang/clang.xcodeproj/project.pbxproj projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/SValuator.h - copied unchanged from r195101, vendor/clang/dist/include/clang/Analysis/PathSensitive/SValuator.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/CommandLineSourceLoc.h - copied unchanged from r195101, vendor/clang/dist/include/clang/Frontend/CommandLineSourceLoc.h projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/SimpleSValuator.cpp - copied unchanged from r195101, vendor/clang/dist/lib/Analysis/SimpleSValuator.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/ResolveLocation.cpp - copied unchanged from r195101, vendor/clang/dist/lib/Frontend/ResolveLocation.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class/class.local/p1.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/class/class.local/p1.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class/class.local/p2.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/class/class.local/p2.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class/class.local/p3.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/class/class.local/p3.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class/class.local/p4.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/class/class.local/p4.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/class/class.nested.type/p1.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/class/class.nested.type/p1.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p2.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p2.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.simple/p4-cxx0x.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.simple/p4-cxx0x.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/dcl.decl/dcl.meaning/dcl.array/p1-cxx0x.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/dcl.array/p1-cxx0x.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.decls/temp.fct/temp.over.link/p4-neg.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/temp/temp.decls/temp.fct/temp.over.link/p4-neg.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.decls/temp.fct/temp.over.link/p4.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/temp/temp.decls/temp.fct/temp.over.link/p4.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/basic.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/basic.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p2.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p2.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3.cpp - copied unchanged from r195101, vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p3.cpp projects/clangbsd/contrib/llvm/tools/clang/test/CodeGenObjC/deadcode_strip_used_var.m - copied unchanged from r195101, vendor/clang/dist/test/CodeGenObjC/deadcode_strip_used_var.m projects/clangbsd/contrib/llvm/tools/clang/test/Index/ - copied from r195101, vendor/clang/dist/test/Index/ projects/clangbsd/contrib/llvm/tools/clang/test/Sema/attr-format_arg.c - copied unchanged from r195101, vendor/clang/dist/test/Sema/attr-format_arg.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/ext_vector_casts.c - copied unchanged from r195101, vendor/clang/dist/test/Sema/ext_vector_casts.c projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/auto-cxx0x.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaCXX/auto-cxx0x.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/auto-cxx98.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaCXX/auto-cxx98.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/decltype-pr4444.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaCXX/decltype-pr4444.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/decltype-pr4448.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaCXX/decltype-pr4448.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/default-assignment-operator.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaCXX/default-assignment-operator.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/using-decl-1.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaCXX/using-decl-1.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/using-decl-pr4441.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaCXX/using-decl-pr4441.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/using-decl-pr4450.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaCXX/using-decl-pr4450.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/operator-template.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaTemplate/operator-template.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/template-decl-fail.cpp - copied unchanged from r195101, vendor/clang/dist/test/SemaTemplate/template-decl-fail.cpp projects/clangbsd/contrib/llvm/tools/clang/tools/index-test/ - copied from r195101, vendor/clang/dist/tools/index-test/ projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/images/ - copied from r195101, vendor/clang/dist/www/analyzer/images/ projects/clangbsd/contrib/llvm/tools/clang/www/performance-2009-03-02.html - copied unchanged from r195101, vendor/clang/dist/www/performance-2009-03-02.html projects/clangbsd/contrib/llvm/tools/clang/www/timing-data/2009-06-26/ - copied from r195101, vendor/clang/dist/www/timing-data/2009-06-26/ projects/clangbsd/contrib/llvm/unittests/ExecutionEngine/ - copied from r195101, vendor/llvm/dist/unittests/ExecutionEngine/ projects/clangbsd/contrib/llvm/unittests/MC/ - copied from r195101, vendor/llvm/dist/unittests/MC/ projects/clangbsd/lib/libc/include/compat.h - copied unchanged from r195101, head/lib/libc/include/compat.h projects/clangbsd/lib/libc/posix1e/acl_add_flag_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_add_flag_np.3 projects/clangbsd/lib/libc/posix1e/acl_branding.c - copied unchanged from r195101, head/lib/libc/posix1e/acl_branding.c projects/clangbsd/lib/libc/posix1e/acl_clear_flags_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_clear_flags_np.3 projects/clangbsd/lib/libc/posix1e/acl_delete_flag_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_delete_flag_np.3 projects/clangbsd/lib/libc/posix1e/acl_flag.c - copied unchanged from r195101, head/lib/libc/posix1e/acl_flag.c projects/clangbsd/lib/libc/posix1e/acl_from_text_nfs4.c - copied unchanged from r195101, head/lib/libc/posix1e/acl_from_text_nfs4.c projects/clangbsd/lib/libc/posix1e/acl_get_brand_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_get_brand_np.3 projects/clangbsd/lib/libc/posix1e/acl_get_entry_type_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_get_entry_type_np.3 projects/clangbsd/lib/libc/posix1e/acl_get_flag_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_get_flag_np.3 projects/clangbsd/lib/libc/posix1e/acl_get_flagset_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_get_flagset_np.3 projects/clangbsd/lib/libc/posix1e/acl_is_trivial_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_is_trivial_np.3 projects/clangbsd/lib/libc/posix1e/acl_set_entry_type_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_set_entry_type_np.3 projects/clangbsd/lib/libc/posix1e/acl_set_flagset_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_set_flagset_np.3 projects/clangbsd/lib/libc/posix1e/acl_strip.c - copied unchanged from r195101, head/lib/libc/posix1e/acl_strip.c projects/clangbsd/lib/libc/posix1e/acl_strip_np.3 - copied unchanged from r195101, head/lib/libc/posix1e/acl_strip_np.3 projects/clangbsd/lib/libc/posix1e/acl_support_nfs4.c - copied unchanged from r195101, head/lib/libc/posix1e/acl_support_nfs4.c projects/clangbsd/lib/libc/posix1e/acl_to_text_nfs4.c - copied unchanged from r195101, head/lib/libc/posix1e/acl_to_text_nfs4.c projects/clangbsd/lib/libjail/ - copied from r195101, head/lib/libjail/ projects/clangbsd/share/man/man4/bridge.4 - copied unchanged from r195101, head/share/man/man4/bridge.4 projects/clangbsd/share/man/man4/epair.4 - copied unchanged from r195101, head/share/man/man4/epair.4 projects/clangbsd/sys/amd64/include/vm.h - copied unchanged from r195101, head/sys/amd64/include/vm.h projects/clangbsd/sys/arm/include/vm.h - copied unchanged from r195101, head/sys/arm/include/vm.h projects/clangbsd/sys/arm/mv/mv_sata.c - copied unchanged from r195101, head/sys/arm/mv/mv_sata.c projects/clangbsd/sys/dev/gem/if_gem_sbus.c - copied unchanged from r195101, head/sys/dev/gem/if_gem_sbus.c projects/clangbsd/sys/i386/include/vm.h - copied unchanged from r195101, head/sys/i386/include/vm.h projects/clangbsd/sys/ia64/include/vm.h - copied unchanged from r195101, head/sys/ia64/include/vm.h projects/clangbsd/sys/mips/include/vm.h - copied unchanged from r195101, head/sys/mips/include/vm.h projects/clangbsd/sys/net/if_epair.c - copied unchanged from r195101, head/sys/net/if_epair.c projects/clangbsd/sys/pc98/include/vm.h - copied unchanged from r195101, head/sys/pc98/include/vm.h projects/clangbsd/sys/powerpc/include/vm.h - copied unchanged from r195101, head/sys/powerpc/include/vm.h projects/clangbsd/sys/sparc64/include/vm.h - copied unchanged from r195101, head/sys/sparc64/include/vm.h projects/clangbsd/sys/sun4v/include/vm.h - copied unchanged from r195101, head/sys/sun4v/include/vm.h projects/clangbsd/tools/regression/bin/sh/builtins/eval2.0 - copied unchanged from r195101, head/tools/regression/bin/sh/builtins/eval2.0 projects/clangbsd/tools/regression/bin/sh/execution/fork2.0 - copied unchanged from r195101, head/tools/regression/bin/sh/execution/fork2.0 projects/clangbsd/tools/regression/bin/sh/expansion/ - copied from r195101, head/tools/regression/bin/sh/expansion/ projects/clangbsd/usr.bin/clang/lib/libllvmmc/ projects/clangbsd/usr.bin/clang/lib/libllvmmc/Makefile (contents, props changed) projects/clangbsd/usr.sbin/sysinstall/usb.c - copied unchanged from r195101, head/usr.sbin/sysinstall/usb.c Deleted: projects/clangbsd/contrib/llvm/include/llvm/MC/MCImm.h projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2007-01-31-RegInfoAssert.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2007-02-02-JoinIntervalsCrash.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2007-03-06-AddR7.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2007-05-05-InvalidPushPop.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/2009-06-18-ThumbCommuteMul.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/frame_thumb.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/inlineasm-imm-thumb.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/thumb-imm.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/thumb2-add.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/thumb2-mov.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/thumb2-mov2.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/thumb2-shifter.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/vargs2.ll projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRSimpleVals.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRSimpleVals.h projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRTransferFuncs.cpp projects/clangbsd/share/man/man4/if_bridge.4 Modified: projects/clangbsd/ (props changed) projects/clangbsd/MAINTAINERS projects/clangbsd/Makefile.inc1 projects/clangbsd/ObsoleteFiles.inc projects/clangbsd/UPDATING projects/clangbsd/bin/chflags/chflags.c projects/clangbsd/bin/chmod/chmod.c projects/clangbsd/bin/df/df.c projects/clangbsd/bin/hostname/hostname.c projects/clangbsd/bin/sh/eval.c projects/clangbsd/bin/sh/exec.c projects/clangbsd/bin/sh/expand.c projects/clangbsd/bin/sh/histedit.c projects/clangbsd/bin/sh/miscbltin.c projects/clangbsd/bin/sh/parser.c projects/clangbsd/bin/sh/sh.1 projects/clangbsd/bin/sh/var.c projects/clangbsd/cddl/contrib/opensolaris/ (props changed) projects/clangbsd/contrib/bind9/ (props changed) projects/clangbsd/contrib/bind9/CHANGES projects/clangbsd/contrib/bind9/bin/check/named-checkzone.c projects/clangbsd/contrib/bind9/bin/dnssec/dnssec-signzone.8 projects/clangbsd/contrib/bind9/bin/dnssec/dnssec-signzone.c projects/clangbsd/contrib/bind9/bin/dnssec/dnssec-signzone.docbook projects/clangbsd/contrib/bind9/bin/dnssec/dnssec-signzone.html projects/clangbsd/contrib/bind9/bin/dnssec/dnssectool.c projects/clangbsd/contrib/bind9/doc/arm/Bv9ARM-book.xml projects/clangbsd/contrib/bind9/doc/arm/Bv9ARM.ch06.html projects/clangbsd/contrib/bind9/doc/arm/Bv9ARM.ch07.html projects/clangbsd/contrib/bind9/doc/arm/Bv9ARM.ch08.html projects/clangbsd/contrib/bind9/doc/arm/Bv9ARM.ch09.html projects/clangbsd/contrib/bind9/doc/arm/Bv9ARM.html projects/clangbsd/contrib/bind9/doc/arm/man.dig.html projects/clangbsd/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html projects/clangbsd/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html projects/clangbsd/contrib/bind9/doc/arm/man.dnssec-keygen.html projects/clangbsd/contrib/bind9/doc/arm/man.dnssec-signzone.html projects/clangbsd/contrib/bind9/doc/arm/man.host.html projects/clangbsd/contrib/bind9/doc/arm/man.named-checkconf.html projects/clangbsd/contrib/bind9/doc/arm/man.named-checkzone.html projects/clangbsd/contrib/bind9/doc/arm/man.named.html projects/clangbsd/contrib/bind9/doc/arm/man.nsupdate.html projects/clangbsd/contrib/bind9/doc/arm/man.rndc-confgen.html projects/clangbsd/contrib/bind9/doc/arm/man.rndc.conf.html projects/clangbsd/contrib/bind9/doc/arm/man.rndc.html projects/clangbsd/contrib/bind9/lib/bind9/api projects/clangbsd/contrib/bind9/lib/bind9/check.c projects/clangbsd/contrib/bind9/lib/dns/api projects/clangbsd/contrib/bind9/lib/dns/dnssec.c projects/clangbsd/contrib/bind9/lib/dns/include/dns/dnssec.h projects/clangbsd/contrib/bind9/lib/dns/include/dns/keyvalues.h projects/clangbsd/contrib/bind9/lib/dns/nsec3.c projects/clangbsd/contrib/bind9/lib/dns/resolver.c projects/clangbsd/contrib/bind9/lib/isc/ia64/include/isc/atomic.h projects/clangbsd/contrib/bind9/version projects/clangbsd/contrib/llvm/ (props changed) projects/clangbsd/contrib/llvm/CMakeLists.txt projects/clangbsd/contrib/llvm/Makefile.rules projects/clangbsd/contrib/llvm/autoconf/configure.ac projects/clangbsd/contrib/llvm/bindings/ocaml/analysis/Makefile projects/clangbsd/contrib/llvm/bindings/ocaml/bitreader/Makefile projects/clangbsd/contrib/llvm/bindings/ocaml/bitwriter/Makefile projects/clangbsd/contrib/llvm/bindings/ocaml/executionengine/Makefile projects/clangbsd/contrib/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c projects/clangbsd/contrib/llvm/bindings/ocaml/llvm/Makefile projects/clangbsd/contrib/llvm/bindings/ocaml/target/Makefile projects/clangbsd/contrib/llvm/cmake/config-ix.cmake projects/clangbsd/contrib/llvm/cmake/modules/AddLLVM.cmake projects/clangbsd/contrib/llvm/cmake/modules/TableGen.cmake projects/clangbsd/contrib/llvm/configure projects/clangbsd/contrib/llvm/docs/CommandGuide/llvmc.pod projects/clangbsd/contrib/llvm/docs/CompilerDriver.html projects/clangbsd/contrib/llvm/docs/SourceLevelDebugging.html projects/clangbsd/contrib/llvm/docs/TestingGuide.html projects/clangbsd/contrib/llvm/include/llvm-c/ExecutionEngine.h projects/clangbsd/contrib/llvm/include/llvm-c/Target.h projects/clangbsd/contrib/llvm/include/llvm/ADT/Statistic.h projects/clangbsd/contrib/llvm/include/llvm/ADT/Trie.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/DebugInfo.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/LoopInfo.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/LoopPass.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/Passes.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/ProfileInfoLoader.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/clangbsd/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/IntrinsicLowering.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/MachineOperand.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/clangbsd/contrib/llvm/include/llvm/CodeGen/ValueTypes.h projects/clangbsd/contrib/llvm/include/llvm/CompilerDriver/Main.inc projects/clangbsd/contrib/llvm/include/llvm/Config/Targets.def.in projects/clangbsd/contrib/llvm/include/llvm/Config/config.h.cmake projects/clangbsd/contrib/llvm/include/llvm/Config/config.h.in projects/clangbsd/contrib/llvm/include/llvm/Constants.h projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/ExecutionEngine.h projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/Interpreter.h projects/clangbsd/contrib/llvm/include/llvm/ExecutionEngine/JIT.h projects/clangbsd/contrib/llvm/include/llvm/IntrinsicsARM.td projects/clangbsd/contrib/llvm/include/llvm/LinkAllPasses.h projects/clangbsd/contrib/llvm/include/llvm/MC/MCInst.h projects/clangbsd/contrib/llvm/include/llvm/Support/DOTGraphTraits.h projects/clangbsd/contrib/llvm/include/llvm/Support/GraphWriter.h projects/clangbsd/contrib/llvm/include/llvm/Support/Timer.h projects/clangbsd/contrib/llvm/include/llvm/System/Atomic.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetLowering.h projects/clangbsd/contrib/llvm/include/llvm/Target/TargetSelect.h projects/clangbsd/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/clangbsd/contrib/llvm/include/llvm/Type.h projects/clangbsd/contrib/llvm/lib/Analysis/CFGPrinter.cpp projects/clangbsd/contrib/llvm/lib/Analysis/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Analysis/DbgInfoPrinter.cpp projects/clangbsd/contrib/llvm/lib/Analysis/DebugInfo.cpp projects/clangbsd/contrib/llvm/lib/Analysis/IPA/Andersens.cpp projects/clangbsd/contrib/llvm/lib/Analysis/ProfileInfoLoader.cpp projects/clangbsd/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/clangbsd/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.h projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfException.h projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfWriter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/AsmPrinter/Makefile projects/clangbsd/contrib/llvm/lib/CodeGen/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/CodeGen/ELF.h projects/clangbsd/contrib/llvm/lib/CodeGen/ELFCodeEmitter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/ELFCodeEmitter.h projects/clangbsd/contrib/llvm/lib/CodeGen/ELFWriter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/ELFWriter.h projects/clangbsd/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/IntrinsicLowering.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/LiveInterval.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/ScheduleDAGPrinter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/Makefile projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/Spiller.cpp projects/clangbsd/contrib/llvm/lib/CodeGen/VirtRegRewriter.h projects/clangbsd/contrib/llvm/lib/CompilerDriver/Action.cpp projects/clangbsd/contrib/llvm/lib/CompilerDriver/CompilationGraph.cpp projects/clangbsd/contrib/llvm/lib/CompilerDriver/Plugin.cpp projects/clangbsd/contrib/llvm/lib/CompilerDriver/Tool.cpp projects/clangbsd/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp projects/clangbsd/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp projects/clangbsd/contrib/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JIT.cpp projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JIT.h projects/clangbsd/contrib/llvm/lib/ExecutionEngine/JIT/JITEmitter.cpp projects/clangbsd/contrib/llvm/lib/Makefile projects/clangbsd/contrib/llvm/lib/Support/Annotation.cpp projects/clangbsd/contrib/llvm/lib/Support/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Support/PrettyStackTrace.cpp projects/clangbsd/contrib/llvm/lib/Support/Statistic.cpp projects/clangbsd/contrib/llvm/lib/Support/Timer.cpp projects/clangbsd/contrib/llvm/lib/System/Atomic.cpp projects/clangbsd/contrib/llvm/lib/System/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/System/DynamicLibrary.cpp projects/clangbsd/contrib/llvm/lib/System/Win32/DynamicLibrary.inc projects/clangbsd/contrib/llvm/lib/Target/ARM/ARM.h projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMCodeEmitter.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.h projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetAsmInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetAsmInfo.h projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/ARM/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/ARM/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/ARM/README.txt projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaJITInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaJITInfo.h projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaRegisterInfo.h projects/clangbsd/contrib/llvm/lib/Target/Alpha/AlphaTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/Alpha/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/CBackend/CBackend.cpp projects/clangbsd/contrib/llvm/lib/Target/CellSPU/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/CppBackend/CPPBackend.cpp projects/clangbsd/contrib/llvm/lib/Target/IA64/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/IA64/IA64TargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/MSIL/MSILWriter.cpp projects/clangbsd/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/Mips/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16ISelLowering.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16MemSelOpt.cpp projects/clangbsd/contrib/llvm/lib/Target/PIC16/PIC16TargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/PowerPC/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/Sparc/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86ATTInstPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86CodeEmitter.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86Instr64bit.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrBuilder.h projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86InstrMMX.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86RegisterInfo.td projects/clangbsd/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/clangbsd/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Target/X86/X86TargetMachine.h projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreAsmPrinter.cpp projects/clangbsd/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp projects/clangbsd/contrib/llvm/lib/Transforms/IPO/StripSymbols.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Scalar/PredicateSimplifier.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Utils/CMakeLists.txt projects/clangbsd/contrib/llvm/lib/Transforms/Utils/LCSSA.cpp projects/clangbsd/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Constants.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Mangler.cpp projects/clangbsd/contrib/llvm/lib/VMCore/Pass.cpp projects/clangbsd/contrib/llvm/projects/sample/lib/sample/Makefile projects/clangbsd/contrib/llvm/test/CodeGen/ARM/dyn-stackalloc.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fpconv.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/fpow.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/iabs.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ispositive.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/large-stack.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ldr_ext.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/ldr_frame.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/long-setcc.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/long.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/long_shift.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/mul.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/select.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/stack-frame.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/tst_teq.ll projects/clangbsd/contrib/llvm/test/CodeGen/ARM/unord.ll projects/clangbsd/contrib/llvm/test/CodeGen/PowerPC/int-fp-conv-0.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/pic-1.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/pic-jtbl.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/pic_jumptable.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/pr3495.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/remat-constant.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/tls3.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/x86-64-pic-6.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/x86-64-pic-7.ll projects/clangbsd/contrib/llvm/test/CodeGen/X86/x86-64-pic-9.ll projects/clangbsd/contrib/llvm/test/DebugInfo/printdbginfo.ll projects/clangbsd/contrib/llvm/test/Makefile projects/clangbsd/contrib/llvm/tools/clang/ (props changed) projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/LocalCheckers.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/ConstraintManager.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/GRExprEngine.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/GRState.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/GRTransferFuncs.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/SVals.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/Store.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/SymbolManager.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Analysis/PathSensitive/ValueManager.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/Analyses.def projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/PCHBitCodes.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Action.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/AttributeList.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/DeclSpec.h projects/clangbsd/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/CFG.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/StmtViz.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/BasicConstraintManager.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/BasicStore.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/BugReporter.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CFRefCount.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/CheckObjCUnusedIVars.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRExprEngine.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRExprEngineInternalChecks.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/GRState.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/PathDiagnostic.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/RangeConstraintManager.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/RegionStore.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/SVals.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Analysis/SymbolManager.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/CodeGen/Mangle.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/AnalysisConsumer.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReader.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHReaderDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Frontend/PCHWriter.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Headers/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/AttributeList.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/DeclSpec.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/MinimalAction.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/Sema.h projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp projects/clangbsd/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/NoReturn.m projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/ObjCProperties.m projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/array-struct.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/complex.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/dead-stores.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/elementtype.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/exercise-ps.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/func.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/null-deref-ps.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/outofbound.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/ptr-arith.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/region-only-test.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/stack-addr-ps.c projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/uninit-msg-expr.m projects/clangbsd/contrib/llvm/tools/clang/test/Analysis/uninit-vals-ps-region.c projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/2009-06-16-inc_test.c projects/clangbsd/contrib/llvm/tools/clang/test/CodeGen/2009-06-16-test.c projects/clangbsd/contrib/llvm/tools/clang/test/Coverage/html-diagnostics.c projects/clangbsd/contrib/llvm/tools/clang/test/Parser/check-syntax-1.m projects/clangbsd/contrib/llvm/tools/clang/test/Parser/cxx-template-decl.cpp projects/clangbsd/contrib/llvm/tools/clang/test/Sema/ext_vector_components.c projects/clangbsd/contrib/llvm/tools/clang/test/Sema/vector-cast.c projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/basic_lookup_argdep.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/nested-name-spec.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaCXX/template-specialization.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/implicit-instantiation-1.cpp projects/clangbsd/contrib/llvm/tools/clang/test/SemaTemplate/temp_arg_template.cpp projects/clangbsd/contrib/llvm/tools/clang/tools/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/clang/tools/Makefile projects/clangbsd/contrib/llvm/tools/clang/tools/clang-cc/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/clang/tools/clang-cc/clang-cc.cpp projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/annotations.html projects/clangbsd/contrib/llvm/tools/clang/www/analyzer/scan-build.html projects/clangbsd/contrib/llvm/tools/clang/www/comparison.html projects/clangbsd/contrib/llvm/tools/clang/www/cxx_status.html projects/clangbsd/contrib/llvm/tools/clang/www/performance.html projects/clangbsd/contrib/llvm/tools/gold/Makefile projects/clangbsd/contrib/llvm/tools/lli/lli.cpp projects/clangbsd/contrib/llvm/tools/llvm-mc/AsmLexer.cpp projects/clangbsd/contrib/llvm/tools/llvm-mc/AsmLexer.h projects/clangbsd/contrib/llvm/tools/llvm-mc/AsmParser.cpp projects/clangbsd/contrib/llvm/tools/llvm-mc/AsmParser.h projects/clangbsd/contrib/llvm/tools/llvm-mc/CMakeLists.txt projects/clangbsd/contrib/llvm/tools/llvm-mc/Makefile projects/clangbsd/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/clangbsd/contrib/llvm/tools/llvmc/doc/LLVMC-Reference.rst projects/clangbsd/contrib/llvm/tools/llvmc/driver/Makefile projects/clangbsd/contrib/llvm/tools/llvmc/example/Skeleton/Makefile projects/clangbsd/contrib/llvm/tools/llvmc/example/Skeleton/driver/Makefile projects/clangbsd/contrib/llvm/tools/llvmc/example/mcc16/Makefile projects/clangbsd/contrib/llvm/tools/llvmc/example/mcc16/driver/Makefile projects/clangbsd/contrib/llvm/tools/lto/LTOCodeGenerator.cpp projects/clangbsd/contrib/llvm/tools/lto/Makefile projects/clangbsd/contrib/llvm/tools/lto/lto.cpp projects/clangbsd/contrib/llvm/tools/opt/GraphPrinters.cpp projects/clangbsd/contrib/llvm/unittests/Makefile projects/clangbsd/contrib/llvm/utils/NewNightlyTest.pl projects/clangbsd/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/clangbsd/contrib/llvm/utils/TableGen/LLVMCConfigurationEmitter.cpp projects/clangbsd/contrib/tcsh/sh.func.c projects/clangbsd/contrib/tcsh/tcsh.man projects/clangbsd/etc/login.conf projects/clangbsd/etc/network.subr projects/clangbsd/etc/rc.d/NETWORKING projects/clangbsd/etc/rc.d/ipfw projects/clangbsd/etc/rc.d/netif projects/clangbsd/etc/rc.d/pf projects/clangbsd/etc/rc.d/pflog projects/clangbsd/etc/rc.d/pfsync projects/clangbsd/gnu/usr.bin/cc/c++/Makefile projects/clangbsd/gnu/usr.bin/groff/tmac/mdoc.local projects/clangbsd/include/stdio.h projects/clangbsd/lib/Makefile projects/clangbsd/lib/libc/db/btree/bt_split.c projects/clangbsd/lib/libc/db/mpool/mpool.c projects/clangbsd/lib/libc/gen/Symbol.map projects/clangbsd/lib/libc/gen/fmtcheck.c projects/clangbsd/lib/libc/gen/semctl.c projects/clangbsd/lib/libc/posix1e/Makefile.inc projects/clangbsd/lib/libc/posix1e/Symbol.map projects/clangbsd/lib/libc/posix1e/acl.3 projects/clangbsd/lib/libc/posix1e/acl_add_perm.3 projects/clangbsd/lib/libc/posix1e/acl_calc_mask.c projects/clangbsd/lib/libc/posix1e/acl_copy.c projects/clangbsd/lib/libc/posix1e/acl_create_entry.3 projects/clangbsd/lib/libc/posix1e/acl_delete_entry.3 projects/clangbsd/lib/libc/posix1e/acl_delete_entry.c projects/clangbsd/lib/libc/posix1e/acl_entry.c projects/clangbsd/lib/libc/posix1e/acl_from_text.c projects/clangbsd/lib/libc/posix1e/acl_get.3 projects/clangbsd/lib/libc/posix1e/acl_get.c projects/clangbsd/lib/libc/posix1e/acl_init.c projects/clangbsd/lib/libc/posix1e/acl_set.3 projects/clangbsd/lib/libc/posix1e/acl_set.c projects/clangbsd/lib/libc/posix1e/acl_set_tag_type.3 projects/clangbsd/lib/libc/posix1e/acl_support.c projects/clangbsd/lib/libc/posix1e/acl_support.h projects/clangbsd/lib/libc/posix1e/acl_to_text.3 projects/clangbsd/lib/libc/posix1e/acl_to_text.c projects/clangbsd/lib/libc/posix1e/acl_valid.c projects/clangbsd/lib/libc/rpc/getnetconfig.c projects/clangbsd/lib/libc/stdtime/localtime.c projects/clangbsd/lib/libc/stdtime/strptime.c projects/clangbsd/lib/libc/sys/Makefile.inc projects/clangbsd/lib/libc/sys/Symbol.map projects/clangbsd/lib/libc/sys/getrlimit.2 projects/clangbsd/lib/libc/sys/jail.2 projects/clangbsd/lib/libc/sys/pathconf.2 projects/clangbsd/lib/libcompat/4.3/cfree.c projects/clangbsd/lib/libcompat/4.3/regex.c projects/clangbsd/lib/libcompat/4.4/cuserid.c projects/clangbsd/lib/libusb/ (props changed) projects/clangbsd/lib/libusb/libusb20.3 (props changed) projects/clangbsd/lib/libutil/humanize_number.c projects/clangbsd/lib/libutil/kinfo_getvmmap.3 projects/clangbsd/lib/libutil/login_class.c projects/clangbsd/release/Makefile projects/clangbsd/rescue/rescue/Makefile projects/clangbsd/sbin/ifconfig/Makefile projects/clangbsd/sbin/ifconfig/af_atalk.c projects/clangbsd/sbin/ifconfig/af_inet.c projects/clangbsd/sbin/ifconfig/af_inet6.c projects/clangbsd/sbin/ifconfig/ifclone.c projects/clangbsd/sbin/ifconfig/ifconfig.8 projects/clangbsd/sbin/ifconfig/ifconfig.c projects/clangbsd/sbin/ifconfig/ifconfig.h projects/clangbsd/sbin/ifconfig/ifgif.c projects/clangbsd/sbin/ifconfig/ifgre.c projects/clangbsd/sbin/ifconfig/ifmac.c projects/clangbsd/sbin/ifconfig/ifmedia.c projects/clangbsd/sbin/ifconfig/ifvlan.c projects/clangbsd/sbin/ipfw/Makefile projects/clangbsd/sbin/ipfw/dummynet.c projects/clangbsd/sbin/ipfw/ipfw.8 projects/clangbsd/sbin/ipfw/ipfw2.h projects/clangbsd/sbin/kldload/kldload.8 projects/clangbsd/sbin/mount_nfs/mount_nfs.c projects/clangbsd/sbin/umount/umount.c projects/clangbsd/share/doc/bind9/Makefile projects/clangbsd/share/man/man4/Makefile projects/clangbsd/share/man/man4/ata.4 projects/clangbsd/share/man/man4/gem.4 projects/clangbsd/share/man/man4/pcm.4 projects/clangbsd/share/man/man4/usb.4 projects/clangbsd/share/man/man7/tuning.7 projects/clangbsd/share/man/man8/picobsd.8 projects/clangbsd/share/man/man8/yp.8 projects/clangbsd/share/man/man9/Makefile projects/clangbsd/share/man/man9/stack.9 projects/clangbsd/share/man/man9/usbdi.9 projects/clangbsd/share/man/man9/vm_map.9 projects/clangbsd/share/misc/bsd-family-tree projects/clangbsd/share/mk/bsd.libnames.mk projects/clangbsd/sys/amd64/amd64/intr_machdep.c projects/clangbsd/sys/amd64/amd64/io_apic.c projects/clangbsd/sys/amd64/amd64/local_apic.c projects/clangbsd/sys/amd64/amd64/machdep.c projects/clangbsd/sys/amd64/amd64/mp_machdep.c projects/clangbsd/sys/amd64/amd64/msi.c projects/clangbsd/sys/amd64/include/intr_machdep.h projects/clangbsd/sys/amd64/isa/clock.c projects/clangbsd/sys/arm/arm/elf_machdep.c projects/clangbsd/sys/arm/arm/pmap.c projects/clangbsd/sys/arm/arm/vm_machdep.c projects/clangbsd/sys/arm/at91/at91_machdep.c projects/clangbsd/sys/arm/at91/if_ate.c projects/clangbsd/sys/arm/conf/CAMBRIA.hints projects/clangbsd/sys/arm/conf/DB-78XXX projects/clangbsd/sys/arm/conf/DB-88F5XXX projects/clangbsd/sys/arm/conf/DB-88F6XXX projects/clangbsd/sys/arm/mv/discovery/discovery.c projects/clangbsd/sys/arm/mv/files.mv projects/clangbsd/sys/arm/mv/kirkwood/kirkwood.c projects/clangbsd/sys/arm/mv/mv_machdep.c projects/clangbsd/sys/arm/mv/mvreg.h projects/clangbsd/sys/arm/mv/mvwin.h projects/clangbsd/sys/arm/mv/orion/orion.c projects/clangbsd/sys/arm/sa11x0/assabet_machdep.c projects/clangbsd/sys/arm/xscale/i80321/ep80219_machdep.c projects/clangbsd/sys/arm/xscale/i80321/iq31244_machdep.c projects/clangbsd/sys/arm/xscale/i8134x/crb_machdep.c projects/clangbsd/sys/arm/xscale/ixp425/avila_machdep.c projects/clangbsd/sys/arm/xscale/ixp425/if_npe.c projects/clangbsd/sys/arm/xscale/pxa/pxa_machdep.c projects/clangbsd/sys/boot/i386/libi386/biosdisk.c projects/clangbsd/sys/cam/scsi/scsi_target.c projects/clangbsd/sys/cddl/contrib/opensolaris/ (props changed) projects/clangbsd/sys/cddl/dev/dtrace/amd64/dtrace_isa.c projects/clangbsd/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/clangbsd/sys/compat/freebsd32/freebsd32_ipc.h projects/clangbsd/sys/compat/freebsd32/freebsd32_misc.c projects/clangbsd/sys/compat/freebsd32/freebsd32_proto.h projects/clangbsd/sys/compat/freebsd32/freebsd32_syscall.h projects/clangbsd/sys/compat/freebsd32/freebsd32_syscalls.c projects/clangbsd/sys/compat/freebsd32/freebsd32_sysent.c projects/clangbsd/sys/compat/freebsd32/syscalls.master projects/clangbsd/sys/compat/linux/linux_ipc.c projects/clangbsd/sys/compat/ndis/subr_usbd.c projects/clangbsd/sys/compat/svr4/svr4_ipc.c projects/clangbsd/sys/conf/NOTES projects/clangbsd/sys/conf/files projects/clangbsd/sys/contrib/ngatm/netnatm/sig/sig_uni.c projects/clangbsd/sys/contrib/rdma/rdma_addr.c projects/clangbsd/sys/contrib/rdma/rdma_cma.c projects/clangbsd/sys/dev/ae/if_ae.c projects/clangbsd/sys/dev/age/if_age.c projects/clangbsd/sys/dev/alc/if_alc.c projects/clangbsd/sys/dev/ale/if_ale.c projects/clangbsd/sys/dev/asmc/asmc.c projects/clangbsd/sys/dev/asmc/asmcvar.h projects/clangbsd/sys/dev/ata/ata-all.h projects/clangbsd/sys/dev/ata/ata-dma.c projects/clangbsd/sys/dev/ata/ata-pci.h projects/clangbsd/sys/dev/ata/ata-sata.c projects/clangbsd/sys/dev/ata/chipsets/ata-acard.c projects/clangbsd/sys/dev/ata/chipsets/ata-acerlabs.c projects/clangbsd/sys/dev/ata/chipsets/ata-adaptec.c projects/clangbsd/sys/dev/ata/chipsets/ata-amd.c projects/clangbsd/sys/dev/ata/chipsets/ata-ati.c projects/clangbsd/sys/dev/ata/chipsets/ata-cenatek.c projects/clangbsd/sys/dev/ata/chipsets/ata-cypress.c projects/clangbsd/sys/dev/ata/chipsets/ata-cyrix.c projects/clangbsd/sys/dev/ata/chipsets/ata-highpoint.c projects/clangbsd/sys/dev/ata/chipsets/ata-intel.c projects/clangbsd/sys/dev/ata/chipsets/ata-ite.c projects/clangbsd/sys/dev/ata/chipsets/ata-jmicron.c projects/clangbsd/sys/dev/ata/chipsets/ata-marvell.c projects/clangbsd/sys/dev/ata/chipsets/ata-micron.c projects/clangbsd/sys/dev/ata/chipsets/ata-national.c projects/clangbsd/sys/dev/ata/chipsets/ata-netcell.c projects/clangbsd/sys/dev/ata/chipsets/ata-nvidia.c projects/clangbsd/sys/dev/ata/chipsets/ata-promise.c projects/clangbsd/sys/dev/ata/chipsets/ata-serverworks.c projects/clangbsd/sys/dev/ata/chipsets/ata-siliconimage.c projects/clangbsd/sys/dev/ata/chipsets/ata-sis.c projects/clangbsd/sys/dev/ata/chipsets/ata-via.c projects/clangbsd/sys/dev/ath/if_ath.c projects/clangbsd/sys/dev/bce/if_bce.c projects/clangbsd/sys/dev/bce/if_bcereg.h projects/clangbsd/sys/dev/bfe/if_bfe.c projects/clangbsd/sys/dev/bge/if_bge.c projects/clangbsd/sys/dev/bm/if_bm.c projects/clangbsd/sys/dev/cas/if_cas.c projects/clangbsd/sys/dev/cas/if_casvar.h projects/clangbsd/sys/dev/cpuctl/cpuctl.c projects/clangbsd/sys/dev/cs/if_cs.c projects/clangbsd/sys/dev/cxgb/cxgb_adapter.h projects/clangbsd/sys/dev/cxgb/cxgb_main.c projects/clangbsd/sys/dev/cxgb/cxgb_sge.c projects/clangbsd/sys/dev/cxgb/sys/mvec.h projects/clangbsd/sys/dev/cxgb/sys/uipc_mvec.c projects/clangbsd/sys/dev/dc/if_dc.c projects/clangbsd/sys/dev/de/if_de.c projects/clangbsd/sys/dev/drm/drm_irq.c projects/clangbsd/sys/dev/drm/drm_sysctl.c projects/clangbsd/sys/dev/drm/i915_dma.c projects/clangbsd/sys/dev/drm/i915_drv.h projects/clangbsd/sys/dev/drm/i915_irq.c projects/clangbsd/sys/dev/drm/radeon_cp.c projects/clangbsd/sys/dev/drm/radeon_irq.c projects/clangbsd/sys/dev/e1000/e1000_82540.c projects/clangbsd/sys/dev/e1000/e1000_82541.c projects/clangbsd/sys/dev/e1000/e1000_82571.c projects/clangbsd/sys/dev/e1000/e1000_82575.c projects/clangbsd/sys/dev/e1000/e1000_82575.h projects/clangbsd/sys/dev/e1000/e1000_api.c projects/clangbsd/sys/dev/e1000/e1000_defines.h projects/clangbsd/sys/dev/e1000/e1000_hw.h projects/clangbsd/sys/dev/e1000/e1000_ich8lan.c projects/clangbsd/sys/dev/e1000/e1000_ich8lan.h projects/clangbsd/sys/dev/e1000/e1000_mac.c projects/clangbsd/sys/dev/e1000/e1000_osdep.c projects/clangbsd/sys/dev/e1000/e1000_phy.c projects/clangbsd/sys/dev/e1000/e1000_phy.h projects/clangbsd/sys/dev/e1000/e1000_regs.h projects/clangbsd/sys/dev/e1000/if_em.c projects/clangbsd/sys/dev/e1000/if_em.h projects/clangbsd/sys/dev/e1000/if_igb.c projects/clangbsd/sys/dev/e1000/if_igb.h projects/clangbsd/sys/dev/ed/if_ed.c projects/clangbsd/sys/dev/et/if_et.c projects/clangbsd/sys/dev/ex/if_ex.c projects/clangbsd/sys/dev/fdc/fdc.c projects/clangbsd/sys/dev/fe/if_fe.c projects/clangbsd/sys/dev/fxp/if_fxp.c projects/clangbsd/sys/dev/gem/if_gem.c projects/clangbsd/sys/dev/gem/if_gem_pci.c projects/clangbsd/sys/dev/gem/if_gemreg.h projects/clangbsd/sys/dev/gem/if_gemvar.h projects/clangbsd/sys/dev/hme/if_hme.c projects/clangbsd/sys/dev/hptmv/atapi.h projects/clangbsd/sys/dev/hwpmc/hwpmc_logging.c projects/clangbsd/sys/dev/hwpmc/hwpmc_mod.c projects/clangbsd/sys/dev/ie/if_ie.c projects/clangbsd/sys/dev/if_ndis/if_ndis.c projects/clangbsd/sys/dev/iscsi/initiator/isc_soc.c projects/clangbsd/sys/dev/ixgb/if_ixgb.c projects/clangbsd/sys/dev/ixgbe/ixgbe.c projects/clangbsd/sys/dev/ixgbe/ixgbe.h projects/clangbsd/sys/dev/ixgbe/ixgbe_82598.c projects/clangbsd/sys/dev/ixgbe/ixgbe_82599.c projects/clangbsd/sys/dev/ixgbe/ixgbe_api.c projects/clangbsd/sys/dev/ixgbe/ixgbe_api.h projects/clangbsd/sys/dev/ixgbe/ixgbe_common.c projects/clangbsd/sys/dev/ixgbe/ixgbe_osdep.h projects/clangbsd/sys/dev/ixgbe/ixgbe_phy.c projects/clangbsd/sys/dev/ixgbe/ixgbe_phy.h projects/clangbsd/sys/dev/ixgbe/ixgbe_type.h projects/clangbsd/sys/dev/jme/if_jme.c projects/clangbsd/sys/dev/le/lance.c projects/clangbsd/sys/dev/lge/if_lge.c projects/clangbsd/sys/dev/malo/if_malo.c projects/clangbsd/sys/dev/md/md.c projects/clangbsd/sys/dev/mfi/mfi.c projects/clangbsd/sys/dev/mge/if_mge.c projects/clangbsd/sys/dev/mpt/mpt_cam.c projects/clangbsd/sys/dev/msk/if_msk.c projects/clangbsd/sys/dev/mxge/if_mxge.c projects/clangbsd/sys/dev/mxge/if_mxge_var.h projects/clangbsd/sys/dev/my/if_my.c projects/clangbsd/sys/dev/nfe/if_nfe.c projects/clangbsd/sys/dev/nge/if_nge.c projects/clangbsd/sys/dev/nve/if_nve.c projects/clangbsd/sys/dev/nxge/if_nxge.c projects/clangbsd/sys/dev/pcn/if_pcn.c projects/clangbsd/sys/dev/pdq/pdq_ifsubr.c projects/clangbsd/sys/dev/re/if_re.c projects/clangbsd/sys/dev/sf/if_sf.c projects/clangbsd/sys/dev/sis/if_sis.c projects/clangbsd/sys/dev/sk/if_sk.c projects/clangbsd/sys/dev/sn/if_sn.c projects/clangbsd/sys/dev/snc/dp83932.c projects/clangbsd/sys/dev/sound/midi/midi.c projects/clangbsd/sys/dev/sound/midi/sequencer.c projects/clangbsd/sys/dev/sound/pci/hda/hdac.c projects/clangbsd/sys/dev/sound/pcm/feeder_rate.c projects/clangbsd/sys/dev/speaker/spkr.c projects/clangbsd/sys/dev/ste/if_ste.c projects/clangbsd/sys/dev/stge/if_stge.c projects/clangbsd/sys/dev/ti/if_ti.c projects/clangbsd/sys/dev/tl/if_tl.c projects/clangbsd/sys/dev/tsec/if_tsec.c projects/clangbsd/sys/dev/tx/if_tx.c projects/clangbsd/sys/dev/txp/if_txp.c projects/clangbsd/sys/dev/usb/net/if_aue.c projects/clangbsd/sys/dev/usb/net/if_axe.c projects/clangbsd/sys/dev/usb/net/if_cue.c projects/clangbsd/sys/dev/usb/net/if_kue.c projects/clangbsd/sys/dev/usb/net/if_rue.c projects/clangbsd/sys/dev/usb/net/if_udav.c projects/clangbsd/sys/dev/usb/storage/umass.c projects/clangbsd/sys/dev/usb/usbdevs projects/clangbsd/sys/dev/usb/wlan/if_upgt.c projects/clangbsd/sys/dev/usb/wlan/if_urtw.c projects/clangbsd/sys/dev/usb/wlan/if_zyd.c projects/clangbsd/sys/dev/vge/if_vge.c projects/clangbsd/sys/dev/vr/if_vr.c projects/clangbsd/sys/dev/wb/if_wb.c projects/clangbsd/sys/dev/wi/if_wi.c projects/clangbsd/sys/dev/wl/if_wl.c projects/clangbsd/sys/dev/xe/if_xe.c projects/clangbsd/sys/dev/xen/netfront/ (props changed) projects/clangbsd/sys/dev/xen/xenpci/ (props changed) projects/clangbsd/sys/dev/xl/if_xl.c projects/clangbsd/sys/fs/coda/coda_psdev.c projects/clangbsd/sys/fs/coda/coda_vnops.c projects/clangbsd/sys/fs/nfsclient/nfs_clvnops.c projects/clangbsd/sys/fs/procfs/procfs_map.c projects/clangbsd/sys/fs/pseudofs/pseudofs_vnops.c projects/clangbsd/sys/fs/tmpfs/tmpfs_subr.c projects/clangbsd/sys/geom/geom_redboot.c projects/clangbsd/sys/geom/linux_lvm/g_linux_lvm.c projects/clangbsd/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c projects/clangbsd/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h projects/clangbsd/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h projects/clangbsd/sys/gnu/fs/xfs/xfs_rw.h projects/clangbsd/sys/gnu/fs/xfs/xfs_vnodeops.c projects/clangbsd/sys/i386/i386/elf_machdep.c projects/clangbsd/sys/i386/i386/intr_machdep.c projects/clangbsd/sys/i386/i386/io_apic.c projects/clangbsd/sys/i386/i386/local_apic.c projects/clangbsd/sys/i386/i386/machdep.c projects/clangbsd/sys/i386/i386/mp_machdep.c projects/clangbsd/sys/i386/i386/msi.c projects/clangbsd/sys/i386/ibcs2/ibcs2_ipc.c projects/clangbsd/sys/i386/include/intr_machdep.h projects/clangbsd/sys/i386/isa/clock.c projects/clangbsd/sys/i386/linux/linux_machdep.c projects/clangbsd/sys/i386/xen/mp_machdep.c projects/clangbsd/sys/ia64/ia64/elf_machdep.c projects/clangbsd/sys/ia64/ia64/machdep.c projects/clangbsd/sys/ia64/ia64/mp_machdep.c projects/clangbsd/sys/kern/init_sysent.c projects/clangbsd/sys/kern/kern_descrip.c projects/clangbsd/sys/kern/kern_fork.c projects/clangbsd/sys/kern/kern_intr.c projects/clangbsd/sys/kern/kern_jail.c projects/clangbsd/sys/kern/kern_lockf.c projects/clangbsd/sys/kern/kern_mbuf.c projects/clangbsd/sys/kern/kern_resource.c projects/clangbsd/sys/kern/kern_switch.c projects/clangbsd/sys/kern/kern_vimage.c projects/clangbsd/sys/kern/link_elf.c projects/clangbsd/sys/kern/link_elf_obj.c projects/clangbsd/sys/kern/makesyscalls.sh projects/clangbsd/sys/kern/sched_ule.c projects/clangbsd/sys/kern/subr_pcpu.c projects/clangbsd/sys/kern/subr_stack.c projects/clangbsd/sys/kern/sys_process.c projects/clangbsd/sys/kern/syscalls.c projects/clangbsd/sys/kern/syscalls.master projects/clangbsd/sys/kern/systrace_args.c projects/clangbsd/sys/kern/sysv_ipc.c projects/clangbsd/sys/kern/sysv_msg.c projects/clangbsd/sys/kern/sysv_sem.c projects/clangbsd/sys/kern/sysv_shm.c projects/clangbsd/sys/kern/tty.c projects/clangbsd/sys/kern/uipc_shm.c projects/clangbsd/sys/mips/adm5120/if_admsw.c projects/clangbsd/sys/mips/mips/elf_machdep.c projects/clangbsd/sys/mips/mips/mp_machdep.c projects/clangbsd/sys/mips/mips/pmap.c projects/clangbsd/sys/modules/dtrace/dtnfsclient/ (props changed) projects/clangbsd/sys/modules/gem/Makefile projects/clangbsd/sys/modules/igb/Makefile projects/clangbsd/sys/modules/ip6_mroute_mod/ (props changed) projects/clangbsd/sys/modules/ipmi/ipmi_linux/ (props changed) projects/clangbsd/sys/modules/ixgbe/Makefile projects/clangbsd/sys/net/if.c projects/clangbsd/sys/net/if_ethersubr.c projects/clangbsd/sys/net/if_fddisubr.c projects/clangbsd/sys/net/if_media.h projects/clangbsd/sys/net/if_spppsubr.c projects/clangbsd/sys/net/if_stf.c projects/clangbsd/sys/net/if_tap.c projects/clangbsd/sys/net/if_tun.c projects/clangbsd/sys/net/if_var.h projects/clangbsd/sys/net/netisr.c projects/clangbsd/sys/net/route.c projects/clangbsd/sys/net/rtsock.c projects/clangbsd/sys/net80211/ieee80211.c projects/clangbsd/sys/netatalk/aarp.c projects/clangbsd/sys/netatalk/at_control.c projects/clangbsd/sys/netatalk/at_extern.h projects/clangbsd/sys/netatalk/at_rmx.c projects/clangbsd/sys/netatalk/at_var.h projects/clangbsd/sys/netatalk/ddp_input.c projects/clangbsd/sys/netatalk/ddp_output.c projects/clangbsd/sys/netatalk/ddp_pcb.c projects/clangbsd/sys/netatalk/ddp_usrreq.c projects/clangbsd/sys/netgraph/atm/uni/ng_uni.c projects/clangbsd/sys/netgraph/ng_eiface.c projects/clangbsd/sys/netgraph/ng_ether.c projects/clangbsd/sys/netgraph/ng_iface.c projects/clangbsd/sys/netinet/if_ether.c projects/clangbsd/sys/netinet/igmp.c projects/clangbsd/sys/netinet/in.c projects/clangbsd/sys/netinet/in_gif.c projects/clangbsd/sys/netinet/in_mcast.c projects/clangbsd/sys/netinet/in_pcb.c projects/clangbsd/sys/netinet/in_var.h projects/clangbsd/sys/netinet/ip_carp.c projects/clangbsd/sys/netinet/ip_divert.c projects/clangbsd/sys/netinet/ip_dummynet.h projects/clangbsd/sys/netinet/ip_icmp.c projects/clangbsd/sys/netinet/ip_input.c projects/clangbsd/sys/netinet/ip_mroute.c projects/clangbsd/sys/netinet/ip_options.c projects/clangbsd/sys/netinet/ip_output.c projects/clangbsd/sys/netinet/ipfw/ip_dummynet.c (contents, props changed) projects/clangbsd/sys/netinet/ipfw/ip_fw2.c (contents, props changed) projects/clangbsd/sys/netinet/ipfw/ip_fw_nat.c projects/clangbsd/sys/netinet/ipfw/ip_fw_pfil.c (props changed) projects/clangbsd/sys/netinet/raw_ip.c projects/clangbsd/sys/netinet/tcp_input.c projects/clangbsd/sys/netinet/tcp_usrreq.c projects/clangbsd/sys/netinet6/frag6.c projects/clangbsd/sys/netinet6/icmp6.c projects/clangbsd/sys/netinet6/in6.c projects/clangbsd/sys/netinet6/in6_ifattach.c projects/clangbsd/sys/netinet6/in6_pcb.c projects/clangbsd/sys/netinet6/in6_pcb.h projects/clangbsd/sys/netinet6/in6_src.c projects/clangbsd/sys/netinet6/in6_var.h projects/clangbsd/sys/netinet6/ip6_input.c projects/clangbsd/sys/netinet6/ip6_output.c projects/clangbsd/sys/netinet6/ip6_var.h projects/clangbsd/sys/netinet6/mld6.c projects/clangbsd/sys/netinet6/nd6.c projects/clangbsd/sys/netinet6/nd6_nbr.c projects/clangbsd/sys/netinet6/nd6_rtr.c projects/clangbsd/sys/netinet6/raw_ip6.c projects/clangbsd/sys/netinet6/udp6_usrreq.c projects/clangbsd/sys/netinet6/vinet6.h projects/clangbsd/sys/netipsec/key.c projects/clangbsd/sys/netipx/ipx.c projects/clangbsd/sys/netipx/ipx_if.h projects/clangbsd/sys/netipx/ipx_input.c projects/clangbsd/sys/netipx/ipx_outputfl.c projects/clangbsd/sys/netipx/ipx_pcb.c projects/clangbsd/sys/nfsclient/nfs_vnops.c projects/clangbsd/sys/pc98/pc98/machdep.c projects/clangbsd/sys/pci/if_rl.c projects/clangbsd/sys/powerpc/aim/mmu_oea.c projects/clangbsd/sys/powerpc/aim/mmu_oea64.c projects/clangbsd/sys/powerpc/booke/pmap.c projects/clangbsd/sys/powerpc/conf/MPC85XX projects/clangbsd/sys/powerpc/mpc85xx/ds1553_bus_lbc.c projects/clangbsd/sys/powerpc/powerpc/elf_machdep.c projects/clangbsd/sys/powerpc/powerpc/mp_machdep.c projects/clangbsd/sys/rpc/clnt_rc.c projects/clangbsd/sys/rpc/rpcsec_gss/rpcsec_gss.c projects/clangbsd/sys/security/mac_biba/mac_biba.c projects/clangbsd/sys/security/mac_lomac/mac_lomac.c projects/clangbsd/sys/sparc64/conf/GENERIC projects/clangbsd/sys/sparc64/include/pcpu.h projects/clangbsd/sys/sparc64/sparc64/elf_machdep.c projects/clangbsd/sys/sparc64/sparc64/machdep.c projects/clangbsd/sys/sparc64/sparc64/mp_machdep.c projects/clangbsd/sys/sparc64/sparc64/pmap.c projects/clangbsd/sys/sun4v/conf/GENERIC projects/clangbsd/sys/sun4v/include/pcpu.h projects/clangbsd/sys/sun4v/sun4v/machdep.c projects/clangbsd/sys/sun4v/sun4v/mp_machdep.c projects/clangbsd/sys/sun4v/sun4v/pmap.c projects/clangbsd/sys/sys/acl.h projects/clangbsd/sys/sys/ata.h projects/clangbsd/sys/sys/conf.h projects/clangbsd/sys/sys/ipc.h projects/clangbsd/sys/sys/jail.h projects/clangbsd/sys/sys/linker.h projects/clangbsd/sys/sys/msg.h projects/clangbsd/sys/sys/param.h projects/clangbsd/sys/sys/pcpu.h projects/clangbsd/sys/sys/priv.h projects/clangbsd/sys/sys/resource.h projects/clangbsd/sys/sys/resourcevar.h projects/clangbsd/sys/sys/sched.h projects/clangbsd/sys/sys/sem.h projects/clangbsd/sys/sys/shm.h projects/clangbsd/sys/sys/stack.h projects/clangbsd/sys/sys/syscall.h projects/clangbsd/sys/sys/syscall.mk projects/clangbsd/sys/sys/sysctl.h projects/clangbsd/sys/sys/sysproto.h projects/clangbsd/sys/sys/tty.h projects/clangbsd/sys/sys/uio.h projects/clangbsd/sys/sys/unistd.h projects/clangbsd/sys/sys/vnode.h projects/clangbsd/sys/ufs/ufs/ufs_dirhash.c projects/clangbsd/sys/vm/default_pager.c projects/clangbsd/sys/vm/device_pager.c projects/clangbsd/sys/vm/phys_pager.c projects/clangbsd/sys/vm/swap_pager.c projects/clangbsd/sys/vm/vm.h projects/clangbsd/sys/vm/vm_contig.c projects/clangbsd/sys/vm/vm_extern.h projects/clangbsd/sys/vm/vm_fault.c projects/clangbsd/sys/vm/vm_kern.c projects/clangbsd/sys/vm/vm_map.c projects/clangbsd/sys/vm/vm_map.h projects/clangbsd/sys/vm/vm_mmap.c projects/clangbsd/sys/vm/vm_object.c projects/clangbsd/sys/vm/vm_object.h projects/clangbsd/sys/vm/vm_pageout.c projects/clangbsd/sys/vm/vm_pager.c projects/clangbsd/sys/vm/vm_pager.h projects/clangbsd/sys/vm/vm_phys.c projects/clangbsd/sys/vm/vm_phys.h projects/clangbsd/sys/vm/vnode_pager.c projects/clangbsd/tools/build/mk/OptionalObsoleteFiles.inc projects/clangbsd/tools/regression/bin/sh/builtins/command5.0.stdout projects/clangbsd/tools/regression/lib/msun/test-conj.t (props changed) projects/clangbsd/tools/tools/ath/athpoke/Makefile projects/clangbsd/tools/tools/ath/athpoke/athpoke.c projects/clangbsd/tools/tools/ath/common/dumpregs.h (props changed) projects/clangbsd/tools/tools/ath/common/dumpregs_5210.c (props changed) projects/clangbsd/tools/tools/ath/common/dumpregs_5211.c (props changed) projects/clangbsd/tools/tools/ath/common/dumpregs_5212.c (props changed) projects/clangbsd/tools/tools/ath/common/dumpregs_5416.c (props changed) projects/clangbsd/tools/tools/nanobsd/nanobsd.sh projects/clangbsd/usr.bin/clang/bin/clang-cc/Makefile projects/clangbsd/usr.bin/clang/bin/clang/Makefile projects/clangbsd/usr.bin/clang/lib/Makefile projects/clangbsd/usr.bin/clang/lib/libclanganalysis/Makefile projects/clangbsd/usr.bin/clang/lib/libllvmarmcodegen/Makefile projects/clangbsd/usr.bin/clang/lib/libllvmsystem/Makefile projects/clangbsd/usr.bin/fstat/fstat.c projects/clangbsd/usr.bin/gzip/gzip.1 projects/clangbsd/usr.bin/gzip/gzip.c projects/clangbsd/usr.bin/gzip/zuncompress.c projects/clangbsd/usr.bin/hexdump/parse.c projects/clangbsd/usr.bin/ipcs/ipcs.c projects/clangbsd/usr.bin/keylogout/keylogout.c projects/clangbsd/usr.bin/killall/Makefile projects/clangbsd/usr.bin/killall/killall.c projects/clangbsd/usr.bin/limits/limits.c projects/clangbsd/usr.bin/make/arch.c projects/clangbsd/usr.bin/makewhatis/makewhatis.c projects/clangbsd/usr.bin/nfsstat/nfsstat.c projects/clangbsd/usr.bin/showmount/showmount.c projects/clangbsd/usr.bin/usbhidctl/usbhid.c projects/clangbsd/usr.bin/ypcat/ypcat.c projects/clangbsd/usr.bin/ypmatch/ypmatch.c projects/clangbsd/usr.bin/ypwhich/ypwhich.c projects/clangbsd/usr.sbin/amd/include/config.h projects/clangbsd/usr.sbin/cxgbtool/cxgbtool.c projects/clangbsd/usr.sbin/fdcontrol/fdcontrol.c projects/clangbsd/usr.sbin/fdformat/fdformat.c projects/clangbsd/usr.sbin/fdread/fdread.c projects/clangbsd/usr.sbin/fdwrite/fdwrite.c projects/clangbsd/usr.sbin/jail/Makefile projects/clangbsd/usr.sbin/jail/jail.8 projects/clangbsd/usr.sbin/jail/jail.c projects/clangbsd/usr.sbin/jexec/Makefile projects/clangbsd/usr.sbin/jexec/jexec.c projects/clangbsd/usr.sbin/jls/Makefile projects/clangbsd/usr.sbin/jls/jls.c projects/clangbsd/usr.sbin/lpr/common_source/displayq.c projects/clangbsd/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) projects/clangbsd/usr.sbin/makefs/ffs/ffs_subr.c (props changed) projects/clangbsd/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) projects/clangbsd/usr.sbin/makefs/getid.c (props changed) projects/clangbsd/usr.sbin/mountd/mountd.c projects/clangbsd/usr.sbin/nfsd/nfsd.c projects/clangbsd/usr.sbin/rpc.lockd/kern.c projects/clangbsd/usr.sbin/rpc.umntall/mounttab.c projects/clangbsd/usr.sbin/rpc.umntall/mounttab.h projects/clangbsd/usr.sbin/rpc.umntall/rpc.umntall.c projects/clangbsd/usr.sbin/sysinstall/Makefile projects/clangbsd/usr.sbin/sysinstall/devices.c projects/clangbsd/usr.sbin/sysinstall/dispatch.c projects/clangbsd/usr.sbin/sysinstall/help/usage.hlp projects/clangbsd/usr.sbin/sysinstall/label.c projects/clangbsd/usr.sbin/sysinstall/media.c projects/clangbsd/usr.sbin/sysinstall/menus.c projects/clangbsd/usr.sbin/sysinstall/options.c projects/clangbsd/usr.sbin/sysinstall/sysinstall.h projects/clangbsd/usr.sbin/sysinstall/ufs.c projects/clangbsd/usr.sbin/ypserv/Makefile.yp projects/clangbsd/usr.sbin/ypserv/yp_access.c projects/clangbsd/usr.sbin/ypserv/ypserv.8 Modified: projects/clangbsd/MAINTAINERS ============================================================================== --- projects/clangbsd/MAINTAINERS Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/MAINTAINERS Sun Jun 28 15:38:50 2009 (r195137) @@ -124,7 +124,6 @@ usr.bin/bluetooth emax Pre-commit review usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports. -usb core Please contact core@ before any major changes ncurses rafan Heads-up appreciated, try not to break it. Following are the entries from the Makefiles, and a few other sources. Modified: projects/clangbsd/Makefile.inc1 ============================================================================== --- projects/clangbsd/Makefile.inc1 Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/Makefile.inc1 Sun Jun 28 15:38:50 2009 (r195137) @@ -285,7 +285,7 @@ LIB32WMAKEENV= MAKEOBJDIRPREFIX=${OBJTRE INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ CC="gcc ${LIB32FLAGS}" \ - CXX="${CXX} ${LIB32FLAGS}" \ + CXX="g++ ${LIB32FLAGS}" \ OBJC="gcc ${LIB32FLAGS}" \ LD="${LD} -m elf_i386_fbsd -Y P,${LIB32TMP}/usr/lib32" \ AS="${AS} --32" \ Modified: projects/clangbsd/ObsoleteFiles.inc ============================================================================== --- projects/clangbsd/ObsoleteFiles.inc Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/ObsoleteFiles.inc Sun Jun 28 15:38:50 2009 (r195137) @@ -14,11 +14,73 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090624: update usbdi(9) +OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_toggle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_close_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_device2interface_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_flags_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_endpoint_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_edesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_idesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc_full.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_device_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_altindex.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_no_alts.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_quirks.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_speed.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_xfer_status.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe_intr.9.gz +OLD_FILES+=usr/share/man/man9/usbd_pipe2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_index.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_no.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_interface.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_default_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_isoc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_sync_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usb_find_desc.9.gz +# 20090623: number of headers needed for a usb driver reduced +OLD_FILES+=usr/include/dev/usb/usb_defs.h +OLD_FILES+=usr/include/dev/usb/usb_error.h +OLD_FILES+=usr/include/dev/usb/usb_handle_request.h +OLD_FILES+=usr/include/dev/usb/usb_hid.h +OLD_FILES+=usr/include/dev/usb/usb_lookup.h +OLD_FILES+=usr/include/dev/usb/usb_mfunc.h +OLD_FILES+=usr/include/dev/usb/usb_parse.h +OLD_FILES+=usr/include/dev/usb/usb_revision.h +# 20090609: devclass_add_driver is no longer public +OLD_FILES+=usr/share/man/man9/devclass_add_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_delete_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_find_driver.9.gz # 20090605: removal of clists OLD_FILES+=usr/include/sys/clist.h # 20090602: removal of window(1) OLD_FILES+=usr/bin/window OLD_FILES+=usr/share/man/man1/window.1.gz +# 20090531: bind 9.6.1rc1 import +OLD_LIBS+=usr/lib/liblwres.so.30 # 20090530: removal of early.sh OLD_FILES+=etc/rc.d/early.sh # 20090527: renaming of S{LIST,TAILQ}_REMOVE_NEXT() to _REMOVE_AFTER() @@ -58,7 +120,7 @@ OLD_DIRS+=usr/include/legacy/dev/usb OLD_DIRS+=usr/include/legacy/dev OLD_DIRS+=usr/include/legacy # 20090526: removal of makekey(8) -OLD_FILES+=libexec/makekey +OLD_FILES+=usr/libexec/makekey OLD_FILES+=usr/share/man/man8/makekey.8.gz # 20090522: removal of University of Michigan NFSv4 client OLD_FILES+=etc/rc.d/idmapd Modified: projects/clangbsd/UPDATING ============================================================================== --- projects/clangbsd/UPDATING Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/UPDATING Sun Jun 28 15:38:50 2009 (r195137) @@ -22,6 +22,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090624: + The ABI of various structures related to the SYSV IPC API have + been changed. As a result, the COMPAT_FREEBSD[456] kernel + options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version + to 800100. + 20090622: Layout of struct vnet has changed as routing related variables were moved to their own Vimage module. Modules need to be @@ -80,12 +86,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. rebuilt. Bump __FreeBSD_version to 800096. -20090531: - For those who use ipfw and especially pf, those two firewalls - are now started BEFORE the network is initialized (i.e., before - rc.d/netif). Please review your rules to make sure that your - interfaces will be properly described. - 20090530: Remove the tunable/sysctl debug.mpsafevfs as its initial purpose is no more valid. Modified: projects/clangbsd/bin/chflags/chflags.c ============================================================================== --- projects/clangbsd/bin/chflags/chflags.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/chflags/chflags.c Sun Jun 28 15:38:50 2009 (r195137) @@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include -void usage(void); +static void usage(void); int main(int argc, char *argv[]) @@ -196,7 +196,7 @@ main(int argc, char *argv[]) exit(rval); } -void +static void usage(void) { (void)fprintf(stderr, Modified: projects/clangbsd/bin/chmod/chmod.c ============================================================================== --- projects/clangbsd/bin/chmod/chmod.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/chmod/chmod.c Sun Jun 28 15:38:50 2009 (r195137) @@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include -void usage(void); +static void usage(void); int main(int argc, char *argv[]) @@ -212,7 +212,7 @@ done: argv += optind; exit(rval); } -void +static void usage(void) { (void)fprintf(stderr, Modified: projects/clangbsd/bin/df/df.c ============================================================================== --- projects/clangbsd/bin/df/df.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/df/df.c Sun Jun 28 15:38:50 2009 (r195137) @@ -476,7 +476,7 @@ prtstat(struct statfs *sfsp, struct maxw (void)printf("\n"); } -void +static void addstat(struct statfs *totalfsp, struct statfs *statfsp) { uint64_t bsize; Modified: projects/clangbsd/bin/hostname/hostname.c ============================================================================== --- projects/clangbsd/bin/hostname/hostname.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/hostname/hostname.c Sun Jun 28 15:38:50 2009 (r195137) @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include -void usage(void); +static void usage(void); int main(int argc, char *argv[]) @@ -96,7 +96,7 @@ main(int argc, char *argv[]) exit(0); } -void +static void usage(void) { Modified: projects/clangbsd/bin/sh/eval.c ============================================================================== --- projects/clangbsd/bin/sh/eval.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/sh/eval.c Sun Jun 28 15:38:50 2009 (r195137) @@ -401,8 +401,8 @@ evalsubshell(union node *n, int flags) int backgnd = (n->type == NBACKGND); expredir(n->nredir.redirect); - jp = makejob(n, 1); - if (forkshell(jp, n, backgnd) == 0) { + if ((!backgnd && flags & EV_EXIT && !have_traps()) || + forkshell(jp = makejob(n, 1), n, backgnd) == 0) { if (backgnd) flags &=~ EV_TESTED; redirect(n->nredir.redirect, 0); @@ -589,22 +589,14 @@ evalcommand(union node *cmd, int flags, struct cmdentry cmdentry; struct job *jp; struct jmploc jmploc; - struct jmploc *volatile savehandler; - char *volatile savecmdname; - volatile struct shparam saveparam; - struct localvar *volatile savelocalvars; + struct jmploc *savehandler; + char *savecmdname; + struct shparam saveparam; + struct localvar *savelocalvars; volatile int e; char *lastarg; int realstatus; int do_clearcmdentry; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &argv; - (void) &argc; - (void) &lastarg; - (void) &flags; - (void) &do_clearcmdentry; -#endif /* First expand the arguments. */ TRACE(("evalcommand(%p, %d) called\n", (void *)cmd, flags)); @@ -650,17 +642,32 @@ evalcommand(union node *cmd, int flags, /* Print the command if xflag is set. */ if (xflag) { char sep = 0; + const char *p; out2str(ps4val()); for (sp = varlist.list ; sp ; sp = sp->next) { if (sep != 0) outc(' ', &errout); - out2str(sp->text); + p = sp->text; + while (*p != '=' && *p != '\0') + out2c(*p++); + if (*p != '\0') { + out2c(*p++); + out2qstr(p); + } sep = ' '; } for (sp = arglist.list ; sp ; sp = sp->next) { if (sep != 0) outc(' ', &errout); - out2str(sp->text); + /* Disambiguate command looking like assignment. */ + if (sp == arglist.list && + strchr(sp->text, '=') != NULL && + strchr(sp->text, '\'') == NULL) { + out2c('\''); + out2str(sp->text); + out2c('\''); + } else + out2qstr(sp->text); sep = ' '; } outc('\n', &errout); @@ -779,9 +786,10 @@ evalcommand(union node *cmd, int flags, savelocalvars = localvars; localvars = NULL; INTON; + savehandler = handler; if (setjmp(jmploc.loc)) { if (exception == EXSHELLPROC) - freeparam((struct shparam *)&saveparam); + freeparam(&saveparam); else { freeparam(&shellparam); shellparam = saveparam; @@ -791,7 +799,6 @@ evalcommand(union node *cmd, int flags, handler = savehandler; longjmp(handler->loc, 1); } - savehandler = handler; handler = &jmploc; for (sp = varlist.list ; sp ; sp = sp->next) mklocal(sp->text); @@ -830,12 +837,12 @@ evalcommand(union node *cmd, int flags, savecmdname = commandname; cmdenviron = varlist.list; e = -1; + savehandler = handler; if (setjmp(jmploc.loc)) { e = exception; exitstatus = (e == EXINT)? SIGINT+128 : 2; goto cmddone; } - savehandler = handler; handler = &jmploc; redirect(cmd->ncmd.redirect, mode); if (cmdentry.special) Modified: projects/clangbsd/bin/sh/exec.c ============================================================================== --- projects/clangbsd/bin/sh/exec.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/sh/exec.c Sun Jun 28 15:38:50 2009 (r195137) @@ -756,6 +756,7 @@ typecmd_impl(int argc, char **argv, int if ((cmdp = cmdlookup(argv[i], 0)) != NULL) { entry.cmdtype = cmdp->cmdtype; entry.u = cmdp->param; + entry.special = cmdp->special; } else { /* Finally use brute force */ @@ -804,6 +805,9 @@ typecmd_impl(int argc, char **argv, int case CMDBUILTIN: if (cmd == TYPECMD_SMALLV) out1fmt("%s\n", argv[i]); + else if (entry.special) + out1fmt("%s is a special shell builtin\n", + argv[i]); else out1fmt("%s is a shell builtin\n", argv[i]); break; Modified: projects/clangbsd/bin/sh/expand.c ============================================================================== --- projects/clangbsd/bin/sh/expand.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/sh/expand.c Sun Jun 28 15:38:50 2009 (r195137) @@ -82,7 +82,7 @@ struct ifsregion { struct ifsregion *next; /* next region in list */ int begoff; /* offset of start of region */ int endoff; /* offset of end of region */ - int nulonly; /* search for nul bytes only */ + int inquotes; /* search for nul bytes only */ }; @@ -936,13 +936,19 @@ numvar: */ STATIC void -recordregion(int start, int end, int nulonly) +recordregion(int start, int end, int inquotes) { struct ifsregion *ifsp; if (ifslastp == NULL) { ifsp = &ifsfirst; } else { + if (ifslastp->endoff == start + && ifslastp->inquotes == inquotes) { + /* extend previous area */ + ifslastp->endoff = end; + return; + } ifsp = (struct ifsregion *)ckmalloc(sizeof (struct ifsregion)); ifslastp->next = ifsp; } @@ -950,7 +956,7 @@ recordregion(int start, int end, int nul ifslastp->next = NULL; ifslastp->begoff = start; ifslastp->endoff = end; - ifslastp->nulonly = nulonly; + ifslastp->inquotes = inquotes; } @@ -969,75 +975,89 @@ ifsbreakup(char *string, struct arglist char *p; char *q; char *ifs; - int ifsspc; - int nulonly; - + const char *ifsspc; + int had_param_ch = 0; start = string; - ifsspc = 0; - nulonly = 0; - if (ifslastp != NULL) { - ifsp = &ifsfirst; - do { - p = string + ifsp->begoff; - nulonly = ifsp->nulonly; - ifs = nulonly ? nullstr : - ( ifsset() ? ifsval() : " \t\n" ); - ifsspc = 0; - while (p < string + ifsp->endoff) { - q = p; - if (*p == CTLESC) + + if (ifslastp == NULL) { + /* Return entire argument, IFS doesn't apply to any of it */ + sp = (struct strlist *)stalloc(sizeof *sp); + sp->text = start; + *arglist->lastp = sp; + arglist->lastp = &sp->next; + return; + } + + ifs = ifsset() ? ifsval() : " \t\n"; + + for (ifsp = &ifsfirst; ifsp != NULL; ifsp = ifsp->next) { + p = string + ifsp->begoff; + while (p < string + ifsp->endoff) { + q = p; + if (*p == CTLESC) + p++; + if (ifsp->inquotes) { + /* Only NULs (should be from "$@") end args */ + had_param_ch = 1; + if (*p != 0) { p++; - if (strchr(ifs, *p)) { - if (!nulonly) - ifsspc = (strchr(" \t\n", *p) != NULL); - /* Ignore IFS whitespace at start */ - if (q == start && ifsspc) { - p++; - start = p; - continue; - } - *q = '\0'; - sp = (struct strlist *)stalloc(sizeof *sp); - sp->text = start; - *arglist->lastp = sp; - arglist->lastp = &sp->next; + continue; + } + ifsspc = NULL; + } else { + if (!strchr(ifs, *p)) { + had_param_ch = 1; p++; - if (!nulonly) { - for (;;) { - if (p >= string + ifsp->endoff) { - break; - } - q = p; - if (*p == CTLESC) - p++; - if (strchr(ifs, *p) == NULL ) { - p = q; - break; - } else if (strchr(" \t\n",*p) == NULL) { - if (ifsspc) { - p++; - ifsspc = 0; - } else { - p = q; - break; - } - } else - p++; - } - } - start = p; - } else + continue; + } + ifsspc = strchr(" \t\n", *p); + + /* Ignore IFS whitespace at start */ + if (q == start && ifsspc != NULL) { p++; + start = p; + continue; + } + had_param_ch = 0; } - } while ((ifsp = ifsp->next) != NULL); - if (*start || (!ifsspc && start > string)) { + + /* Save this argument... */ + *q = '\0'; sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; arglist->lastp = &sp->next; + p++; + + if (ifsspc != NULL) { + /* Ignore further trailing IFS whitespace */ + for (; p < string + ifsp->endoff; p++) { + q = p; + if (*p == CTLESC) + p++; + if (strchr(ifs, *p) == NULL) { + p = q; + break; + } + if (strchr(" \t\n", *p) == NULL) { + p++; + break; + } + } + } + start = p; } - } else { + } + + /* + * Save anything left as an argument. + * Traditionally we have treated 'IFS=':'; set -- x$IFS' as + * generating 2 arguments, the second of which is empty. + * Some recent clarification of the Posix spec say that it + * should only generate one.... + */ + if (had_param_ch || *start != 0) { sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; Modified: projects/clangbsd/bin/sh/histedit.c ============================================================================== --- projects/clangbsd/bin/sh/histedit.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/sh/histedit.c Sun Jun 28 15:38:50 2009 (r195137) @@ -173,25 +173,11 @@ histcmd(int argc, char **argv) char *pat = NULL, *repl; static int active = 0; struct jmploc jmploc; - struct jmploc *volatile savehandler; - char editfile[PATH_MAX]; + struct jmploc *savehandler; + char editfilestr[PATH_MAX]; + char *volatile editfile; FILE *efp; int oldhistnum; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &editor; - (void) &lflg; - (void) &nflg; - (void) &rflg; - (void) &sflg; - (void) &firststr; - (void) &laststr; - (void) &pat; - (void) &repl; - (void) &efp; - (void) &argc; - (void) &argv; -#endif if (hist == NULL) error("history not active"); @@ -232,19 +218,19 @@ histcmd(int argc, char **argv) */ if (lflg == 0 || editor || sflg) { lflg = 0; /* ignore */ - editfile[0] = '\0'; + editfile = NULL; /* * Catch interrupts to reset active counter and * cleanup temp files. */ + savehandler = handler; if (setjmp(jmploc.loc)) { active = 0; - if (*editfile) + if (editfile) unlink(editfile); handler = savehandler; longjmp(handler->loc, 1); } - savehandler = handler; handler = &jmploc; if (++active > MAXHISTLOOPS) { active = 0; @@ -318,9 +304,10 @@ histcmd(int argc, char **argv) if (editor) { int fd; INTOFF; /* easier */ - sprintf(editfile, "%s/_shXXXXXX", _PATH_TMP); - if ((fd = mkstemp(editfile)) < 0) + sprintf(editfilestr, "%s/_shXXXXXX", _PATH_TMP); + if ((fd = mkstemp(editfilestr)) < 0) error("can't create temporary file %s", editfile); + editfile = editfilestr; if ((efp = fdopen(fd, "w")) == NULL) { close(fd); error("can't allocate stdio buffer for temp"); Modified: projects/clangbsd/bin/sh/miscbltin.c ============================================================================== --- projects/clangbsd/bin/sh/miscbltin.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/sh/miscbltin.c Sun Jun 28 15:38:50 2009 (r195137) @@ -403,7 +403,7 @@ ulimitcmd(int argc __unused, char **argv struct rlimit limit; what = 'f'; - while ((optc = nextopt("HSatfdsmcnuvlbp")) != '\0') + while ((optc = nextopt("HSatfdsmcnuvlbpw")) != '\0') switch (optc) { case 'H': how = HARD; Modified: projects/clangbsd/bin/sh/parser.c ============================================================================== --- projects/clangbsd/bin/sh/parser.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/sh/parser.c Sun Jun 28 15:38:50 2009 (r195137) @@ -898,19 +898,6 @@ readtoken1(int firstc, char const *synta int oldstyle; char const *prevsyntax; /* syntax before arithmetic */ int synentry; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &out; - (void) "ef; - (void) &dblquote; - (void) &varnest; - (void) &arinest; - (void) &parenlevel; - (void) &oldstyle; - (void) &prevsyntax; - (void) &syntax; - (void) &synentry; -#endif startlinno = plinno; dblquote = 0; @@ -1320,13 +1307,9 @@ parsebackq: { union node *n; char *volatile str; struct jmploc jmploc; - struct jmploc *volatile savehandler; + struct jmploc *const savehandler = handler; int savelen; int saveprompt; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &saveprompt; -#endif savepbq = parsebackquote; if (setjmp(jmploc.loc)) { @@ -1343,7 +1326,6 @@ parsebackq: { str = ckmalloc(savelen); memcpy(str, stackblock(), savelen); } - savehandler = handler; handler = &jmploc; INTON; if (oldstyle) { Modified: projects/clangbsd/bin/sh/sh.1 ============================================================================== --- projects/clangbsd/bin/sh/sh.1 Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/sh/sh.1 Sun Jun 28 15:38:50 2009 (r195137) @@ -606,6 +606,12 @@ This all occurs within the current shell .Pp Shell built-in commands are executed internally to the shell, without spawning a new process. +There are two kinds of built-in commands: regular and special. +Assignments before special builtins persist after they finish +executing and assignment errors, redirection errors and certain +operand errors cause a script to be aborted. +Both regular and special builtins can affect the shell in ways +normal programs cannot. .Pp Otherwise, if the command name does not match a function or built-in command, the command is searched for as a normal @@ -885,7 +891,7 @@ loops. The .Ic continue command continues with the next iteration of the innermost loop. -These are implemented as built-in commands. +These are implemented as special built-in commands. .Pp The syntax of the .Ic case @@ -1001,7 +1007,7 @@ It terminates the current executional sc nested function, sourced script, or shell instance, in that order. The .Ic return -command is implemented as a built-in command. +command is implemented as a special built-in command. .Ss Variables and Parameters The shell maintains a set of parameters. A parameter @@ -1590,6 +1596,7 @@ where is either the path name to .Ar utility , +a special shell builtin, a shell builtin, a shell function, a shell keyword @@ -2114,7 +2121,8 @@ Interpret each .Ar name as a command and print the resolution of the command search. Possible resolutions are: -shell keyword, alias, shell built-in command, command, tracked alias +shell keyword, alias, special shell builtin, shell builtin, command, +tracked alias and not found. For aliases the alias expansion is printed; for commands and tracked aliases Modified: projects/clangbsd/bin/sh/var.c ============================================================================== --- projects/clangbsd/bin/sh/var.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/bin/sh/var.c Sun Jun 28 15:38:50 2009 (r195137) @@ -193,12 +193,8 @@ int setvarsafe(char *name, char *val, int flags) { struct jmploc jmploc; - struct jmploc *volatile savehandler = handler; + struct jmploc *const savehandler = handler; int err = 0; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &err; -#endif if (setjmp(jmploc.loc)) err = 1; Modified: projects/clangbsd/contrib/bind9/CHANGES ============================================================================== --- projects/clangbsd/contrib/bind9/CHANGES Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/contrib/bind9/CHANGES Sun Jun 28 15:38:50 2009 (r195137) @@ -1,4 +1,23 @@ + --- 9.6.1 released --- + +2607. [bug] named could incorrectly delete NSEC3 records for + empty nodes when processing a update request. + [RT #19749] + +2606. [bug] "delegation-only" was not being accepted in + delegation-only type zones. [RT #19717] + +2605. [bug] Accept DS responses from delegation only zones. + [RT # 19296] + +2603. [port] win32: handle .exe extension of named-checkzone and + named-comilezone argv[0] names under windows. + [RT #19767] + +2602. [port] win32: fix debugging command line build of libisccfg. + [RT #19767] + --- 9.6.1rc1 released --- 2599. [bug] Address rapid memory growth when validation fails. Copied: projects/clangbsd/contrib/bind9/KNOWN-DEFECTS (from r195101, head/contrib/bind9/KNOWN-DEFECTS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clangbsd/contrib/bind9/KNOWN-DEFECTS Sun Jun 28 15:38:50 2009 (r195137, copy of r195101, head/contrib/bind9/KNOWN-DEFECTS) @@ -0,0 +1,15 @@ +dnssec-signzone was designed so that it could sign a zone partially, using +only a subset of the DNSSEC keys needed to produce a fully-signed zone. +This permits a zone administrator, for example, to sign a zone with one +key on one machine, move the resulting partially-signed zone to a second +machine, and sign it again with a second key. + +An unfortunate side-effect of this flexibility is that dnssec-signzone +does not check to make sure it's signing a zone with any valid keys at +all. An attempt to sign a zone without any keys will appear to succeed, +producing a "signed" zone with no signatures. There is no warning issued +when a zone is not signed. + +This will be corrected in a future release. In the meantime, ISC +recommends examining the output of dnssec-signzone to confirm that +the zone is properly signed by all keys before using it. Modified: projects/clangbsd/contrib/bind9/bin/check/named-checkzone.c ============================================================================== --- projects/clangbsd/contrib/bind9/bin/check/named-checkzone.c Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/contrib/bind9/bin/check/named-checkzone.c Sun Jun 28 15:38:50 2009 (r195137) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: named-checkzone.c,v 1.51.34.2 2009/02/16 23:47:15 tbox Exp $ */ +/* $Id: named-checkzone.c,v 1.51.34.3 2009/05/29 02:17:43 marka Exp $ */ /*! \file */ @@ -123,9 +123,13 @@ main(int argc, char **argv) { */ if (strncmp(prog_name, "lt-", 3) == 0) prog_name += 3; - if (strcmp(prog_name, "named-checkzone") == 0) + +#define PROGCMP(X) \ + (strcasecmp(prog_name, X) == 0 || strcasecmp(prog_name, X ".exe") == 0) + + if (PROGCMP("named-checkzone")) progmode = progmode_check; - else if (strcmp(prog_name, "named-compilezone") == 0) + else if (PROGCMP("named-compilezone")) progmode = progmode_compile; else INSIST(0); Modified: projects/clangbsd/contrib/bind9/bin/dnssec/dnssec-signzone.8 ============================================================================== --- projects/clangbsd/contrib/bind9/bin/dnssec/dnssec-signzone.8 Sun Jun 28 12:02:15 2009 (r195136) +++ projects/clangbsd/contrib/bind9/bin/dnssec/dnssec-signzone.8 Sun Jun 28 15:38:50 2009 (r195137) @@ -1,4 +1,4 @@ -.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2000-2003 Internet Software Consortium. .\" .\" Permission to use, copy, modify, and distribute this software for any @@ -13,275 +13,163 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: dnssec-signzone.8,v 1.47 2008/10/15 01:11:35 tbox Exp $ +.\" $Id: dnssec-signzone.8,v 1.47.44.4 2009/06/09 01:47:19 each Exp $ .\" .hy 0 .ad l -.\" Title: dnssec\-signzone -.\" Author: -.\" Generator: DocBook XSL Stylesheets v1.71.1 -.\" Date: June 30, 2000 -.\" Manual: BIND9 -.\" Source: BIND9 -.\" -.TH "DNSSEC\-SIGNZONE" "8" "June 30, 2000" "BIND9" "BIND9" -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.SH "NAME" -dnssec\-signzone \- DNSSEC zone signing tool +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "DNSSEC-SIGNZONE" 8 "June 08, 2009" "" "" +.SH NAME +dnssec-signzone \- DNSSEC zone signing tool .SH "SYNOPSIS" .HP 16 -\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] [\fB\-3\ \fR\fB\fIsalt\fR\fR] [\fB\-H\ \fR\fB\fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...] +\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fIclass\fR\fR] [\fB\-d\ \fIdirectory\fR\fR] [\fB\-e\ \fIend\-time\fR\fR] [\fB\-f\ \fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fIkey\fR\fR] [\fB\-l\ \fIdomain\fR\fR] [\fB\-i\ \fIinterval\fR\fR] [\fB\-I\ \fIinput\-format\fR\fR] [\fB\-j\ \fIjitter\fR\fR] [\fB\-N\ \fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fIorigin\fR\fR] [\fB\-O\ \fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-r\ \fIrandomdev\fR\fR] [\fB\-s\ \fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fIlevel\fR\fR] [\fB\-z\fR] [\fB\-3\ \fIsalt\fR\fR] [\fB\-H\ \fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...] .SH "DESCRIPTION" .PP -\fBdnssec\-signzone\fR -signs a zone. It generates NSEC and RRSIG records and produces a signed version of the zone. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a -\fIkeyset\fR -file for each child zone. +\fBdnssec\-signzone\fR signs a zone\&. It generates NSEC and RRSIG records and produces a signed version of the zone\&. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a \fIkeyset\fR file for each child zone\&. .SH "OPTIONS" -.PP +.TP \-a -.RS 4 -Verify all generated signatures. -.RE -.PP +Verify all generated signatures\&. +.TP \-c \fIclass\fR -.RS 4 -Specifies the DNS class of the zone. -.RE -.PP +Specifies the DNS class of the zone\&. +.TP \-k \fIkey\fR -.RS 4 -Treat specified key as a key signing key ignoring any key flags. This option may be specified multiple times. -.RE -.PP +Treat specified key as a key signing key ignoring any key flags\&. This option may be specified multiple times\&. +.TP \-l \fIdomain\fR -.RS 4 -Generate a DLV set in addition to the key (DNSKEY) and DS sets. The domain is appended to the name of the records. -.RE -.PP +Generate a DLV set in addition to the key (DNSKEY) and DS sets\&. The domain is appended to the name of the records\&. +.TP \-d \fIdirectory\fR -.RS 4 -Look for -\fIkeyset\fR -files in -\fBdirectory\fR -as the directory -.RE -.PP +Look for \fIkeyset\fR files in \fBdirectory\fR as the directory +.TP \-g -.RS 4 -Generate DS records for child zones from keyset files. Existing DS records will be removed. -.RE -.PP +Generate DS records for child zones from keyset files\&. Existing DS records will be removed\&. +.TP \-s \fIstart\-time\fR -.RS 4 -Specify the date and time when the generated RRSIG records become valid. This can be either an absolute or relative time. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative start time is indicated by +N, which is N seconds from the current time. If no -\fBstart\-time\fR -is specified, the current time minus 1 hour (to allow for clock skew) is used. -.RE -.PP +Specify the date and time when the generated RRSIG records become valid\&. This can be either an absolute or relative time\&. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000\&. A relative start time is indicated by +N, which is N seconds from the current time\&. If no \fBstart\-time\fR is specified, the current time minus 1 hour (to allow for clock skew) is used\&. +.TP \-e \fIend\-time\fR -.RS 4 -Specify the date and time when the generated RRSIG records expire. As with -\fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation. A time relative to the start time is indicated with +N, which is N seconds from the start time. A time relative to the current time is indicated with now+N. If no -\fBend\-time\fR -is specified, 30 days from the start time is used as a default. -.RE -.PP +Specify the date and time when the generated RRSIG records expire\&. As with \fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation\&. A time relative to the start time is indicated with +N, which is N seconds from the start time\&. A time relative to the current time is indicated with now+N\&. If no \fBend\-time\fR is specified, 30 days from the start time is used as a default\&. +.TP \-f \fIoutput\-file\fR -.RS 4 -The name of the output file containing the signed zone. The default is to append -\fI.signed\fR -to the input filename. -.RE -.PP +The name of the output file containing the signed zone\&. The default is to append \fI\&.signed\fR to the input filename\&. +.TP \-h -.RS 4 -Prints a short summary of the options and arguments to -\fBdnssec\-signzone\fR. -.RE -.PP +Prints a short summary of the options and arguments to \fBdnssec\-signzone\fR\&. +.TP \-i \fIinterval\fR -.RS 4 -When a previously\-signed zone is passed as input, records may be resigned. The -\fBinterval\fR -option specifies the cycle interval as an offset from the current time (in seconds). If a RRSIG record expires after the cycle interval, it is retained. Otherwise, it is considered to be expiring soon, and it will be replaced. -.sp -The default cycle interval is one quarter of the difference between the signature end and start times. So if neither -\fBend\-time\fR -or -\fBstart\-time\fR -are specified, -\fBdnssec\-signzone\fR -generates signatures that are valid for 30 days, with a cycle interval of 7.5 days. Therefore, if any existing RRSIG records are due to expire in less than 7.5 days, they would be replaced. -.RE -.PP +When a previously\-signed zone is passed as input, records may be resigned\&. The \fBinterval\fR option specifies the cycle interval as an offset from the current time (in seconds)\&. If a RRSIG record expires after the cycle interval, it is retained\&. Otherwise, it is considered to be expiring soon, and it will be replaced\&. +The default cycle interval is one quarter of the difference between the signature end and start times\&. So if neither \fBend\-time\fR or \fBstart\-time\fR are specified, \fBdnssec\-signzone\fR generates signatures that are valid for 30 days, with a cycle interval of 7\&.5 days\&. Therefore, if any existing RRSIG records are due to expire in less than 7\&.5 days, they would be replaced\&. +.TP \-I \fIinput\-format\fR -.RS 4 -The format of the input zone file. Possible formats are -\fB"text"\fR -(default) and -\fB"raw"\fR. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly. The use of this option does not make much sense for non\-dynamic zones. -.RE -.PP +The format of the input zone file\&. Possible formats are \fB"text"\fR (default) and \fB"raw"\fR\&. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly\&. The use of this option does not make much sense for non\-dynamic zones\&. +.TP \-j \fIjitter\fR -.RS 4 -When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously. If the zone is incrementally signed, i.e. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time. The -\fBjitter\fR -option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time. -.sp -Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i.e. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time. -.RE -.PP +When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously\&. If the zone is incrementally signed, i\&.e\&. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time\&. The \fBjitter\fR option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time\&. +Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i\&.e\&. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time\&. +.TP \-n \fIncpus\fR -.RS 4 -Specifies the number of threads to use. By default, one thread is started for each detected CPU. -.RE -.PP +Specifies the number of threads to use\&. By default, one thread is started for each detected CPU\&. +.TP \-N \fIsoa\-serial\-format\fR -.RS 4 -The SOA serial number format of the signed zone. Possible formats are -\fB"keep"\fR -(default), -\fB"increment"\fR -and -\fB"unixtime"\fR. -.RS 4 -.PP +The SOA serial number format of the signed zone\&. Possible formats are \fB"keep"\fR (default), \fB"increment"\fR and \fB"unixtime"\fR\&. +.RS +.TP \fB"keep"\fR -.RS 4 -Do not modify the SOA serial number. -.RE -.PP +Do not modify the SOA serial number\&. +.TP *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sun Jun 28 16:50:38 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8642E1065676; Sun, 28 Jun 2009 16:50:38 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5435B8FC22; Sun, 28 Jun 2009 16:50:38 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SGocUi016634; Sun, 28 Jun 2009 16:50:38 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SGocfQ016632; Sun, 28 Jun 2009 16:50:38 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906281650.n5SGocfQ016632@svn.freebsd.org> From: Sam Leffler Date: Sun, 28 Jun 2009 16:50:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195139 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 16:50:38 -0000 Author: sam Date: Sun Jun 28 16:50:38 2009 New Revision: 195139 URL: http://svn.freebsd.org/changeset/base/195139 Log: Tighten up beacon rx path: o require mesh ie's before processing frame o require capabilities w/o IBSS and ESS before processing frame o add parens o fixup comments to match o mark need to backoff on repeated peering failures Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 16:34:33 2009 (r195138) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 16:50:38 2009 (r195139) @@ -689,25 +689,33 @@ mesh_recv_mgmt(struct ieee80211_node *ni return; } - /* The rest of this code assumes we setup and running */ + /* The rest of this code assumes we are running */ if (vap->iv_state != IEEE80211_S_RUN) return; /* - * Ignore non-mesh STAs and STAs for other mesh networks. + * Ignore non-mesh STAs. */ - if (scan.meshid && scan.meshconf && - memcmp(scan.meshid+2, ms->ms_id, ms->ms_idlen) != 0) { - IEEE80211_NOTE(vap, IEEE80211_MSG_MESH, ni, - "beacon not for our mesh (%s)", scan.meshid+2); + if ((scan.capinfo & + (IEEE80211_CAPINFO_ESS|IEEE80211_CAPINFO_IBSS)) || + scan.meshid == NULL || scan.meshconf == NULL) { + IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT, + wh, "beacon", "%s", "not a mesh sta"); return; } - /* - * More validation: make sure we are talking to a Mesh node. + * Ignore STAs for other mesh networks. */ - if ((scan.capinfo & - (IEEE80211_CAPINFO_ESS|IEEE80211_CAPINFO_IBSS)) == 0 && - !IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_macaddr)) { + if (memcmp(scan.meshid+2, ms->ms_id, ms->ms_idlen) != 0) { + IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT, + wh, "beacon", "not for our mesh (%s)", + scan.meshid+2); + return; + } + + /* + * Do neighbor discovery. + */ + if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_macaddr)) { /* * Create a new entry in the neighbor table. */ @@ -718,10 +726,11 @@ mesh_recv_mgmt(struct ieee80211_node *ni ni->ni_flags |= IEEE80211_NODE_QOS; } /* - * Try to peer with this node if possible. + * Automatically peer with discovered nodes if possible. + * XXX backoff on repeated failure */ if (ni != vap->iv_bss && - ms->ms_flags & IEEE80211_MESHFLAGS_AP && + (ms->ms_flags & IEEE80211_MESHFLAGS_AP) && ni->ni_mlstate == IEEE80211_NODE_MESH_IDLE) { union ieee80211_send_action_args sargs; From owner-svn-src-projects@FreeBSD.ORG Sun Jun 28 16:51:59 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 172441065672; Sun, 28 Jun 2009 16:51:59 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 05BB28FC1A; Sun, 28 Jun 2009 16:51:59 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SGpwYS016692; Sun, 28 Jun 2009 16:51:58 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SGpwCd016690; Sun, 28 Jun 2009 16:51:58 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906281651.n5SGpwCd016690@svn.freebsd.org> From: Sam Leffler Date: Sun, 28 Jun 2009 16:51:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195140 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 16:51:59 -0000 Author: sam Date: Sun Jun 28 16:51:58 2009 New Revision: 195140 URL: http://svn.freebsd.org/changeset/base/195140 Log: o rewrite goto as a loop o mark need to check for infinite loop Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 16:50:38 2009 (r195139) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 16:51:58 2009 (r195140) @@ -306,12 +306,11 @@ mesh_generateid(struct ieee80211vap *vap { uint16_t r; -restart: - get_random_bytes(&r, 2); - ieee80211_iterate_nodes(&vap->iv_ic->ic_sta, mesh_checkid, &r); - if (r == 0) - goto restart; - + /* XXX max iterations? */ + do { + get_random_bytes(&r, 2); + ieee80211_iterate_nodes(&vap->iv_ic->ic_sta, mesh_checkid, &r); + } while (r == 0); return r; } From owner-svn-src-projects@FreeBSD.ORG Sun Jun 28 16:53:35 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0598106567B; Sun, 28 Jun 2009 16:53:35 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8EF648FC2E; Sun, 28 Jun 2009 16:53:35 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SGrZig016756; Sun, 28 Jun 2009 16:53:35 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SGrZCo016754; Sun, 28 Jun 2009 16:53:35 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906281653.n5SGrZCo016754@svn.freebsd.org> From: Sam Leffler Date: Sun, 28 Jun 2009 16:53:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195141 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 16:53:36 -0000 Author: sam Date: Sun Jun 28 16:53:35 2009 New Revision: 195141 URL: http://svn.freebsd.org/changeset/base/195141 Log: o make struct static to avoid runtime initializer o mark another case needing similar fixup Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 16:51:58 2009 (r195140) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 16:53:35 2009 (r195141) @@ -1456,6 +1456,7 @@ ieee80211_add_meshconf(uint8_t *frm, str { uint8_t neighs = 0; struct ieee80211_mesh_state *ms = vap->iv_mesh; + /* XXX not static, expensive, do as static+dynamic */ struct ieee80211_meshconf_ie ie = { .conf_ie = IEEE80211_ELEMID_MESHCONF, .conf_len = sizeof(struct ieee80211_meshconf_ie) - 2, @@ -1493,7 +1494,7 @@ ieee80211_add_meshconf(uint8_t *frm, str uint8_t * ieee80211_add_meshpeerver(uint8_t *frm, struct ieee80211vap *vap) { - struct ieee80211_meshpeerver_ie ie = { + static struct ieee80211_meshpeerver_ie ie = { .peerver_ie = IEEE80211_ELEMID_MESHPEERVER, .peerver_len = 4, .peerver_proto = IEEE80211_MESHPEERVER_PEER, From owner-svn-src-projects@FreeBSD.ORG Sun Jun 28 17:04:37 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CA2231065670; Sun, 28 Jun 2009 17:04:37 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B8C6E8FC1B; Sun, 28 Jun 2009 17:04:37 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SH4bCc017028; Sun, 28 Jun 2009 17:04:37 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SH4br7017026; Sun, 28 Jun 2009 17:04:37 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906281704.n5SH4br7017026@svn.freebsd.org> From: Rui Paulo Date: Sun, 28 Jun 2009 17:04:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195142 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 17:04:38 -0000 Author: rpaulo Date: Sun Jun 28 17:04:37 2009 New Revision: 195142 URL: http://svn.freebsd.org/changeset/base/195142 Log: * verify mesh conf ie before trying to peer * simplify debugging message. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 16:53:35 2009 (r195141) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 17:04:37 2009 (r195142) @@ -704,10 +704,11 @@ mesh_recv_mgmt(struct ieee80211_node *ni /* * Ignore STAs for other mesh networks. */ - if (memcmp(scan.meshid+2, ms->ms_id, ms->ms_idlen) != 0) { + if (memcmp(scan.meshid+2, ms->ms_id, ms->ms_idlen) != 0 || + mesh_verify_meshconf(vap, + (struct ieee80211_meshconf_ie *)scan.meshconf)) { IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT, - wh, "beacon", "not for our mesh (%s)", - scan.meshid+2); + wh, "beacon", "%s", "not for our mesh"); return; } From owner-svn-src-projects@FreeBSD.ORG Sun Jun 28 17:15:17 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7E1E106566C; Sun, 28 Jun 2009 17:15:17 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A69918FC18; Sun, 28 Jun 2009 17:15:17 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SHFHeI017278; Sun, 28 Jun 2009 17:15:17 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SHFHOX017276; Sun, 28 Jun 2009 17:15:17 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906281715.n5SHFHOX017276@svn.freebsd.org> From: Rui Paulo Date: Sun, 28 Jun 2009 17:15:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195143 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 17:15:18 -0000 Author: rpaulo Date: Sun Jun 28 17:15:17 2009 New Revision: 195143 URL: http://svn.freebsd.org/changeset/base/195143 Log: Move the ACL check to a better place. Pointed out by: sam Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 17:04:37 2009 (r195142) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 17:15:17 2009 (r195143) @@ -439,17 +439,6 @@ mesh_input(struct ieee80211_node *ni, st vap->iv_stats.is_rx_badversion++; goto err; } - - /* - * Consult the ACL policy module if setup. - */ - if (vap->iv_acl != NULL && !vap->iv_acl->iac_check(vap, wh->i_addr2)) { - IEEE80211_DISCARD(vap, IEEE80211_MSG_ACL, - wh, NULL, "%s", "disallowed by ACL"); - vap->iv_stats.is_rx_acl++; - goto out; - } - dir = wh->i_fc[1] & IEEE80211_FC1_DIR_MASK; type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; @@ -692,6 +681,16 @@ mesh_recv_mgmt(struct ieee80211_node *ni if (vap->iv_state != IEEE80211_S_RUN) return; /* + * Peer only based on the current ACL policy. + */ + if (vap->iv_acl != NULL && + !vap->iv_acl->iac_check(vap, wh->i_addr2)) { + IEEE80211_DISCARD(vap, IEEE80211_MSG_ACL, + wh, NULL, "%s", "disallowed by ACL"); + vap->iv_stats.is_rx_acl++; + return; + } + /* * Ignore non-mesh STAs. */ if ((scan.capinfo & From owner-svn-src-projects@FreeBSD.ORG Sun Jun 28 17:22:07 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96207106566C; Sun, 28 Jun 2009 17:22:07 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 84FCF8FC12; Sun, 28 Jun 2009 17:22:07 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SHM7Z7017451; Sun, 28 Jun 2009 17:22:07 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SHM72d017449; Sun, 28 Jun 2009 17:22:07 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906281722.n5SHM72d017449@svn.freebsd.org> From: Rui Paulo Date: Sun, 28 Jun 2009 17:22:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195144 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 17:22:07 -0000 Author: rpaulo Date: Sun Jun 28 17:22:07 2009 New Revision: 195144 URL: http://svn.freebsd.org/changeset/base/195144 Log: Limit mesh_generateid() to 4 iterations and drop a peer link if we can't generate random values. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 17:15:17 2009 (r195143) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Sun Jun 28 17:22:07 2009 (r195144) @@ -304,13 +304,14 @@ mesh_checkid(void *arg, struct ieee80211 static uint32_t mesh_generateid(struct ieee80211vap *vap) { + int maxiter = 4; uint16_t r; - /* XXX max iterations? */ do { get_random_bytes(&r, 2); ieee80211_iterate_nodes(&vap->iv_ic->ic_sta, mesh_checkid, &r); - } while (r == 0); + maxiter--; + } while (r == 0 && maxiter > 0); return r; } @@ -734,6 +735,8 @@ mesh_recv_mgmt(struct ieee80211_node *ni union ieee80211_send_action_args sargs; ni->ni_mlpid = mesh_generateid(vap); + if (ni->ni_mlpid == 0) + return; mesh_linkchange(ni, IEEE80211_NODE_MESH_OPENSNT); sargs.arg[0] = ni->ni_mlpid; ieee80211_send_action(ni, @@ -988,6 +991,8 @@ mesh_recv_action(struct ieee80211_node * IEEE80211_NODE_MESH_OPENRCV); ni->ni_mllid = meshpeer->peer_llinkid; ni->ni_mlpid = mesh_generateid(vap); + if (ni->ni_mlpid == 0) + return; sargs.arg[0] = ni->ni_mlpid; /* Announce we're open too... */ ieee80211_send_action(ni, From owner-svn-src-projects@FreeBSD.ORG Sun Jun 28 21:01:00 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B9DDD1065670; Sun, 28 Jun 2009 21:01:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A94EC8FC0A; Sun, 28 Jun 2009 21:01:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SL10og021840; Sun, 28 Jun 2009 21:01:00 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SL10w2021838; Sun, 28 Jun 2009 21:01:00 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <200906282101.n5SL10w2021838@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Sun, 28 Jun 2009 21:01:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195147 - projects/mips/sys/mips/mips X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 21:01:01 -0000 Author: gonzo Date: Sun Jun 28 21:01:00 2009 New Revision: 195147 URL: http://svn.freebsd.org/changeset/base/195147 Log: - Replace casuword and casuword32 stubs with proper implementation Modified: projects/mips/sys/mips/mips/support.S Modified: projects/mips/sys/mips/mips/support.S ============================================================================== --- projects/mips/sys/mips/mips/support.S Sun Jun 28 20:52:11 2009 (r195146) +++ projects/mips/sys/mips/mips/support.S Sun Jun 28 21:01:00 2009 (r195147) @@ -474,12 +474,31 @@ XLEAF(suword32) END(suword) /* + * XXXMIPS: ATM it's the same as casuword32, but MIPS64 will require + * own implementation * casuword(9) * u_long casuword(u_long *p, u_long oldval, u_long newval) */ ENTRY(casuword) - break + blt a0, zero, fswberr # make sure address is in user space + li v0, FSWBERR + GET_CPU_PCPU(v1) + lw v1, PC_CURPCB(v1) + sw v0, U_PCB_ONFAULT(v1) +1: + move t0, a2 + ll v0, 0(a0) + bne a1, v0, 2f + nop + sc t0, 0(a0) # store word + beqz t0, 1b + nop + j 3f + nop +2: li v0, -1 +3: + sw zero, U_PCB_ONFAULT(v1) jr ra nop END(casuword) @@ -490,8 +509,25 @@ END(casuword) * uint32_t newval) */ ENTRY(casuword32) - break + blt a0, zero, fswberr # make sure address is in user space + li v0, FSWBERR + GET_CPU_PCPU(v1) + lw v1, PC_CURPCB(v1) + sw v0, U_PCB_ONFAULT(v1) +1: + move t0, a2 + ll v0, 0(a0) + bne a1, v0, 2f + nop + sc t0, 0(a0) # store word + beqz t0, 1b + nop + j 3f + nop +2: li v0, -1 +3: + sw zero, U_PCB_ONFAULT(v1) jr ra nop END(casuword32) From owner-svn-src-projects@FreeBSD.ORG Sun Jun 28 23:21:19 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 13A891065672; Sun, 28 Jun 2009 23:21:19 +0000 (UTC) (envelope-from jb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EB6668FC12; Sun, 28 Jun 2009 23:21:18 +0000 (UTC) (envelope-from jb@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5SNLIcC024576; Sun, 28 Jun 2009 23:21:18 GMT (envelope-from jb@svn.freebsd.org) Received: (from jb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5SNLIGA024571; Sun, 28 Jun 2009 23:21:18 GMT (envelope-from jb@svn.freebsd.org) Message-Id: <200906282321.n5SNLIGA024571@svn.freebsd.org> From: John Birrell Date: Sun, 28 Jun 2009 23:21:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195150 - in projects/jbuild/usr.bin: jbuild/port jdirdep make X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Jun 2009 23:21:19 -0000 Author: jb Date: Sun Jun 28 23:21:18 2009 New Revision: 195150 URL: http://svn.freebsd.org/changeset/base/195150 Log: When automatically updating dependencies, the only meta data files that need to be parsed are the ones that were created in the current jbuild process. It is a waste of time to re-parse all the existing meta data files in libs like libc which have lots of them when only a few may have changed. And only the new meta data files can have info that leads to the discovery or new directory dependencies. Modified: projects/jbuild/usr.bin/jbuild/port/Makefile projects/jbuild/usr.bin/jdirdep/jdirdep.c projects/jbuild/usr.bin/jdirdep/jdirdep.h projects/jbuild/usr.bin/make/job.c Modified: projects/jbuild/usr.bin/jbuild/port/Makefile ============================================================================== --- projects/jbuild/usr.bin/jbuild/port/Makefile Sun Jun 28 22:42:51 2009 (r195149) +++ projects/jbuild/usr.bin/jbuild/port/Makefile Sun Jun 28 23:21:18 2009 (r195150) @@ -4,7 +4,7 @@ # PORTNAME= jbuild -PORTVERSION= 11 +PORTVERSION= 12 CATEGORIES= devel MAINTAINER= rodrigc@FreeBSD.org Modified: projects/jbuild/usr.bin/jdirdep/jdirdep.c ============================================================================== --- projects/jbuild/usr.bin/jdirdep/jdirdep.c Sun Jun 28 22:42:51 2009 (r195149) +++ projects/jbuild/usr.bin/jdirdep/jdirdep.c Sun Jun 28 23:21:18 2009 (r195150) @@ -45,6 +45,11 @@ struct incmk { TAILQ_ENTRY(incmk) link; }; +struct metas { + char *s; + TAILQ_ENTRY(metas) link; +}; + struct file_track { int64_t *filids; int max_idx; @@ -55,11 +60,25 @@ static TAILQ_HEAD(, dirdep) dirdeps = TA static TAILQ_HEAD(, dirdep) srcdirdeps = TAILQ_HEAD_INITIALIZER(srcdirdeps); static TAILQ_HEAD(, incmk) incmks = TAILQ_HEAD_INITIALIZER(incmks); static TAILQ_HEAD(, march) marchs = TAILQ_HEAD_INITIALIZER(marchs); +static TAILQ_HEAD(, metas) metass = TAILQ_HEAD_INITIALIZER(metass); static int f_db = 0; static int f_quiet = 1; static struct file_track read_filids = { NULL, 0, 0 }; static struct file_track write_filids = { NULL, 0, 0 }; +static int +meta_lookup(const char *mname) +{ + struct metas *m; + + TAILQ_FOREACH(m, &metass, link) { + if (strcmp(m->s, mname) == 0) + return(1); + } + + return(0); +} + static void file_track_add(struct file_track *ft, int64_t filid) { @@ -649,6 +668,7 @@ do_dirdep(const char *srctop, const char int f_doit = 0; int f_error = 0; int f_force = (options & JDIRDEP_OPT_FORCE); + int f_meta = (options & JDIRDEP_OPT_META); int f_rewrite = 0; int f_src = (options & JDIRDEP_OPT_SOURCE); int f_update = (options & JDIRDEP_OPT_UPDATE); @@ -821,6 +841,13 @@ do_dirdep(const char *srctop, const char snprintf(mname, sizeof(mname), "%s/%s", objdir, de->d_name); /* + * If a list of meta data files has been specified, + * then only parse the meata data file if it is in the list. + */ + if (f_meta && !meta_lookup(mname)) + continue; + + /* * Parse the meta data file and watch out that we don't get * confused with references to the current directory -- they * are almost certain to occur if there are include files @@ -1207,10 +1234,15 @@ jdirdep_incmk(const char *p) /* This is the public function. */ int jdirdep(const char *srctop, const char *curdir, const char *srcrel, const char *objroot, - const char *objdir, const char *sharedobj, const char *filedep_name, int options) + const char *objdir, const char *sharedobj, const char *filedep_name, + const char *meta_created, int options) { FILE *fp; + char *meta_str = NULL; + char *s; + char *str; int ret = 0; + struct metas *metasp; if (filedep_name != NULL) { f_db = 1; @@ -1218,6 +1250,19 @@ jdirdep(const char *srctop, const char * jdirdep_db_open(filedep_name); } + if (meta_created != NULL) { + meta_str = strdup(meta_created); + str = meta_str; + for (s = str; (s = strsep(&str, " ")) != NULL; ) { + if ((metasp = malloc(sizeof(struct metas))) == NULL) + err(1, "Could not allocate memory for struct metas"); + metasp->s = s; + TAILQ_INSERT_TAIL(&metass, metasp, link); + } + + options |= JDIRDEP_OPT_META; + } + if ((options & JDIRDEP_OPT_GRAPH) != 0) { char gvfile[MAXPATHLEN]; @@ -1247,6 +1292,9 @@ jdirdep(const char *srctop, const char * jdirdep_db_close(); + if (meta_str != NULL) + free(meta_str); + return(ret); } @@ -1373,6 +1421,6 @@ main(int argc, char *argv[]) } } - return(jdirdep(srctop, curdir, srcrel, objroot, objdir, sharedobj, filedep_name, options)); + return(jdirdep(srctop, curdir, srcrel, objroot, objdir, sharedobj, filedep_name, NULL, options)); } #endif Modified: projects/jbuild/usr.bin/jdirdep/jdirdep.h ============================================================================== --- projects/jbuild/usr.bin/jdirdep/jdirdep.h Sun Jun 28 22:42:51 2009 (r195149) +++ projects/jbuild/usr.bin/jdirdep/jdirdep.h Sun Jun 28 23:21:18 2009 (r195150) @@ -11,16 +11,18 @@ #define JDIRDEP_OPT_DB (1 << 1) #define JDIRDEP_OPT_FORCE (1 << 2) #define JDIRDEP_OPT_GRAPH (1 << 3) -#define JDIRDEP_OPT_RECURSE (1 << 4) -#define JDIRDEP_OPT_SOURCE (1 << 5) -#define JDIRDEP_OPT_UPDATE (1 << 6) +#define JDIRDEP_OPT_META (1 << 4) +#define JDIRDEP_OPT_RECURSE (1 << 5) +#define JDIRDEP_OPT_SOURCE (1 << 6) +#define JDIRDEP_OPT_UPDATE (1 << 7) #define MAX_FIELDS 20 typedef int (*db_cb_func)(void *, int, char **, char **); int jdirdep(const char *srctop, const char *curdir, const char *srcrel, const char *objroot, - const char *objdir, const char *sharedobj, const char *filedep_name, int options); + const char *objdir, const char *sharedobj, const char *filedep_name, + const char *meta_created, int options); int64_t jdirdep_db_rowid(void); void jdirdep_db_close(void); void jdirdep_db_command(db_cb_func, void *, const char *, ...); Modified: projects/jbuild/usr.bin/make/job.c ============================================================================== --- projects/jbuild/usr.bin/make/job.c Sun Jun 28 22:42:51 2009 (r195149) +++ projects/jbuild/usr.bin/make/job.c Sun Jun 28 23:21:18 2009 (r195150) @@ -423,6 +423,7 @@ meta_exit(void) char sharedobj[MAXPATHLEN]; const char *curdir; const char *filedep_name; + const char *meta_created; const char *objdir; const char *objroot; const char *p_incmk; @@ -468,12 +469,13 @@ meta_exit(void) objroot = Var_Value(".OBJROOT", VAR_GLOBAL); objdir = Var_Value(".OBJDIR", VAR_GLOBAL); filedep_name = Var_Value(".FILEDEP_NAME", VAR_GLOBAL); + meta_created = Var_Value(".META_CREATED", VAR_GLOBAL); snprintf(sharedobj, sizeof(sharedobj), "%s/../shared", objroot); /* Add any new directory and/or source dependencies. */ jdirdep(srctop, curdir, srcrel, objroot, objdir, sharedobj, filedep_name, - JDIRDEP_OPT_ADD | JDIRDEP_OPT_SOURCE | JDIRDEP_OPT_UPDATE); + meta_created, JDIRDEP_OPT_ADD | JDIRDEP_OPT_SOURCE | JDIRDEP_OPT_UPDATE); } } @@ -680,6 +682,8 @@ meta_create(GNode *gn) n_meta_created++; + Var_Append(".META_CREATED", fname, VAR_GLOBAL); + return (fp); } #endif From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 10:58:32 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8DCD1065673; Mon, 29 Jun 2009 10:58:32 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9163D8FC08; Mon, 29 Jun 2009 10:58:32 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TAwWlQ042753; Mon, 29 Jun 2009 10:58:32 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TAwWHw042751; Mon, 29 Jun 2009 10:58:32 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906291058.n5TAwWHw042751@svn.freebsd.org> From: Rui Paulo Date: Mon, 29 Jun 2009 10:58:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195154 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 10:58:33 -0000 Author: rpaulo Date: Mon Jun 29 10:58:32 2009 New Revision: 195154 URL: http://svn.freebsd.org/changeset/base/195154 Log: * do expensive peer ACL check on DEBUG. this makes it easier to test different network topologies * move the ACL check a bit below * statify Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 05:12:21 2009 (r195153) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 10:58:32 2009 (r195154) @@ -446,6 +446,21 @@ mesh_input(struct ieee80211_node *ni, st if ((ic->ic_flags & IEEE80211_F_SCAN) == 0) { } +#ifdef IEEE80211_DEBUG + /* + * It's easier, but too expensive, to simulate different mesh + * topologies by consulting the ACL policy very early, so do this + * only under DEBUG. + * + * NB: this check is also done upon peering link initiation. + */ + if (vap->iv_acl != NULL && !vap->iv_acl->iac_check(vap, wh->i_addr2)) { + IEEE80211_DISCARD(vap, IEEE80211_MSG_ACL, + wh, NULL, "%s", "disallowed by ACL"); + vap->iv_stats.is_rx_acl++; + return; + } +#endif switch (type) { case IEEE80211_FC0_TYPE_DATA: if (ni == vap->iv_bss) @@ -682,16 +697,6 @@ mesh_recv_mgmt(struct ieee80211_node *ni if (vap->iv_state != IEEE80211_S_RUN) return; /* - * Peer only based on the current ACL policy. - */ - if (vap->iv_acl != NULL && - !vap->iv_acl->iac_check(vap, wh->i_addr2)) { - IEEE80211_DISCARD(vap, IEEE80211_MSG_ACL, - wh, NULL, "%s", "disallowed by ACL"); - vap->iv_stats.is_rx_acl++; - return; - } - /* * Ignore non-mesh STAs. */ if ((scan.capinfo & @@ -711,7 +716,16 @@ mesh_recv_mgmt(struct ieee80211_node *ni wh, "beacon", "%s", "not for our mesh"); return; } - + /* + * Peer only based on the current ACL policy. + */ + if (vap->iv_acl != NULL && + !vap->iv_acl->iac_check(vap, wh->i_addr2)) { + IEEE80211_DISCARD(vap, IEEE80211_MSG_ACL, + wh, NULL, "%s", "disallowed by ACL"); + vap->iv_stats.is_rx_acl++; + return; + } /* * Do neighbor discovery. */ @@ -1461,8 +1475,7 @@ ieee80211_add_meshconf(uint8_t *frm, str { uint8_t neighs = 0; struct ieee80211_mesh_state *ms = vap->iv_mesh; - /* XXX not static, expensive, do as static+dynamic */ - struct ieee80211_meshconf_ie ie = { + static struct ieee80211_meshconf_ie ie = { .conf_ie = IEEE80211_ELEMID_MESHCONF, .conf_len = sizeof(struct ieee80211_meshconf_ie) - 2, .conf_ver = IEEE80211_MESHCONF_VERSION, From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 10:59:36 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 689691065673; Mon, 29 Jun 2009 10:59:36 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 57BD78FC13; Mon, 29 Jun 2009 10:59:36 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TAxa5t042810; Mon, 29 Jun 2009 10:59:36 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TAxada042808; Mon, 29 Jun 2009 10:59:36 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906291059.n5TAxada042808@svn.freebsd.org> From: Rui Paulo Date: Mon, 29 Jun 2009 10:59:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195155 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 10:59:36 -0000 Author: rpaulo Date: Mon Jun 29 10:59:36 2009 New Revision: 195155 URL: http://svn.freebsd.org/changeset/base/195155 Log: fix build Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 10:58:32 2009 (r195154) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 10:59:36 2009 (r195155) @@ -458,7 +458,7 @@ mesh_input(struct ieee80211_node *ni, st IEEE80211_DISCARD(vap, IEEE80211_MSG_ACL, wh, NULL, "%s", "disallowed by ACL"); vap->iv_stats.is_rx_acl++; - return; + goto out; } #endif switch (type) { From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 15:53:53 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0446A106566C; Mon, 29 Jun 2009 15:53:53 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E58078FC08; Mon, 29 Jun 2009 15:53:52 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TFrqtB048539; Mon, 29 Jun 2009 15:53:52 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TFrqG7048533; Mon, 29 Jun 2009 15:53:52 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906291553.n5TFrqG7048533@svn.freebsd.org> From: Rui Paulo Date: Mon, 29 Jun 2009 15:53:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195158 - in projects/mesh11s: sbin/ifconfig sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 15:53:53 -0000 Author: rpaulo Date: Mon Jun 29 15:53:52 2009 New Revision: 195158 URL: http://svn.freebsd.org/changeset/base/195158 Log: * introduce the HWMP TTL and stop using the mesh TTL in HWMP * misc HWMP fixups, now we display the correct hop count and metric * disable age while the panic isn't fixed * handle PERR by removing the entry from the HWMP table and propating the PERR * add a new callback function to be called whenever a peer link goes down * add ifconfig wlan0 hwmpttl setting Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sbin/ifconfig/ifieee80211.c projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_hwmp.h projects/mesh11s/sys/net80211/ieee80211_ioctl.h projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sbin/ifconfig/ifieee80211.c ============================================================================== --- projects/mesh11s/sbin/ifconfig/ifieee80211.c Mon Jun 29 15:23:50 2009 (r195157) +++ projects/mesh11s/sbin/ifconfig/ifieee80211.c Mon Jun 29 15:53:52 2009 (r195158) @@ -1329,6 +1329,12 @@ DECL_CMD_FUNC(set80211hwmpmaxhops, val, set80211(s, IEEE80211_IOC_HWMP_MAXHOPS, atoi(val), 0, NULL); } +static +DECL_CMD_FUNC(set80211hwmpttl, val, d) +{ + set80211(s, IEEE80211_IOC_HWMP_TTL, atoi(val), 0, NULL); +} + static void set80211pureg(const char *val, int d, int s, const struct afswtch *rafp) { @@ -4823,6 +4829,9 @@ end: if (get80211val(s, IEEE80211_IOC_HWMP_MAXHOPS, &val) != -1) { LINE_CHECK("hwmpmaxhops %u", val); } + if (get80211val(s, IEEE80211_IOC_HWMP_TTL, &val) != -1) { + LINE_CHECK("hwmpttl %u", val); + } } LINE_BREAK(); @@ -5136,9 +5145,6 @@ static struct cmd ieee80211_cmds[] = { DEF_CMD_ARG("mac:add", set80211addmac), DEF_CMD_ARG("mac:del", set80211delmac), DEF_CMD_ARG("mac:kick", set80211kickmac), - DEF_CMD("hwmp:flush", IEEE80211_HWMP_CMD_FLUSH, set80211hwmpcmd), - DEF_CMD_ARG("hwmp:add", set80211addhwmp), - DEF_CMD_ARG("hwmp:del", set80211delhwmp), DEF_CMD("pureg", 1, set80211pureg), DEF_CMD("-pureg", 0, set80211pureg), DEF_CMD("ff", 1, set80211fastframes), @@ -5229,8 +5235,12 @@ static struct cmd ieee80211_cmds[] = { DEF_CMD("-meshforward", 0, set80211meshforward), DEF_CMD("meshpeering", 1, set80211meshpeering), DEF_CMD("-meshpeering", 0, set80211meshpeering), + DEF_CMD("hwmp:flush", IEEE80211_HWMP_CMD_FLUSH, set80211hwmpcmd), + DEF_CMD_ARG("hwmp:add", set80211addhwmp), + DEF_CMD_ARG("hwmp:del", set80211delhwmp), DEF_CMD_ARG("hwmprootmode", set80211hwmprootmode), DEF_CMD_ARG("hwmpmaxhops", set80211hwmpmaxhops), + DEF_CMD_ARG("hwmptll", set80211hwmpttl), /* vap cloning support */ DEF_CLONE_CMD_ARG("wlanaddr", set80211clone_wlanaddr), Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Mon Jun 29 15:23:50 2009 (r195157) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Mon Jun 29 15:53:52 2009 (r195158) @@ -140,6 +140,7 @@ SYSCTL_INT(_net_wlan_hwmp, OID_AUTO, rep MALLOC_DEFINE(M_80211_HWMP, "80211hwmp", "802.11 HWMP routing table"); #define IEEE80211_HWMP_DEFAULT_MAXHOPS 31 +#define IEEE80211_HWMP_DEFAULT_TTL 31 /* * Helper functions to manipulate the HWMP routing table. @@ -232,6 +233,7 @@ ieee80211_hwmp_vattach(struct ieee80211v TAILQ_INIT(&hs->hs_head); mtx_init(&hs->hs_lock, "HWMP", "802.11s HWMP", MTX_DEF); hs->hs_maxhops = IEEE80211_HWMP_DEFAULT_MAXHOPS; + hs->hs_ttl = IEEE80211_HWMP_DEFAULT_TTL; vap->iv_hwmp = hs; } @@ -583,9 +585,6 @@ hwmp_recv_preq(struct ieee80211vap *vap, preq->preq_origaddr, NULL, "%s", "not accepting PREQ"); return; } - fi = hwmp_rt_find(vap, PREQ_TADDR(0)); - if (fi) - fi->fi_preqid = preq->preq_id; /* * Check if the PREQ is addressed to us. * XXX: check if this is part of a proxy address. @@ -600,7 +599,7 @@ hwmp_recv_preq(struct ieee80211vap *vap, */ prep.prep_flags = 0; prep.prep_hopcount = 0; - prep.prep_ttl = ms->ms_ttl; + prep.prep_ttl = hs->hs_ttl; IEEE80211_ADDR_COPY(prep.prep_targetaddr, preq->preq_origaddr); prep.prep_targetseq = preq->preq_origseq; prep.prep_lifetime = preq->preq_lifetime; @@ -608,24 +607,28 @@ hwmp_recv_preq(struct ieee80211vap *vap, IEEE80211_ADDR_COPY(prep.prep_origaddr, vap->iv_myaddr); prep.prep_origseq = hs->hs_seq++; hwmp_send_prep(ni, vap->iv_myaddr, wh->i_addr2, &prep); +#if 0 /* * Build the reverse path, if we don't have it already. */ fi = hwmp_rt_find(vap, preq->preq_origaddr); if (fi == NULL) { - fi = hwmp_rt_add(vap, preq->preq_origaddr); - ieee80211_hwmp_discover(vap, fi->fi_dest, NULL); + uint8_t *dest = (uint8_t *)preq->preq_origaddr; + + ieee80211_hwmp_discover(vap, dest, NULL); } else if (IEEE80211_ADDR_EQ(fi->fi_nexthop, invalidaddr)) ieee80211_hwmp_discover(vap, fi->fi_dest, NULL); +#endif return; } + fi = hwmp_rt_find(vap, PREQ_TADDR(0)); /* XXX missing. Check for AE bit and update proxy information */ /* - * Intermediate reply for PREQs with 1 target. + * Forwarding and Intermediate reply for PREQs with 1 target. */ - if (preq->preq_ttl > 1 && preq->preq_tcount == 1) { + if (preq->preq_tcount == 1) { struct ieee80211_meshpreq_ie ppreq; /* propagated PREQ */ memcpy(&ppreq, preq, sizeof(ppreq)); @@ -634,27 +637,33 @@ hwmp_recv_preq(struct ieee80211vap *vap, */ if (fi != NULL && !IEEE80211_ADDR_EQ(fi->fi_nexthop, invalidaddr)) { - IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, - "forwarding PREQ from %s", - ether_sprintf(preq->preq_origaddr)); - /* - * Propagate the original PREQ. - */ - ppreq.preq_hopcount += 1; - ppreq.preq_ttl -= 1; - ppreq.preq_metric += ieee80211_airtime_calc(ni); - /* - * Set TO and unset RF bits because we are going - * to send a PREP next. - */ - ppreq.preq_targets[0].target_flags |= - IEEE80211_MESHPREQ_TFLAGS_TO; - ppreq.preq_targets[0].target_flags &= - ~IEEE80211_MESHPREQ_TFLAGS_RF; - hwmp_send_preq(ni, vap->iv_myaddr, broadcastaddr, - &ppreq); + fi->fi_preqid = preq->preq_id; + fi->fi_seq = preq->preq_origseq; + if (preq->preq_ttl > 1) { + + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, + "forwarding PREQ from %s", + ether_sprintf(preq->preq_origaddr)); + /* + * Propagate the original PREQ. + */ + ppreq.preq_hopcount += 1; + ppreq.preq_ttl -= 1; + ppreq.preq_metric += ieee80211_airtime_calc(ni); + /* + * Set TO and unset RF bits because we are going + * to send a PREP next. + */ + ppreq.preq_targets[0].target_flags |= + IEEE80211_MESHPREQ_TFLAGS_TO; + ppreq.preq_targets[0].target_flags &= + ~IEEE80211_MESHPREQ_TFLAGS_RF; + hwmp_send_preq(ni, vap->iv_myaddr, + broadcastaddr, &ppreq); + } /* - * Check if we can send an intermediate Path Reply. + * Check if we can send an intermediate Path Reply, + * i.e., Target Only bit is not set. */ if (!(PREQ_TFLAGS(0) & IEEE80211_MESHPREQ_TFLAGS_TO)) { struct ieee80211_meshprep_ie prep; @@ -663,33 +672,36 @@ hwmp_recv_preq(struct ieee80211vap *vap, "intermediate reply for PREQ from %s", ether_sprintf(preq->preq_origaddr)); prep.prep_flags = 0; - prep.prep_hopcount = 0; - prep.prep_ttl = ms->ms_ttl; + prep.prep_hopcount = fi->fi_nhops + 1; + prep.prep_ttl = hs->hs_ttl; IEEE80211_ADDR_COPY(&prep.prep_targetaddr, preq->preq_origaddr); prep.prep_targetseq = fi->fi_seq; prep.prep_lifetime = preq->preq_lifetime; - prep.prep_metric = fi->fi_metric; + prep.prep_metric = fi->fi_metric + + ieee80211_airtime_calc(ni); IEEE80211_ADDR_COPY(&prep.prep_origaddr, PREQ_TADDR(0)); prep.prep_origseq = hs->hs_seq++; hwmp_send_prep(ni, vap->iv_myaddr, broadcastaddr, &prep); } - } else { - fi = hwmp_rt_add(vap, PREQ_TADDR(0)); + /* + * We have no information about this path, + * propagate the PREQ based on TTL. + */ + } else if (preq->preq_ttl > 1) { + if (fi == NULL) { + fi = hwmp_rt_add(vap, PREQ_TADDR(0)); + fi->fi_metric = preq->preq_metric; + fi->fi_lifetime = preq->preq_lifetime; + } fi->fi_seq = preq->preq_origseq; - fi->fi_metric = preq->preq_metric; - fi->fi_lifetime = preq->preq_lifetime; fi->fi_preqid = preq->preq_id; IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, "forwarding PREQ from %s", ether_sprintf(preq->preq_origaddr)); - /* - * We have no information about this path, - * propagate the PREQ. - */ ppreq.preq_hopcount += 1; ppreq.preq_ttl -= 1; ppreq.preq_metric += ieee80211_airtime_calc(ni); @@ -701,7 +713,6 @@ hwmp_recv_preq(struct ieee80211vap *vap, */ return; } - /* * XXX: Proactive PREQ: reply with a proactive PREP to the @@ -770,7 +781,6 @@ hwmp_recv_prep(struct ieee80211vap *vap, IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, "received PREP from %s", ether_sprintf(prep->prep_origaddr)); - fi = hwmp_rt_find(vap, prep->prep_origaddr); /* * If it's NOT for us, propagate the PREP if TTL is * greater than 1. @@ -795,6 +805,7 @@ hwmp_recv_prep(struct ieee80211vap *vap, return; } + fi = hwmp_rt_find(vap, prep->prep_origaddr); if (fi != NULL) { /* * Build the rest of the entry. @@ -815,7 +826,7 @@ hwmp_recv_prep(struct ieee80211vap *vap, * XXX: If it's NOT for us and the AE bit is set, * update the proxy information table. */ - +#if 0 if (fi != NULL) { struct ieee80211com *ic = vap->iv_ic; struct ifnet *ifp = vap->iv_ifp; @@ -836,6 +847,7 @@ hwmp_recv_prep(struct ieee80211vap *vap, ifp->if_transmit(ifp, m); } } +#endif } static inline int @@ -867,6 +879,31 @@ hwmp_send_prep(struct ieee80211_node *ni sizeof(struct ieee80211_meshprep_ie)); } +#define PERR_DADDR(n) perr.perr_dests[n].dest_addr +#define PERR_DSEQ(n) perr.perr_dests[n].dest_seq +void +ieee80211_hwmp_peerdown(struct ieee80211_node *ni) +{ + struct ieee80211vap *vap = ni->ni_vap; + struct ieee80211_meshperr_ie perr; + struct ieee80211_hwmp_fi *fi; + + fi = hwmp_rt_find(vap, ni->ni_macaddr); + if (fi == NULL) + return; + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, + "%s", "deleting route entry"); + perr.perr_mode = 0; + perr.perr_ndests = 1; + IEEE80211_ADDR_COPY(PERR_DADDR(0), fi->fi_dest); + PERR_DSEQ(0) = fi->fi_seq; + hwmp_rt_del(vap, ni->ni_macaddr); + hwmp_send_perr(vap->iv_bss, vap->iv_myaddr, broadcastaddr, &perr); +} +#undef PERR_DADDR +#undef PERR_DSEQ + + #define PERR_DADDR(n) perr->perr_dests[n].dest_addr #define PERR_DSEQ(n) perr->perr_dests[n].dest_seq static void @@ -876,7 +913,7 @@ hwmp_recv_perr(struct ieee80211vap *vap, struct ieee80211_mesh_state *ms = vap->iv_mesh; struct ieee80211_hwmp_fi *fi = NULL; struct ieee80211_meshperr_ie pperr; - int i; + int i, forward = 0; /* * Acceptance criteria: check if we received a PERR from a @@ -886,24 +923,29 @@ hwmp_recv_perr(struct ieee80211vap *vap, ni->ni_mlstate != IEEE80211_NODE_MESH_ESTABLISHED || !(ms->ms_flags & IEEE80211_MESHFLAGS_FWD)) return; - + /* + * Find all routing entries that match and delete them. + */ for (i = 0; i < perr->perr_ndests; i++) { fi = hwmp_rt_find(vap, PERR_DADDR(i)); if (fi == NULL) - break; - if (PERR_DSEQ(i) > fi->fi_seq) { + continue; + if (PERR_DSEQ(i) >= fi->fi_seq) { hwmp_rt_del(vap, fi->fi_dest); fi = NULL; + forward = 1; } } /* - * Propagate the PERR. + * Propagate the PERR if we previously found it on our routing table. * XXX handle ndest > 1 */ - IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, - "propagating PERR from %s", ether_sprintf(wh->i_addr2)); - memcpy(&pperr, perr, sizeof(*perr)); - hwmp_send_perr(vap->iv_bss, vap->iv_myaddr, broadcastaddr, &pperr); + if (forward) { + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, + "propagating PERR from %s", ether_sprintf(wh->i_addr2)); + memcpy(&pperr, perr, sizeof(*perr)); + hwmp_send_perr(vap->iv_bss, vap->iv_myaddr, broadcastaddr, &pperr); + } } #undef PEER_DADDR #undef PERR_DSEQ @@ -932,6 +974,7 @@ hwmp_send_perr(struct ieee80211_node *ni * [1] category * [tlv] mesh path error */ + perr->perr_ie = IEEE80211_ELEMID_MESHPERR; return ieee80211_hwmp_send_action(ni, sa, da, (uint8_t *)perr, sizeof(struct ieee80211_meshperr_ie)); } @@ -960,7 +1003,7 @@ hwmp_recv_rann(struct ieee80211vap *vap, */ preq.preq_flags = 0; preq.preq_hopcount = 0; - preq.preq_ttl = ms->ms_ttl; + preq.preq_ttl = hs->hs_ttl; IEEE80211_ADDR_COPY(&preq.preq_origaddr, vap->iv_myaddr); preq.preq_origseq = hs->hs_seq++; @@ -1014,7 +1057,6 @@ struct ieee80211_node * ieee80211_hwmp_discover(struct ieee80211vap *vap, uint8_t dest[IEEE80211_ADDR_LEN], struct mbuf *m) { - struct ieee80211_mesh_state *ms = vap->iv_mesh; struct ieee80211_hwmp_state *hs = vap->iv_hwmp; struct ieee80211_hwmp_fi *fi = NULL; struct ieee80211_meshpreq_ie preq; @@ -1056,7 +1098,7 @@ ieee80211_hwmp_discover(struct ieee80211 */ preq.preq_flags = 0; preq.preq_hopcount = 0; - preq.preq_ttl = ms->ms_ttl; + preq.preq_ttl = hs->hs_ttl; preq.preq_id = fi->fi_preqid; IEEE80211_ADDR_COPY(preq.preq_origaddr, vap->iv_myaddr); preq.preq_origseq = fi->fi_seq; @@ -1088,6 +1130,7 @@ done: if (ni == NULL && m != NULL) { IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_HWMP, dest, NULL, "%s", "no valid path to this node"); +#if 0 if (sendpreq) { struct ieee80211com *ic = vap->iv_ic; /* @@ -1101,6 +1144,7 @@ done: ieee80211_ageq_append(&ic->ic_stageq, m, IEEE80211_INACT_WAIT); } else +#endif m_freem(m); } return ni; @@ -1180,6 +1224,9 @@ hwmp_ioctl_get80211(struct ieee80211vap case IEEE80211_IOC_HWMP_MAXHOPS: ireq->i_val = hs->hs_maxhops; break; + case IEEE80211_IOC_HWMP_TTL: + ireq->i_val = hs->hs_ttl; + break; default: return ENOSYS; } @@ -1224,6 +1271,11 @@ hwmp_ioctl_set80211(struct ieee80211vap return EINVAL; hs->hs_maxhops = ireq->i_val; break; + case IEEE80211_IOC_HWMP_TTL: + if (ireq->i_val <= 0 || ireq->i_val > 255) + return EINVAL; + hs->hs_ttl = ireq->i_val; + break; default: return ENOSYS; } Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.h Mon Jun 29 15:23:50 2009 (r195157) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h Mon Jun 29 15:53:52 2009 (r195158) @@ -64,6 +64,7 @@ struct ieee80211_hwmp_state { struct mtx hs_lock; /* lock for the fi table */ int hs_rootmode; /* proactive HWMP */ uint8_t hs_maxhops; /* max hop count */ + uint8_t hs_ttl; /* HWMP ttl */ }; void ieee80211_hwmp_vattach(struct ieee80211vap *); @@ -77,6 +78,7 @@ struct ieee80211_node *ieee80211_hwmp_di struct ieee80211_node * ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, uint8_t dest[IEEE80211_ADDR_LEN]); +void ieee80211_hwmp_peerdown(struct ieee80211_node *); #endif /* _KERNEL */ #endif /* _NET80211_IEEE80211_HWMP_H_ */ Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ioctl.h Mon Jun 29 15:23:50 2009 (r195157) +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.h Mon Jun 29 15:53:52 2009 (r195158) @@ -669,6 +669,7 @@ struct ieee80211req { #define IEEE80211_IOC_HWMP_CMD 195 /* HWMP table commands */ #define IEEE80211_IOC_HWMP_ROOTMODE 196 /* HWMP root mode */ #define IEEE80211_IOC_HWMP_MAXHOPS 197 /* number of hops before drop */ +#define IEEE80211_IOC_HWMP_TTL 198 /* HWMP TTL */ #define IEEE80211_IOC_TDMA_SLOT 201 /* TDMA: assigned slot */ #define IEEE80211_IOC_TDMA_SLOTCNT 202 /* TDMA: slots in bss */ Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 15:23:50 2009 (r195157) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 15:53:52 2009 (r195158) @@ -285,7 +285,8 @@ mesh_linkchange(struct ieee80211_node *n IEEE80211_NOTE(vap, IEEE80211_MSG_MESH, ni, "peer link: switching to state %s", meshlinkstates[ni->ni_mlstate]); - + if (state == IEEE80211_NODE_MESH_HOLDING) + ieee80211_hwmp_peerdown(ni); } /* From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 16:15:27 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2F6F81065675; Mon, 29 Jun 2009 16:15:27 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1DE488FC25; Mon, 29 Jun 2009 16:15:27 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TGFRO4049097; Mon, 29 Jun 2009 16:15:27 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TGFQ2S049095; Mon, 29 Jun 2009 16:15:26 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200906291615.n5TGFQ2S049095@svn.freebsd.org> From: Lawrence Stewart Date: Mon, 29 Jun 2009 16:15:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195160 - projects/tcp_cc_8.x/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 16:15:27 -0000 Author: lstewart Date: Mon Jun 29 16:15:26 2009 New Revision: 195160 URL: http://svn.freebsd.org/changeset/base/195160 Log: Massage the ECN implementation's congestion control related bits to fit in with the framework. ssthresh adjustment is handled in the pre_fr hook and the minor code duplication created by this change is hopefully harmless. Modified: projects/tcp_cc_8.x/sys/netinet/tcp_input.c Modified: projects/tcp_cc_8.x/sys/netinet/tcp_input.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_input.c Mon Jun 29 16:03:18 2009 (r195159) +++ projects/tcp_cc_8.x/sys/netinet/tcp_input.c Mon Jun 29 16:15:26 2009 (r195160) @@ -214,24 +214,6 @@ static void tcp_pulloutofband(struct so struct tcphdr *, struct mbuf *, int); static void tcp_xmit_timer(struct tcpcb *, int); static void tcp_newreno_partial_ack(struct tcpcb *, struct tcphdr *); -static void inline - tcp_congestion_exp(struct tcpcb *); - -static void inline -tcp_congestion_exp(struct tcpcb *tp) -{ - u_int win; - - win = min(tp->snd_wnd, tp->snd_cwnd) / - 2 / tp->t_maxseg; - if (win < 2) - win = 2; - tp->snd_ssthresh = win * tp->t_maxseg; - ENTER_FASTRECOVERY(tp); - tp->snd_recover = tp->snd_max; - if (tp->t_flags & TF_ECN_PERMIT) - tp->t_flags |= TF_ECN_SND_CWR; -} /* Neighbor Discovery, Neighbor Unreachability Detection Upper layer hint. */ #ifdef INET6 @@ -1178,7 +1160,17 @@ tcp_do_segment(struct mbuf *m, struct tc if ((thflags & TH_ECE) && SEQ_LEQ(th->th_ack, tp->snd_recover)) { TCPSTAT_INC(tcps_ecn_rcwnd); - tcp_congestion_exp(tp); + /* + * If the current CC algo has + * defined a hook for tasks to run + * before entering FR, call it. + */ + if (CC_ALGO(tp)->pre_fr != NULL) + CC_ALGO(tp)->pre_fr(tp, th); + ENTER_FASTRECOVERY(tp); + tp->snd_recover = tp->snd_max; + if (tp->t_flags & TF_ECN_PERMIT) + tp->t_flags |= TF_ECN_SND_CWR; } } @@ -2114,16 +2106,16 @@ tcp_do_segment(struct mbuf *m, struct tc } /* - * If the current tcp cc module has + * If the current CC algo has * defined a hook for tasks to run - * before entering FR, call it + * before entering FR, call it. */ if (CC_ALGO(tp)->pre_fr != NULL) CC_ALGO(tp)->pre_fr(tp, th); - ENTER_FASTRECOVERY(tp); tp->snd_recover = tp->snd_max; - tcp_congestion_exp(tp); + if (tp->t_flags & TF_ECN_PERMIT) + tp->t_flags |= TF_ECN_SND_CWR; tcp_timer_activate(tp, TT_REXMT, 0); tp->t_rtttime = 0; if (tp->t_flags & TF_SACK_PERMIT) { From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 16:34:59 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C093E1065670; Mon, 29 Jun 2009 16:34:59 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 950C68FC0C; Mon, 29 Jun 2009 16:34:59 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TGYxNY049631; Mon, 29 Jun 2009 16:34:59 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TGYxvB049629; Mon, 29 Jun 2009 16:34:59 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906291634.n5TGYxvB049629@svn.freebsd.org> From: Rui Paulo Date: Mon, 29 Jun 2009 16:34:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195161 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 16:35:00 -0000 Author: rpaulo Date: Mon Jun 29 16:34:59 2009 New Revision: 195161 URL: http://svn.freebsd.org/changeset/base/195161 Log: Finish the airtime link calculation algorithm now that I know how do it. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 16:15:26 2009 (r195160) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 16:34:59 2009 (r195161) @@ -1567,25 +1567,42 @@ ieee80211_add_meshpeer(uint8_t *frm, uin * * Based on D3.0. */ +/* + * Max 802.11s overhead. + */ +#define IEEE80211_MESH_MAXOVERHEAD \ + (sizeof(struct ieee80211_qosframe_addr4) \ + + sizeof(struct ieee80211_meshcntl_ae11) \ + + sizeof(struct llc) \ + + IEEE80211_ADDR_LEN \ + + IEEE80211_WEP_IVLEN \ + + IEEE80211_WEP_KIDLEN \ + + IEEE80211_WEP_CRCLEN \ + + IEEE80211_WEP_MICLEN \ + + IEEE80211_CRC_LEN) uint32_t ieee80211_airtime_calc(struct ieee80211_node *ni) { #define M_BITS 8 #define S_FACTOR (2 * M_BITS) - uint64_t res; - uint32_t overhead, rate, errrate; + struct ieee80211com *ic = ni->ni_ic; + struct ifnet *ifp = ni->ni_vap->iv_ifp; const static int nbits = 8192 << M_BITS; + uint32_t overhead, rate, errrate; + uint64_t res; - /* Channel access overhead */ - overhead = 123 << M_BITS; /* XXX */ - /* In Mbps */ + /* Time to transmit a frame */ rate = ni->ni_txrate; - /* In percentage */ - errrate = (10 << M_BITS) / 100; + overhead = ieee80211_compute_duration(ic->ic_rt, + ifp->if_mtu + IEEE80211_MESH_MAXOVERHEAD, rate, 0) << M_BITS; + /* Error rate in percentage */ + /* XXX assuming small failures are ok */ + errrate = (((ifp->if_oerrors + + ifp->if_ierrors) / 100) << M_BITS) / 100; res = (overhead + (nbits / rate)) * ((1 << S_FACTOR) / ((1 << M_BITS) - errrate)); - return (uint32_t) (res >> S_FACTOR); + return (uint32_t)(res >> S_FACTOR); #undef M_BITS #undef S_FACTOR } From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 16:55:58 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15BCA1065674; Mon, 29 Jun 2009 16:55:58 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DE28F8FC15; Mon, 29 Jun 2009 16:55:57 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TGtvOZ050104; Mon, 29 Jun 2009 16:55:57 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TGtv8i050101; Mon, 29 Jun 2009 16:55:57 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200906291655.n5TGtv8i050101@svn.freebsd.org> From: Lawrence Stewart Date: Mon, 29 Jun 2009 16:55:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195163 - projects/tcp_cc_8.x/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 16:55:58 -0000 Author: lstewart Date: Mon Jun 29 16:55:57 2009 New Revision: 195163 URL: http://svn.freebsd.org/changeset/base/195163 Log: Style tweaks for comments. Modified: projects/tcp_cc_8.x/sys/netinet/cc.c projects/tcp_cc_8.x/sys/netinet/tcp_usrreq.c Modified: projects/tcp_cc_8.x/sys/netinet/cc.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc.c Mon Jun 29 16:45:50 2009 (r195162) +++ projects/tcp_cc_8.x/sys/netinet/cc.c Mon Jun 29 16:55:57 2009 (r195163) @@ -102,7 +102,7 @@ cc_default_algo(SYSCTL_HANDLER_ARGS) CC_LIST_RUNLOCK(); error = sysctl_handle_string(oidp, default_cc, 1, req); } else { - /* Find algo with specified name and set it to default */ + /* Find algo with specified name and set it to default. */ CC_LIST_WLOCK(); STAILQ_FOREACH(funcs, &cc_list, entries) { if (strncmp((char *)req->newptr, funcs->name, TCP_CA_NAME_MAX) == 0) { Modified: projects/tcp_cc_8.x/sys/netinet/tcp_usrreq.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_usrreq.c Mon Jun 29 16:45:50 2009 (r195162) +++ projects/tcp_cc_8.x/sys/netinet/tcp_usrreq.c Mon Jun 29 16:55:57 2009 (r195163) @@ -1381,9 +1381,7 @@ tcp_ctloutput(struct socket *so, struct break; INP_WLOCK_RECHECK(inp); /* - * We return EINVAL if we can't find the requested cc - * algo. We set error here and reset to 0 if found to - * simplify the error checking, + * Return EINVAL if we can't find the requested cc algo. */ error = EINVAL; CC_LIST_RLOCK(); @@ -1391,34 +1389,31 @@ tcp_ctloutput(struct socket *so, struct if ( strncmp(buf, algo->name, TCP_CA_NAME_MAX) == 0) { - /* - * we've found the requested algo, - * so revert the EINVAL error condition. - */ + /* We've found the requested algo. */ error = 0; /* - * we hold a write lock over the tcb + * We hold a write lock over the tcb * so it's safe to do these things - * without ordering concerns + * without ordering concerns. */ if (CC_ALGO(tp)->conn_destroy != NULL) CC_ALGO(tp)->conn_destroy(tp); CC_ALGO(tp) = algo; /* - * if something goes pear shaped + * If something goes pear shaped * initialising the new algo, * fall back to newreno (which - * does not require initialisation) + * does not require initialisation). */ if (algo->conn_init(tp) > 0) { CC_ALGO(tp) = &newreno_cc_algo; /* - * the only reason init() should - * fail is because of malloc + * The only reason init should + * fail is because of malloc. */ error = ENOMEM; } - break; /* break the STAILQ_FOREACH */ + break; /* Break the STAILQ_FOREACH. */ } } CC_LIST_RUNLOCK(); From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 17:30:52 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B9130106564A; Mon, 29 Jun 2009 17:30:52 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 418F98FC35; Mon, 29 Jun 2009 17:30:52 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5THUqMS050808; Mon, 29 Jun 2009 17:30:52 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5THUqpU050804; Mon, 29 Jun 2009 17:30:52 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200906291730.n5THUqpU050804@svn.freebsd.org> From: Lawrence Stewart Date: Mon, 29 Jun 2009 17:30:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195164 - projects/tcp_cc_8.x/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 17:30:53 -0000 Author: lstewart Date: Mon Jun 29 17:30:51 2009 New Revision: 195164 URL: http://svn.freebsd.org/changeset/base/195164 Log: Move logic to calc bytes ACKed by an incoming regular data ACK into a handy macro which will be useful in the near future. Modified: projects/tcp_cc_8.x/sys/netinet/tcp_input.c projects/tcp_cc_8.x/sys/netinet/tcp_sack.c projects/tcp_cc_8.x/sys/netinet/tcp_var.h Modified: projects/tcp_cc_8.x/sys/netinet/tcp_input.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_input.c Mon Jun 29 16:55:57 2009 (r195163) +++ projects/tcp_cc_8.x/sys/netinet/tcp_input.c Mon Jun 29 17:30:51 2009 (r195164) @@ -1323,7 +1323,7 @@ tcp_do_segment(struct mbuf *m, struct tc ticks - tp->t_rtttime); } tcp_xmit_bandwidth_limit(tp, th->th_ack); - acked = th->th_ack - tp->snd_una; + acked = BYTES_ACKED(tp, th); TCPSTAT_INC(tcps_rcvackpack); TCPSTAT_ADD(tcps_rcvackbyte, acked); sbdrop(&so->so_snd, acked); @@ -2220,7 +2220,7 @@ process_ACK: ("tcp_input: process_ACK ti_locked %d", ti_locked)); INP_WLOCK_ASSERT(tp->t_inpcb); - acked = th->th_ack - tp->snd_una; + acked = BYTES_ACKED(tp, th); TCPSTAT_INC(tcps_rcvackpack); TCPSTAT_ADD(tcps_rcvackbyte, acked); @@ -3341,7 +3341,7 @@ tcp_newreno_partial_ack(struct tcpcb *tp * Set snd_cwnd to one segment beyond acknowledged offset. * (tp->snd_una has not yet been updated when this function is called.) */ - tp->snd_cwnd = tp->t_maxseg + (th->th_ack - tp->snd_una); + tp->snd_cwnd = tp->t_maxseg + BYTES_ACKED(tp, th); tp->t_flags |= TF_ACKNOW; (void) tcp_output(tp); tp->snd_cwnd = ocwnd; @@ -3351,8 +3351,8 @@ tcp_newreno_partial_ack(struct tcpcb *tp * Partial window deflation. Relies on fact that tp->snd_una * not updated yet. */ - if (tp->snd_cwnd > th->th_ack - tp->snd_una) - tp->snd_cwnd -= th->th_ack - tp->snd_una; + if (tp->snd_cwnd > BYTES_ACKED(tp, th)) + tp->snd_cwnd -= BYTES_ACKED(tp, th); else tp->snd_cwnd = 0; tp->snd_cwnd += tp->t_maxseg; Modified: projects/tcp_cc_8.x/sys/netinet/tcp_sack.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_sack.c Mon Jun 29 16:55:57 2009 (r195163) +++ projects/tcp_cc_8.x/sys/netinet/tcp_sack.c Mon Jun 29 17:30:51 2009 (r195164) @@ -576,7 +576,7 @@ tcp_sack_partialack(struct tcpcb *tp, st tcp_timer_activate(tp, TT_REXMT, 0); tp->t_rtttime = 0; /* Send one or 2 segments based on how much new data was acked. */ - if (((th->th_ack - tp->snd_una) / tp->t_maxseg) > 2) + if ((BYTES_ACKED(tp, th) / tp->t_maxseg) > 2) num_segs = 2; tp->snd_cwnd = (tp->sackhint.sack_bytes_rexmit + (tp->snd_nxt - tp->sack_newdata) + num_segs * tp->t_maxseg); Modified: projects/tcp_cc_8.x/sys/netinet/tcp_var.h ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_var.h Mon Jun 29 16:55:57 2009 (r195163) +++ projects/tcp_cc_8.x/sys/netinet/tcp_var.h Mon Jun 29 17:30:51 2009 (r195164) @@ -232,6 +232,8 @@ struct tcpcb { #define ENTER_FASTRECOVERY(tp) tp->t_flags |= TF_FASTRECOVERY #define EXIT_FASTRECOVERY(tp) tp->t_flags &= ~TF_FASTRECOVERY +#define BYTES_ACKED(tp, th) (th->th_ack - tp->snd_una) + /* * Flags for the t_oobflags field. */ From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 17:36:48 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33C831065678; Mon, 29 Jun 2009 17:36:48 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 228548FC0A; Mon, 29 Jun 2009 17:36:48 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5THamIG050979; Mon, 29 Jun 2009 17:36:48 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5THamrw050977; Mon, 29 Jun 2009 17:36:48 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <200906291736.n5THamrw050977@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Mon, 29 Jun 2009 17:36:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195165 - projects/mips/sys/conf X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 17:36:48 -0000 Author: gonzo Date: Mon Jun 29 17:36:47 2009 New Revision: 195165 URL: http://svn.freebsd.org/changeset/base/195165 Log: - add sys_machdep.c to build Modified: projects/mips/sys/conf/files.mips Modified: projects/mips/sys/conf/files.mips ============================================================================== --- projects/mips/sys/conf/files.mips Mon Jun 29 17:30:51 2009 (r195164) +++ projects/mips/sys/conf/files.mips Mon Jun 29 17:36:47 2009 (r195165) @@ -70,6 +70,7 @@ mips/mips/mem.c optional mem mips/mips/nexus.c standard mips/mips/stack_machdep.c optional ddb | stack mips/mips/support.S standard +mips/mips/sys_machdep.c standard mips/mips/swtch.S standard mips/mips/uio_machdep.c standard geom/geom_bsd.c optional geom_bsd From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 18:12:13 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C82DA106564A; Mon, 29 Jun 2009 18:12:12 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3FF4A8FC13; Mon, 29 Jun 2009 18:12:12 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TICCrC051771; Mon, 29 Jun 2009 18:12:12 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TICCGS051770; Mon, 29 Jun 2009 18:12:12 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906291812.n5TICCGS051770@svn.freebsd.org> From: Sam Leffler Date: Mon, 29 Jun 2009 18:12:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195167 - projects/cambria X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:12:15 -0000 Author: sam Date: Mon Jun 29 18:12:11 2009 New Revision: 195167 URL: http://svn.freebsd.org/changeset/base/195167 Log: kill this so we can start anew Deleted: projects/cambria/ From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 18:17:25 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2FC21106564A; Mon, 29 Jun 2009 18:17:25 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 04BAA8FC1B; Mon, 29 Jun 2009 18:17:25 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIHOVC051939; Mon, 29 Jun 2009 18:17:24 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TIHOrg051938; Mon, 29 Jun 2009 18:17:24 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906291817.n5TIHOrg051938@svn.freebsd.org> From: Sam Leffler Date: Mon, 29 Jun 2009 18:17:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195169 - projects/cambria X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:17:25 -0000 Author: sam Date: Mon Jun 29 18:17:24 2009 New Revision: 195169 URL: http://svn.freebsd.org/changeset/base/195169 Log: clone head for more cambria work Added: projects/cambria/ (props changed) - copied from r195167, head/ From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 18:33:58 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C074D1065675; Mon, 29 Jun 2009 18:33:58 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ADEC78FC1D; Mon, 29 Jun 2009 18:33:58 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TIXwph052808; Mon, 29 Jun 2009 18:33:58 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TIXwsK052805; Mon, 29 Jun 2009 18:33:58 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906291833.n5TIXwsK052805@svn.freebsd.org> From: Rui Paulo Date: Mon, 29 Jun 2009 18:33:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195170 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 18:33:59 -0000 Author: rpaulo Date: Mon Jun 29 18:33:58 2009 New Revision: 195170 URL: http://svn.freebsd.org/changeset/base/195170 Log: Rename hwmp route variables to something more meaningful. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_hwmp.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Mon Jun 29 18:17:24 2009 (r195169) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Mon Jun 29 18:33:58 2009 (r195170) @@ -63,10 +63,10 @@ __FBSDID("$FreeBSD$"); #include #include -static struct ieee80211_hwmp_fi * +static struct ieee80211_hwmp_route * hwmp_rt_find(struct ieee80211vap *, const uint8_t [IEEE80211_ADDR_LEN]); -static struct ieee80211_hwmp_fi * +static struct ieee80211_hwmp_route * hwmp_rt_add(struct ieee80211vap *, const uint8_t [IEEE80211_ADDR_LEN]); static void hwmp_rt_del(struct ieee80211vap *, @@ -145,54 +145,54 @@ MALLOC_DEFINE(M_80211_HWMP, "80211hwmp", /* * Helper functions to manipulate the HWMP routing table. */ -static struct ieee80211_hwmp_fi * +static struct ieee80211_hwmp_route * hwmp_rt_find(struct ieee80211vap *vap, const uint8_t dest[IEEE80211_ADDR_LEN]) { struct ieee80211_hwmp_state *hs = vap->iv_hwmp; - struct ieee80211_hwmp_fi *fi; + struct ieee80211_hwmp_route *rt; HWMP_LOCK(hs); - TAILQ_FOREACH(fi, &hs->hs_head, fi_next) { - if (IEEE80211_ADDR_EQ(dest, fi->fi_dest)) { + TAILQ_FOREACH(rt, &hs->hs_routes, rt_next) { + if (IEEE80211_ADDR_EQ(dest, rt->rt_dest)) { HWMP_UNLOCK(hs); - return fi; + return rt; } } HWMP_UNLOCK(hs); return NULL; } -static struct ieee80211_hwmp_fi * +static struct ieee80211_hwmp_route * hwmp_rt_add(struct ieee80211vap *vap, const uint8_t dest[IEEE80211_ADDR_LEN]) { struct ieee80211_hwmp_state *hs = vap->iv_hwmp; - struct ieee80211_hwmp_fi *fi; + struct ieee80211_hwmp_route *rt; KASSERT(hwmp_rt_find(vap, dest) == NULL, ("%s: duplicate entry in the routing table", __func__)); - fi = malloc(sizeof(struct ieee80211_hwmp_fi), M_80211_HWMP, + rt = malloc(sizeof(struct ieee80211_hwmp_route), M_80211_HWMP, M_NOWAIT | M_ZERO); - memset(fi, 0, sizeof(*fi)); - IEEE80211_ADDR_COPY(fi->fi_dest, dest); + memset(rt, 0, sizeof(*rt)); + IEEE80211_ADDR_COPY(rt->rt_dest, dest); HWMP_LOCK(hs); - TAILQ_INSERT_TAIL(&hs->hs_head, fi, fi_next); + TAILQ_INSERT_TAIL(&hs->hs_routes, rt, rt_next); HWMP_UNLOCK(hs); - return fi; + return rt; } static void hwmp_rt_del(struct ieee80211vap *vap, const uint8_t dest[IEEE80211_ADDR_LEN]) { struct ieee80211_hwmp_state *hs = vap->iv_hwmp; - struct ieee80211_hwmp_fi *fi, *next; + struct ieee80211_hwmp_route *rt, *next; KASSERT(hs != NULL, ("no HWMP state")); HWMP_LOCK(hs); - TAILQ_FOREACH_SAFE(fi, &hs->hs_head, fi_next, next) { - if (IEEE80211_ADDR_EQ(fi->fi_dest, dest)) { - TAILQ_REMOVE(&hs->hs_head, fi, fi_next); - free(fi, M_80211_HWMP); + TAILQ_FOREACH_SAFE(rt, &hs->hs_routes, rt_next, next) { + if (IEEE80211_ADDR_EQ(rt->rt_dest, dest)) { + TAILQ_REMOVE(&hs->hs_routes, rt, rt_next); + free(rt, M_80211_HWMP); HWMP_UNLOCK(hs); return; } @@ -204,14 +204,14 @@ static void hwmp_rt_flush(struct ieee80211vap *vap) { struct ieee80211_hwmp_state *hs = vap->iv_hwmp; - struct ieee80211_hwmp_fi *fi, *next; + struct ieee80211_hwmp_route *rt, *next; if (hs == NULL) return; HWMP_LOCK(hs); - TAILQ_FOREACH_SAFE(fi, &hs->hs_head, fi_next, next) { - TAILQ_REMOVE(&hs->hs_head, fi, fi_next); - free(fi, M_80211_HWMP); + TAILQ_FOREACH_SAFE(rt, &hs->hs_routes, rt_next, next) { + TAILQ_REMOVE(&hs->hs_routes, rt, rt_next); + free(rt, M_80211_HWMP); } HWMP_UNLOCK(hs); } @@ -230,7 +230,7 @@ ieee80211_hwmp_vattach(struct ieee80211v printf("%s: couldn't alloc HWMP state\n", __func__); return; } - TAILQ_INIT(&hs->hs_head); + TAILQ_INIT(&hs->hs_routes); mtx_init(&hs->hs_lock, "HWMP", "802.11s HWMP", MTX_DEF); hs->hs_maxhops = IEEE80211_HWMP_DEFAULT_MAXHOPS; hs->hs_ttl = IEEE80211_HWMP_DEFAULT_TTL; @@ -563,7 +563,7 @@ hwmp_recv_preq(struct ieee80211vap *vap, { struct ieee80211_mesh_state *ms = vap->iv_mesh; struct ieee80211_hwmp_state *hs = vap->iv_hwmp; - struct ieee80211_hwmp_fi *fi = NULL; + struct ieee80211_hwmp_route *rt = NULL; /* * Ignore PREQs from us. Could happen because someone forward it @@ -611,17 +611,17 @@ hwmp_recv_preq(struct ieee80211vap *vap, /* * Build the reverse path, if we don't have it already. */ - fi = hwmp_rt_find(vap, preq->preq_origaddr); - if (fi == NULL) { + rt = hwmp_rt_find(vap, preq->preq_origaddr); + if (rt == NULL) { uint8_t *dest = (uint8_t *)preq->preq_origaddr; ieee80211_hwmp_discover(vap, dest, NULL); - } else if (IEEE80211_ADDR_EQ(fi->fi_nexthop, invalidaddr)) - ieee80211_hwmp_discover(vap, fi->fi_dest, NULL); + } else if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) + ieee80211_hwmp_discover(vap, rt->rt_dest, NULL); #endif return; } - fi = hwmp_rt_find(vap, PREQ_TADDR(0)); + rt = hwmp_rt_find(vap, PREQ_TADDR(0)); /* XXX missing. Check for AE bit and update proxy information */ @@ -635,10 +635,10 @@ hwmp_recv_preq(struct ieee80211vap *vap, /* * We have a valid route to this node. */ - if (fi != NULL && - !IEEE80211_ADDR_EQ(fi->fi_nexthop, invalidaddr)) { - fi->fi_preqid = preq->preq_id; - fi->fi_seq = preq->preq_origseq; + if (rt != NULL && + !IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) { + rt->rt_preqid = preq->preq_id; + rt->rt_seq = preq->preq_origseq; if (preq->preq_ttl > 1) { IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, @@ -672,13 +672,13 @@ hwmp_recv_preq(struct ieee80211vap *vap, "intermediate reply for PREQ from %s", ether_sprintf(preq->preq_origaddr)); prep.prep_flags = 0; - prep.prep_hopcount = fi->fi_nhops + 1; + prep.prep_hopcount = rt->rt_nhops + 1; prep.prep_ttl = hs->hs_ttl; IEEE80211_ADDR_COPY(&prep.prep_targetaddr, preq->preq_origaddr); - prep.prep_targetseq = fi->fi_seq; + prep.prep_targetseq = rt->rt_seq; prep.prep_lifetime = preq->preq_lifetime; - prep.prep_metric = fi->fi_metric + + prep.prep_metric = rt->rt_metric + ieee80211_airtime_calc(ni); IEEE80211_ADDR_COPY(&prep.prep_origaddr, PREQ_TADDR(0)); @@ -691,13 +691,13 @@ hwmp_recv_preq(struct ieee80211vap *vap, * propagate the PREQ based on TTL. */ } else if (preq->preq_ttl > 1) { - if (fi == NULL) { - fi = hwmp_rt_add(vap, PREQ_TADDR(0)); - fi->fi_metric = preq->preq_metric; - fi->fi_lifetime = preq->preq_lifetime; + if (rt == NULL) { + rt = hwmp_rt_add(vap, PREQ_TADDR(0)); + rt->rt_metric = preq->preq_metric; + rt->rt_lifetime = preq->preq_lifetime; } - fi->fi_seq = preq->preq_origseq; - fi->fi_preqid = preq->preq_id; + rt->rt_seq = preq->preq_origseq; + rt->rt_preqid = preq->preq_id; IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, "forwarding PREQ from %s", @@ -768,7 +768,7 @@ hwmp_recv_prep(struct ieee80211vap *vap, const struct ieee80211_frame *wh, const struct ieee80211_meshprep_ie *prep) { struct ieee80211_mesh_state *ms = vap->iv_mesh; - struct ieee80211_hwmp_fi *fi = NULL; + struct ieee80211_hwmp_route *rt = NULL; /* * Acceptance criteria: if the PREP was not generated by us and @@ -805,16 +805,16 @@ hwmp_recv_prep(struct ieee80211vap *vap, return; } - fi = hwmp_rt_find(vap, prep->prep_origaddr); - if (fi != NULL) { + rt = hwmp_rt_find(vap, prep->prep_origaddr); + if (rt != NULL) { /* * Build the rest of the entry. * XXX check for SEQ and PREQ ID. */ - IEEE80211_ADDR_COPY(fi->fi_nexthop, wh->i_addr2); - fi->fi_nhops = prep->prep_hopcount; - fi->fi_lifetime = prep->prep_lifetime; - fi->fi_metric = prep->prep_metric; + IEEE80211_ADDR_COPY(rt->rt_nexthop, wh->i_addr2); + rt->rt_nhops = prep->prep_hopcount; + rt->rt_lifetime = prep->prep_lifetime; + rt->rt_metric = prep->prep_metric; } /* @@ -827,7 +827,7 @@ hwmp_recv_prep(struct ieee80211vap *vap, * update the proxy information table. */ #if 0 - if (fi != NULL) { + if (rt != NULL) { struct ieee80211com *ic = vap->iv_ic; struct ifnet *ifp = vap->iv_ifp; struct mbuf *m, *next; @@ -840,7 +840,7 @@ hwmp_recv_prep(struct ieee80211vap *vap, */ m = ieee80211_ageq_remove(&ic->ic_stageq, (struct ieee80211_node *)(uintptr_t) - ieee80211_mac_hash(ic, fi->fi_dest)); + ieee80211_mac_hash(ic, rt->rt_dest)); for (; m != NULL; m = next) { next = m->m_nextpkt; m->m_nextpkt = NULL; @@ -886,17 +886,17 @@ ieee80211_hwmp_peerdown(struct ieee80211 { struct ieee80211vap *vap = ni->ni_vap; struct ieee80211_meshperr_ie perr; - struct ieee80211_hwmp_fi *fi; + struct ieee80211_hwmp_route *rt; - fi = hwmp_rt_find(vap, ni->ni_macaddr); - if (fi == NULL) + rt = hwmp_rt_find(vap, ni->ni_macaddr); + if (rt == NULL) return; IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, "%s", "deleting route entry"); perr.perr_mode = 0; perr.perr_ndests = 1; - IEEE80211_ADDR_COPY(PERR_DADDR(0), fi->fi_dest); - PERR_DSEQ(0) = fi->fi_seq; + IEEE80211_ADDR_COPY(PERR_DADDR(0), rt->rt_dest); + PERR_DSEQ(0) = rt->rt_seq; hwmp_rt_del(vap, ni->ni_macaddr); hwmp_send_perr(vap->iv_bss, vap->iv_myaddr, broadcastaddr, &perr); } @@ -911,7 +911,7 @@ hwmp_recv_perr(struct ieee80211vap *vap, const struct ieee80211_frame *wh, const struct ieee80211_meshperr_ie *perr) { struct ieee80211_mesh_state *ms = vap->iv_mesh; - struct ieee80211_hwmp_fi *fi = NULL; + struct ieee80211_hwmp_route *rt = NULL; struct ieee80211_meshperr_ie pperr; int i, forward = 0; @@ -927,12 +927,12 @@ hwmp_recv_perr(struct ieee80211vap *vap, * Find all routing entries that match and delete them. */ for (i = 0; i < perr->perr_ndests; i++) { - fi = hwmp_rt_find(vap, PERR_DADDR(i)); - if (fi == NULL) + rt = hwmp_rt_find(vap, PERR_DADDR(i)); + if (rt == NULL) continue; - if (PERR_DSEQ(i) >= fi->fi_seq) { - hwmp_rt_del(vap, fi->fi_dest); - fi = NULL; + if (PERR_DSEQ(i) >= rt->rt_seq) { + hwmp_rt_del(vap, rt->rt_dest); + rt = NULL; forward = 1; } } @@ -985,7 +985,7 @@ hwmp_recv_rann(struct ieee80211vap *vap, { struct ieee80211_mesh_state *ms = vap->iv_mesh; struct ieee80211_hwmp_state *hs = vap->iv_hwmp; - struct ieee80211_hwmp_fi *fi = NULL; + struct ieee80211_hwmp_route *rt = NULL; /* * Acceptance criteria: check the HWMP sequence number @@ -993,9 +993,9 @@ hwmp_recv_rann(struct ieee80211vap *vap, * XXX: TBD */ - fi = hwmp_rt_find(vap, rann->rann_addr); + rt = hwmp_rt_find(vap, rann->rann_addr); - if (fi == NULL) { + if (rt == NULL) { struct ieee80211_meshpreq_ie preq; /* @@ -1058,7 +1058,7 @@ ieee80211_hwmp_discover(struct ieee80211 uint8_t dest[IEEE80211_ADDR_LEN], struct mbuf *m) { struct ieee80211_hwmp_state *hs = vap->iv_hwmp; - struct ieee80211_hwmp_fi *fi = NULL; + struct ieee80211_hwmp_route *rt = NULL; struct ieee80211_meshpreq_ie preq; struct ieee80211_node *ni; int sendpreq = 0, unknowndst = 0; @@ -1071,21 +1071,21 @@ ieee80211_hwmp_discover(struct ieee80211 ni = NULL; if (!IEEE80211_IS_MULTICAST(dest)) { - fi = hwmp_rt_find(vap, dest); - if (fi == NULL) { - fi = hwmp_rt_add(vap, dest); - if (fi == NULL) { + rt = hwmp_rt_find(vap, dest); + if (rt == NULL) { + rt = hwmp_rt_add(vap, dest); + if (rt == NULL) { /* XXX stat+msg */ goto done; } - fi->fi_seq = ++hs->hs_seq; - fi->fi_preqid = ++hs->hs_preqid; - fi->fi_metric = IEEE80211_MESHLMETRIC_INITIALVAL; - fi->fi_lifetime = + rt->rt_seq = ++hs->hs_seq; + rt->rt_preqid = ++hs->hs_preqid; + rt->rt_metric = IEEE80211_MESHLMETRIC_INITIALVAL; + rt->rt_lifetime = timeval2msecs(ieee80211_hwmp_pathtimeout); sendpreq = 1; unknowndst = 1; - } else if (IEEE80211_ADDR_EQ(fi->fi_nexthop, invalidaddr)) { + } else if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) { /* XXX check preq retries */ sendpreq = 1; unknowndst = 1; @@ -1099,11 +1099,11 @@ ieee80211_hwmp_discover(struct ieee80211 preq.preq_flags = 0; preq.preq_hopcount = 0; preq.preq_ttl = hs->hs_ttl; - preq.preq_id = fi->fi_preqid; + preq.preq_id = rt->rt_preqid; IEEE80211_ADDR_COPY(preq.preq_origaddr, vap->iv_myaddr); - preq.preq_origseq = fi->fi_seq; - preq.preq_lifetime = fi->fi_lifetime; - preq.preq_metric = fi->fi_metric; + preq.preq_origseq = rt->rt_seq; + preq.preq_lifetime = rt->rt_lifetime; + preq.preq_metric = rt->rt_metric; preq.preq_tcount = 1; IEEE80211_ADDR_COPY(PREQ_TADDR(0), dest); PREQ_TFLAGS(0) = 0; @@ -1115,13 +1115,13 @@ ieee80211_hwmp_discover(struct ieee80211 PREQ_TFLAGS(0) |= IEEE80211_MESHPREQ_TFLAGS_USN; PREQ_TSEQ(0) = 0; } else - PREQ_TSEQ(0) = fi->fi_seq; + PREQ_TSEQ(0) = rt->rt_seq; /* XXX check return value */ hwmp_send_preq(vap->iv_bss, vap->iv_myaddr, broadcastaddr, &preq); } - if (!IEEE80211_ADDR_EQ(fi->fi_nexthop, invalidaddr)) - ni = ieee80211_find_txnode(vap, fi->fi_nexthop); + if (!IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) + ni = ieee80211_find_txnode(vap, rt->rt_nexthop); } else { ni = ieee80211_find_txnode(vap, dest); return ni; @@ -1161,19 +1161,19 @@ struct ieee80211_node * ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, uint8_t dest[IEEE80211_ADDR_LEN]) { - struct ieee80211_hwmp_fi *fi; + struct ieee80211_hwmp_route *rt; - fi = hwmp_rt_find(vap, dest); - if (fi == NULL) + rt = hwmp_rt_find(vap, dest); + if (rt == NULL) return NULL; - return ieee80211_find_txnode(vap, fi->fi_nexthop); + return ieee80211_find_txnode(vap, rt->rt_nexthop); } static int hwmp_ioctl_get80211(struct ieee80211vap *vap, struct ieee80211req *ireq) { struct ieee80211_hwmp_state *hs = vap->iv_hwmp; - struct ieee80211_hwmp_fi *fi; + struct ieee80211_hwmp_route *rt; size_t len, off; uint8_t *p; int error; @@ -1187,11 +1187,11 @@ hwmp_ioctl_get80211(struct ieee80211vap case IEEE80211_HWMP_CMD_LIST: len = 0; HWMP_LOCK(hs); - TAILQ_FOREACH(fi, &hs->hs_head, fi_next) { - len += sizeof(*fi); + TAILQ_FOREACH(rt, &hs->hs_routes, rt_next) { + len += sizeof(*rt); } HWMP_UNLOCK(hs); - if (len > ireq->i_len || ireq->i_len < sizeof(*fi)) + if (len > ireq->i_len || ireq->i_len < sizeof(*rt)) return ENOMEM; ireq->i_len = len; p = malloc(len, M_TEMP, M_NOWAIT | M_ZERO); @@ -1199,11 +1199,11 @@ hwmp_ioctl_get80211(struct ieee80211vap return ENOMEM; off = 0; HWMP_LOCK(hs); - TAILQ_FOREACH(fi, &hs->hs_head, fi_next) { + TAILQ_FOREACH(rt, &hs->hs_routes, rt_next) { if (off >= len) break; - memcpy(p + off, fi, sizeof(*fi)); - off += sizeof(*fi); + memcpy(p + off, rt, sizeof(*rt)); + off += sizeof(*rt); } HWMP_UNLOCK(hs); error = copyout(p, (uint8_t *)ireq->i_data, Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.h Mon Jun 29 18:17:24 2009 (r195169) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h Mon Jun 29 18:33:58 2009 (r195170) @@ -37,17 +37,17 @@ typedef uint32_t ieee80211_hwmp_seq; /* * HWMP Forwarding Information table, part of each VAP. */ -struct ieee80211_hwmp_fi { - TAILQ_ENTRY(ieee80211_hwmp_fi) fi_next; - uint8_t fi_dest[IEEE80211_ADDR_LEN]; - ieee80211_hwmp_seq fi_seq; /* HWMP sequence number */ - ieee80211_hwmp_seq fi_preqid; /* Last PREQ ID seen */ - uint8_t fi_nexthop[IEEE80211_ADDR_LEN]; - uint32_t fi_metric; /* Path Metric */ - uint32_t fi_nhops; /* Number of Hops */ - uint8_t fi_prevhop[IEEE80211_ADDR_LEN]; - uint32_t fi_lifetime; - int fi_preqretries; +struct ieee80211_hwmp_route { + TAILQ_ENTRY(ieee80211_hwmp_route) rt_next; + uint8_t rt_dest[IEEE80211_ADDR_LEN]; + ieee80211_hwmp_seq rt_seq; /* HWMP sequence number */ + ieee80211_hwmp_seq rt_preqid; /* Last PREQ ID seen */ + uint8_t rt_nexthop[IEEE80211_ADDR_LEN]; + uint32_t rt_metric; /* Path Metric */ + uint32_t rt_nhops; /* Number of Hops */ + uint8_t rt_prevhop[IEEE80211_ADDR_LEN]; + uint32_t rt_lifetime; + int rt_preqretries; }; #ifdef _KERNEL @@ -55,7 +55,7 @@ struct ieee80211_hwmp_fi { MALLOC_DECLARE(M_80211_HWMP); struct ieee80211_hwmp_state { - TAILQ_HEAD(, ieee80211_hwmp_fi) hs_head; + TAILQ_HEAD(, ieee80211_hwmp_route) hs_routes; ieee80211_hwmp_seq hs_seq; /* next seq to be used */ ieee80211_hwmp_seq hs_preqid; /* next PREQ ID to be used */ struct timeval hs_lastpreq; /* last time we sent a PREQ */ From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 19:02:52 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 01769106568A; Mon, 29 Jun 2009 19:02:52 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E469A8FC13; Mon, 29 Jun 2009 19:02:51 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TJ2pQt056663; Mon, 29 Jun 2009 19:02:51 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TJ2pgG056661; Mon, 29 Jun 2009 19:02:51 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906291902.n5TJ2pgG056661@svn.freebsd.org> From: Rui Paulo Date: Mon, 29 Jun 2009 19:02:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195173 - projects/mesh11s/sys/dev/wpi X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 19:02:52 -0000 Author: rpaulo Date: Mon Jun 29 19:02:51 2009 New Revision: 195173 URL: http://svn.freebsd.org/changeset/base/195173 Log: Mark as not implemented. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/dev/wpi/if_wpi.c Modified: projects/mesh11s/sys/dev/wpi/if_wpi.c ============================================================================== --- projects/mesh11s/sys/dev/wpi/if_wpi.c Mon Jun 29 18:54:17 2009 (r195172) +++ projects/mesh11s/sys/dev/wpi/if_wpi.c Mon Jun 29 19:02:51 2009 (r195173) @@ -2801,7 +2801,6 @@ wpi_config(struct wpi_softc *sc) switch (ic->ic_opmode) { case IEEE80211_M_STA: case IEEE80211_M_WDS: /* No know setup, use STA for now */ - case IEEE80211_M_MBSS: /* XXX */ sc->config.mode = WPI_MODE_STA; sc->config.filter |= htole32(WPI_FILTER_MULTICAST); break; @@ -2819,6 +2818,9 @@ wpi_config(struct wpi_softc *sc) sc->config.filter |= htole32(WPI_FILTER_MULTICAST | WPI_FILTER_CTL | WPI_FILTER_PROMISC); break; + case IEEE80211_M_MBSS: + device_printf(dev, "MBSS not implemented"); + return EINVAL; } sc->config.cck_mask = 0x0f; /* not yet negotiated */ sc->config.ofdm_mask = 0xff; /* not yet negotiated */ From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 19:20:21 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A7BAB1065674; Mon, 29 Jun 2009 19:20:21 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 96D488FC14; Mon, 29 Jun 2009 19:20:21 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TJKLMi056997; Mon, 29 Jun 2009 19:20:21 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TJKLFt056995; Mon, 29 Jun 2009 19:20:21 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906291920.n5TJKLFt056995@svn.freebsd.org> From: Rui Paulo Date: Mon, 29 Jun 2009 19:20:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195174 - projects/mesh11s/sys/dev/wpi X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 19:20:21 -0000 Author: rpaulo Date: Mon Jun 29 19:20:21 2009 New Revision: 195174 URL: http://svn.freebsd.org/changeset/base/195174 Log: Add default case label instead of adding MBSS. Pointed out by: sam Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/dev/wpi/if_wpi.c Modified: projects/mesh11s/sys/dev/wpi/if_wpi.c ============================================================================== --- projects/mesh11s/sys/dev/wpi/if_wpi.c Mon Jun 29 19:02:51 2009 (r195173) +++ projects/mesh11s/sys/dev/wpi/if_wpi.c Mon Jun 29 19:20:21 2009 (r195174) @@ -2818,8 +2818,8 @@ wpi_config(struct wpi_softc *sc) sc->config.filter |= htole32(WPI_FILTER_MULTICAST | WPI_FILTER_CTL | WPI_FILTER_PROMISC); break; - case IEEE80211_M_MBSS: - device_printf(dev, "MBSS not implemented"); + default: + device_printf(sc->sc_dev, "unknown opmode %d\n", opmode); return EINVAL; } sc->config.cck_mask = 0x0f; /* not yet negotiated */ From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 20:12:54 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C8A8106564A; Mon, 29 Jun 2009 20:12:54 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5184B8FC08; Mon, 29 Jun 2009 20:12:54 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TKCsfK058185; Mon, 29 Jun 2009 20:12:54 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TKCsu7058183; Mon, 29 Jun 2009 20:12:54 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906292012.n5TKCsu7058183@svn.freebsd.org> From: Rui Paulo Date: Mon, 29 Jun 2009 20:12:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195176 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 20:12:54 -0000 Author: rpaulo Date: Mon Jun 29 20:12:54 2009 New Revision: 195176 URL: http://svn.freebsd.org/changeset/base/195176 Log: Rework the forwarding check a bit. Still a bit expensive. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 19:46:29 2009 (r195175) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 20:12:54 2009 (r195176) @@ -379,6 +379,7 @@ mesh_forward(struct ieee80211vap *vap, s "fwd %s frame from %s ttl %d", IEEE80211_IS_MULTICAST(wh->i_addr1) ? "mcast" : "ucast", ether_sprintf(wh->i_addr3), mccopy->mc_ttl); + KASSERT(mccopy->mc_ttl > 0, ("%s called with wrong ttl", __func__)); mccopy->mc_ttl--; /* XXX calculate priority so drivers can find the tx queue */ M_WME_SETAC(mcopy, WME_AC_BE); @@ -388,7 +389,7 @@ mesh_forward(struct ieee80211vap *vap, s IEEE80211_DPRINTF(vap, IEEE80211_MSG_NODE, "ieee80211_ref_node (%s:%u) %p<%s> refcnt %d\n", __func__, __LINE__, - ni, ether_sprintf(nidest->ni_macaddr), + nidest, ether_sprintf(nidest->ni_macaddr), ieee80211_node_refcnt(nidest)+1); #endif ieee80211_ref_node(nidest); @@ -514,16 +515,28 @@ mesh_input(struct ieee80211_node *ni, st } else qos = 0; /* - * Forward packets if they are not destined to us. - * We just decrement the TTL and set TA to our MAC address. - * XXX make this check cheaper + * Check if we can forward the packet. */ - if (!IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr2) && - !IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr3) && - !IEEE80211_ADDR_EQ(wh->i_addr1, wh->i_addr3) && - mc->mc_ttl > 0 && - (ms->ms_flags & IEEE80211_MESHFLAGS_FWD)) + if (mc->mc_ttl <= 0 || + !(ms->ms_flags & IEEE80211_MESHFLAGS_FWD)) + goto deliver; + /* + * Forward and deliver multicast packets + */ + if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { + mesh_forward(vap, m); + goto deliver; + } + /* + * Forward packets if their final destination is not us. + */ + if (!IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr3) && + IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr1)) { mesh_forward(vap, m); + /* NB: don't deliver */ + goto out; + } +deliver: /* * Next up, any fragmentation. */ From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 21:03:55 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1072810656FC; Mon, 29 Jun 2009 21:03:55 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F31AE8FC0A; Mon, 29 Jun 2009 21:03:54 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TL3s6w059181; Mon, 29 Jun 2009 21:03:54 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TL3sm4059178; Mon, 29 Jun 2009 21:03:54 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906292103.n5TL3sm4059178@svn.freebsd.org> From: Rui Paulo Date: Mon, 29 Jun 2009 21:03:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195178 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 21:03:55 -0000 Author: rpaulo Date: Mon Jun 29 21:03:54 2009 New Revision: 195178 URL: http://svn.freebsd.org/changeset/base/195178 Log: * fix prep processing * rename nidest to just ni Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Mon Jun 29 20:19:19 2009 (r195177) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Mon Jun 29 21:03:54 2009 (r195178) @@ -799,10 +799,6 @@ hwmp_recv_prep(struct ieee80211vap *vap, pprep.prep_metric += ieee80211_airtime_calc(ni); IEEE80211_ADDR_COPY(pprep.prep_origaddr, vap->iv_myaddr); hwmp_send_prep(ni, vap->iv_myaddr, broadcastaddr, &pprep); - /* - * XXX: update the precursor list. - */ - return; } rt = hwmp_rt_find(vap, prep->prep_origaddr); Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 20:19:19 2009 (r195177) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Mon Jun 29 21:03:54 2009 (r195178) @@ -332,7 +332,7 @@ mesh_forward(struct ieee80211vap *vap, s struct ieee80211_frame *whcopy; const struct ieee80211_txparam *tp; struct ieee80211_bpf_params params; - struct ieee80211_node *nidest; + struct ieee80211_node *ni; int err; mcopy = m_dup(m, M_DONTWAIT); @@ -357,25 +357,25 @@ mesh_forward(struct ieee80211vap *vap, s whcopy->i_fc[1] &= ~IEEE80211_FC1_RETRY; IEEE80211_ADDR_COPY(whcopy->i_addr2, vap->iv_myaddr); if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { - nidest = vap->iv_bss; - tp = nidest->ni_txparms; + ni = vap->iv_bss; + tp = ni->ni_txparms; params.ibp_rate0 = tp->mcastrate; params.ibp_flags |= IEEE80211_BPF_NOACK; params.ibp_try0 = 1; mcopy->m_flags |= M_MCAST; } else { - nidest = ieee80211_hwmp_find_txnode(vap, whcopy->i_addr3); - if (nidest == NULL) { + ni = ieee80211_hwmp_find_txnode(vap, whcopy->i_addr3); + if (ni == NULL) { /* XXX stat+msg? */ m_freem(mcopy); return; } - tp = nidest->ni_txparms; + tp = ni->ni_txparms; params.ibp_rate0 = tp->ucastrate; params.ibp_try0 = tp->maxretry; - IEEE80211_ADDR_COPY(whcopy->i_addr1, nidest->ni_macaddr); + IEEE80211_ADDR_COPY(whcopy->i_addr1, ni->ni_macaddr); } - IEEE80211_NOTE(vap, IEEE80211_MSG_MESH, nidest, + IEEE80211_NOTE(vap, IEEE80211_MSG_MESH, ni, "fwd %s frame from %s ttl %d", IEEE80211_IS_MULTICAST(wh->i_addr1) ? "mcast" : "ucast", ether_sprintf(wh->i_addr3), mccopy->mc_ttl); @@ -384,20 +384,20 @@ mesh_forward(struct ieee80211vap *vap, s /* XXX calculate priority so drivers can find the tx queue */ M_WME_SETAC(mcopy, WME_AC_BE); params.ibp_pri = M_WME_GETAC(mcopy); - params.ibp_power = nidest->ni_txpower; + params.ibp_power = ni->ni_txpower; #ifdef IEEE80211_DEBUG_REFCNT IEEE80211_DPRINTF(vap, IEEE80211_MSG_NODE, "ieee80211_ref_node (%s:%u) %p<%s> refcnt %d\n", __func__, __LINE__, - nidest, ether_sprintf(nidest->ni_macaddr), - ieee80211_node_refcnt(nidest)+1); + ni, ether_sprintf(ni->ni_macaddr), + ieee80211_node_refcnt(ni)+1); #endif - ieee80211_ref_node(nidest); - err = ic->ic_raw_xmit(nidest, mcopy, ¶ms); + ieee80211_ref_node(ni); + err = ic->ic_raw_xmit(ni, mcopy, ¶ms); if (err) { /* NB: IFQ_HANDOFF reclaims mbuf */ ifp->if_oerrors++; - ieee80211_free_node(nidest); + ieee80211_free_node(ni); } else ifp->if_opackets++; } From owner-svn-src-projects@FreeBSD.ORG Mon Jun 29 23:53:28 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A84A0106566C; Mon, 29 Jun 2009 23:53:28 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 96F6D8FC17; Mon, 29 Jun 2009 23:53:28 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5TNrRlG062382; Mon, 29 Jun 2009 23:53:27 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5TNrRIj062380; Mon, 29 Jun 2009 23:53:27 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906292353.n5TNrRIj062380@svn.freebsd.org> From: Sam Leffler Date: Mon, 29 Jun 2009 23:53:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195179 - projects/mesh11s/sbin/ifconfig X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2009 23:53:28 -0000 Author: sam Date: Mon Jun 29 23:53:27 2009 New Revision: 195179 URL: http://svn.freebsd.org/changeset/base/195179 Log: sync w/ data structure name changes Modified: projects/mesh11s/sbin/ifconfig/ifieee80211.c Modified: projects/mesh11s/sbin/ifconfig/ifieee80211.c ============================================================================== --- projects/mesh11s/sbin/ifconfig/ifieee80211.c Mon Jun 29 21:03:54 2009 (r195178) +++ projects/mesh11s/sbin/ifconfig/ifieee80211.c Mon Jun 29 23:53:27 2009 (r195179) @@ -3960,7 +3960,7 @@ list_hwmp(int s) { int i; struct ieee80211req ireq; - struct ieee80211_hwmp_fi routes[100]; + struct ieee80211_hwmp_route routes[100]; (void) memset(&ireq, 0, sizeof(ireq)); (void) strncpy(ireq.i_name, name, sizeof(ireq.i_name)); @@ -3982,13 +3982,13 @@ list_hwmp(int s) for (i = 0; i < ireq.i_len / sizeof(*routes); i++) { printf("%s ", ether_ntoa((const struct ether_addr *) - routes[i].fi_dest)); + routes[i].rt_dest)); printf("%s %4u %4d %6d %4d %6d\n", ether_ntoa((const struct ether_addr *) - routes[i].fi_nexthop), - routes[i].fi_nhops, routes[i].fi_metric, - routes[i].fi_lifetime, routes[i].fi_seq, - routes[i].fi_preqid); + routes[i].rt_nexthop), + routes[i].rt_nhops, routes[i].rt_metric, + routes[i].rt_lifetime, routes[i].rt_seq, + routes[i].rt_preqid); } } From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 09:14:11 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 073551065673; Tue, 30 Jun 2009 09:14:10 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AFAFE8FC08; Tue, 30 Jun 2009 09:14:10 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5U9EAjM073606; Tue, 30 Jun 2009 09:14:10 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5U9E9x9073560; Tue, 30 Jun 2009 09:14:09 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <200906300914.n5U9E9x9073560@svn.freebsd.org> From: Ed Schouten Date: Tue, 30 Jun 2009 09:14:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195183 - in projects/clangbsd: . cddl/contrib/opensolaris contrib/llvm contrib/llvm/lib/Support contrib/llvm/tools/clang lib/libusb release release/amd64 release/i386 release/ia64 rele... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 09:14:11 -0000 Author: ed Date: Tue Jun 30 09:14:09 2009 New Revision: 195183 URL: http://svn.freebsd.org/changeset/base/195183 Log: Integrate newer FreeBSD sources. Also revert local Clang hack. Reported by: Howard Su Modified: projects/clangbsd/ (props changed) projects/clangbsd/UPDATING projects/clangbsd/cddl/contrib/opensolaris/ (props changed) projects/clangbsd/contrib/llvm/ (props changed) projects/clangbsd/contrib/llvm/lib/Support/Timer.cpp projects/clangbsd/contrib/llvm/tools/clang/ (props changed) projects/clangbsd/lib/libusb/ (props changed) projects/clangbsd/lib/libusb/libusb20.3 (props changed) projects/clangbsd/release/Makefile projects/clangbsd/release/amd64/boot_crunch.conf projects/clangbsd/release/i386/boot_crunch.conf projects/clangbsd/release/ia64/boot_crunch.conf projects/clangbsd/release/pc98/boot_crunch.conf projects/clangbsd/release/powerpc/boot_crunch.conf projects/clangbsd/release/scripts/package-split.py projects/clangbsd/release/sparc64/boot_crunch.conf projects/clangbsd/release/sun4v/boot_crunch.conf projects/clangbsd/sys/amd64/amd64/sys_machdep.c projects/clangbsd/sys/cddl/contrib/opensolaris/ (props changed) projects/clangbsd/sys/compat/freebsd32/freebsd32_misc.c projects/clangbsd/sys/compat/linux/linux_signal.c projects/clangbsd/sys/dev/ale/if_ale.c projects/clangbsd/sys/dev/ath/ath_hal/ah.c projects/clangbsd/sys/dev/ath/ath_hal/ah.h projects/clangbsd/sys/dev/ath/ath_hal/ah_internal.h projects/clangbsd/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/clangbsd/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c projects/clangbsd/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/clangbsd/sys/dev/ath/if_athvar.h projects/clangbsd/sys/dev/sound/usb/uaudio.c projects/clangbsd/sys/dev/usb/controller/at91dci.c projects/clangbsd/sys/dev/usb/controller/atmegadci.c projects/clangbsd/sys/dev/usb/controller/avr32dci.c projects/clangbsd/sys/dev/usb/controller/musb_otg.c projects/clangbsd/sys/dev/usb/controller/uss820dci.c projects/clangbsd/sys/dev/usb/net/if_cdce.c projects/clangbsd/sys/dev/usb/serial/usb_serial.c projects/clangbsd/sys/dev/usb/storage/ustorage_fs.c projects/clangbsd/sys/dev/usb/usb_controller.h projects/clangbsd/sys/dev/usb/usb_device.c projects/clangbsd/sys/dev/usb/usb_handle_request.c projects/clangbsd/sys/dev/usb/usb_if.m projects/clangbsd/sys/dev/usb/usb_transfer.c projects/clangbsd/sys/dev/usb/usbdi.h projects/clangbsd/sys/dev/usb/wlan/if_urtw.c projects/clangbsd/sys/dev/xen/netfront/ (props changed) projects/clangbsd/sys/dev/xen/xenpci/ (props changed) projects/clangbsd/sys/i386/i386/sys_machdep.c projects/clangbsd/sys/kern/kern_descrip.c projects/clangbsd/sys/kern/kern_event.c projects/clangbsd/sys/kern/kern_exec.c projects/clangbsd/sys/kern/kern_exit.c projects/clangbsd/sys/kern/kern_fork.c projects/clangbsd/sys/kern/kern_prot.c projects/clangbsd/sys/kern/kern_sig.c projects/clangbsd/sys/kern/kern_thr.c projects/clangbsd/sys/kern/sys_generic.c projects/clangbsd/sys/kern/sys_process.c projects/clangbsd/sys/kern/sys_socket.c projects/clangbsd/sys/kern/tty.c projects/clangbsd/sys/kern/vfs_cluster.c projects/clangbsd/sys/kern/vfs_extattr.c projects/clangbsd/sys/kern/vfs_lookup.c projects/clangbsd/sys/kern/vfs_mount.c projects/clangbsd/sys/kern/vfs_syscalls.c projects/clangbsd/sys/modules/dtrace/dtnfsclient/ (props changed) projects/clangbsd/sys/modules/ip6_mroute_mod/ (props changed) projects/clangbsd/sys/modules/ipmi/ipmi_linux/ (props changed) projects/clangbsd/sys/netgraph/ng_ksocket.c projects/clangbsd/sys/netinet/ipfw/ip_dummynet.c (props changed) projects/clangbsd/sys/netinet/ipfw/ip_fw2.c (props changed) projects/clangbsd/sys/netinet/ipfw/ip_fw_pfil.c (props changed) projects/clangbsd/sys/netinet6/in6.c projects/clangbsd/sys/nfs/nfs_nfssvc.c projects/clangbsd/sys/security/audit/audit.h projects/clangbsd/sys/security/audit/audit_syscalls.c projects/clangbsd/sys/sparc64/include/pmap.h projects/clangbsd/sys/sparc64/sparc64/machdep.c projects/clangbsd/sys/sparc64/sparc64/pmap.c projects/clangbsd/sys/sys/event.h projects/clangbsd/sys/sys/filio.h projects/clangbsd/sys/sys/mount.h projects/clangbsd/sys/sys/vnode.h projects/clangbsd/sys/vm/vm_object.c projects/clangbsd/tools/regression/lib/msun/test-conj.t (props changed) projects/clangbsd/tools/tools/ath/common/dumpregs.h (props changed) projects/clangbsd/tools/tools/ath/common/dumpregs_5210.c (props changed) projects/clangbsd/tools/tools/ath/common/dumpregs_5211.c (props changed) projects/clangbsd/tools/tools/ath/common/dumpregs_5212.c (props changed) projects/clangbsd/tools/tools/ath/common/dumpregs_5416.c (props changed) projects/clangbsd/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) projects/clangbsd/usr.sbin/makefs/ffs/ffs_subr.c (props changed) projects/clangbsd/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) projects/clangbsd/usr.sbin/makefs/getid.c (props changed) projects/clangbsd/usr.sbin/sysinstall/dist.c projects/clangbsd/usr.sbin/sysinstall/dist.h projects/clangbsd/usr.sbin/sysinstall/doc.c projects/clangbsd/usr.sbin/sysinstall/menus.c projects/clangbsd/usr.sbin/sysinstall/sysinstall.h Modified: projects/clangbsd/UPDATING ============================================================================== --- projects/clangbsd/UPDATING Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/UPDATING Tue Jun 30 09:14:09 2009 (r195183) @@ -22,6 +22,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090628: + The documentation from the FreeBSD Documentation Project + (Handbook, FAQ, etc.) is now installed via packages by + sysinstall(8) and under the /usr/local/share/doc/freebsd + directory instead of /usr/share/doc. + 20090624: The ABI of various structures related to the SYSV IPC API have been changed. As a result, the COMPAT_FREEBSD[456] kernel Modified: projects/clangbsd/contrib/llvm/lib/Support/Timer.cpp ============================================================================== --- projects/clangbsd/contrib/llvm/lib/Support/Timer.cpp Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/contrib/llvm/lib/Support/Timer.cpp Tue Jun 30 09:14:09 2009 (r195183) @@ -203,12 +203,12 @@ void Timer::sum(const Timer &T) { /// currently active timers, which will be printed when the timer group prints /// void Timer::addPeakMemoryMeasurement() { - int64_t MemUsed = getMemUsage(); + size_t MemUsed = getMemUsage(); for (std::vector::iterator I = ActiveTimers->begin(), E = ActiveTimers->end(); I != E; ++I) { (*I)->Lock.acquire(); - (*I)->PeakMem = std::max((*I)->PeakMem, (int64_t)MemUsed-(*I)->PeakMemBase); + (*I)->PeakMem = std::max((*I)->PeakMem, MemUsed-(*I)->PeakMemBase); (*I)->Lock.release(); } } Modified: projects/clangbsd/release/Makefile ============================================================================== --- projects/clangbsd/release/Makefile Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/release/Makefile Tue Jun 30 09:14:09 2009 (r195183) @@ -39,6 +39,10 @@ BUILDNAME?=${BASE}-${DATE}-SNAP # checking out from a local CVS repository, set this option. #EXTPORTSDIR=/usr/ports # +# To use a checked-out doc/ directory instead of +# checking out from a local CVS repository, set this option. +#EXTDOCDIR=/usr/doc +# # To add other options to the CVS subcommands (co,up), set #CVSCMDARGS="-D '01/01/2002 00:00:00 UTC'" # @@ -91,15 +95,13 @@ RELEASEPORTSMODULE?= ports # the ports tree, so NOPORTS can be set together with NODOC in order # to have neither ports or docs. If only NOPORTS is set to YES, but # docs are still desired, the DOMINIMALDOCPORTS logic below will only -# install the ports that are minimally required for the docs. This is +# install the ports that are minimally required for the release note documentation. This is # intended as a compromise, less disk space is required than for using # the entire ports collection (and much less time due to the huge number # of directories it would create), but still quite a bit as well as some # CPU cycles (some of the programs are C++, and things like ghostscript # belong to the required ports nevertheless). # -# Setting this also disables building of release note documentation -# (RELNOTESng). #NODOC= YES #NOPORTS= YES @@ -141,11 +143,6 @@ NOPORTSATALL= YES # # Doing 'make index' in /usr/ports requires Perl. MAKEINDEXPORTS= lang/perl5.8 -# By default, documentation (Handbook, FAQ, etc.) is built for all -# the languages. To speed up building, set the DOC_LANG to just -# the languages you need. (The language for the release notes is -# controlled by the RELNOTES_LANG variable above.) -#DOC_LANG= en_US.ISO8859-1 DOCPORTS= textproc/docproj # Set this to wherever the distfiles required by release procedures. .if defined(DOCDISTFILES) @@ -348,7 +345,7 @@ release rerelease: @echo "To make a release you must set CHROOTDIR, BUILDNAME and CVSROOT" && false .endif .if defined(NOPORTSATALL) && !defined(NODOC) - @echo "Ports are required for building the docs. Either set NODOC or" + @echo "Ports are required for building the release docs. Either set NODOC or" @echo "unset NOPORTS, or set at least DOMINIMALDOCPORTS to YES!" @exit 1 .endif @@ -477,7 +474,6 @@ release rerelease: BUILDNAME \ CD_PACKAGE_TREE \ DISTRIBUTIONS \ - DOC_LANG \ DOMINIMALDOCPORTS \ EXTRA_SRC \ FTP_PASSIVE_MODE \ @@ -1037,21 +1033,7 @@ cdrom.2: @echo "Building CDROM docs filesystem image" @mkdir -p ${CD_DOCS} @echo "CD_VERSION = ${BUILDNAME}" > ${CD_DOCS}/cdrom.inf - @mkdir -p ${CD_DOCS}/usr/share/doc -.if defined(MAKE_DVD) - @mkdir -p ${CD_DVD1}/usr/share/doc -.endif - @for i in `ls ${CD_LIVEFS}/usr/share/doc`; do \ - if [ -L ${CD_LIVEFS}/usr/share/doc/$$i -o \ - -d /usr/doc/$$i ]; then \ - mv ${CD_LIVEFS}/usr/share/doc/$$i \ - ${CD_DOCS}/usr/share/doc; \ - fi \ - done -.if defined(MAKE_DVD) - @cd ${CD_DOCS}/usr/share/doc && find . -print | \ - cpio -dumpl ${CD_DVD1}/usr/share/doc -.endif + @echo "CD_VOLUME = 3" >> ${CD_DOCS}/cdrom.inf .endif touch ${.TARGET} @@ -1082,6 +1064,11 @@ CD_DISC1_PKGS= ${CD_PACKAGE_TREE}/disc1 .if exists(${CD_PACKAGE_TREE}/disc2) CD_DISC2_PKGS= ${CD_PACKAGE_TREE}/disc2 .endif +# scripts/package-trees.sh names all discs according to the "discX" +# scheme where X is the number of the disc +.if exists(${CD_PACKAGE_TREE}/disc3) +CD_DOCS_PKGS= ${CD_PACKAGE_TREE}/disc3 +.endif .if exists(${CD_PACKAGE_TREE}/dvd1) CD_DVD1_PKGS= ${CD_PACKAGE_TREE}/dvd1 .endif @@ -1113,7 +1100,8 @@ iso.1: .if !defined(NODOC) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh \ FreeBSD_Documentation \ - ${CD}/${BUILDNAME}-${TARGET}-docs.iso ${CD_DOCS} + ${CD}/${BUILDNAME}-${TARGET}-disc3.iso ${CD_DOCS} \ + ${CD_DOCS_PKGS} .endif .if defined(SEPARATE_LIVEFS) @sh ${.CURDIR}/${TARGET_ARCH}/mkisoimages.sh ${BOOTABLE} \ @@ -1139,9 +1127,6 @@ doc.1: make all install clean BATCH=yes WITHOUT_X11=yes JADETEX=no \ WITHOUT_PYTHON=yes FORCE_PKG_REGISTER=yes; \ done - @cd /usr/doc && make all install 'FORMATS=html html-split txt' \ - INSTALL_COMPRESSED='' DOCDIR=${RD}/trees/base/usr/share/doc \ - URLS_ABSOLUTE=YES touch ${.TARGET} # Modified: projects/clangbsd/release/amd64/boot_crunch.conf ============================================================================== --- projects/clangbsd/release/amd64/boot_crunch.conf Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/release/amd64/boot_crunch.conf Tue Jun 30 09:14:09 2009 (r195183) @@ -42,4 +42,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail Modified: projects/clangbsd/release/i386/boot_crunch.conf ============================================================================== --- projects/clangbsd/release/i386/boot_crunch.conf Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/release/i386/boot_crunch.conf Tue Jun 30 09:14:09 2009 (r195183) @@ -42,4 +42,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -ldevinfo -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail Modified: projects/clangbsd/release/ia64/boot_crunch.conf ============================================================================== --- projects/clangbsd/release/ia64/boot_crunch.conf Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/release/ia64/boot_crunch.conf Tue Jun 30 09:14:09 2009 (r195183) @@ -46,4 +46,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -ldevinfo -libs -lgeom -lbsdxml -larchive -lbz2 -lusb +libs -lgeom -lbsdxml -larchive -lbz2 -lusb -ljail Modified: projects/clangbsd/release/pc98/boot_crunch.conf ============================================================================== --- projects/clangbsd/release/pc98/boot_crunch.conf Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/release/pc98/boot_crunch.conf Tue Jun 30 09:14:09 2009 (r195183) @@ -41,4 +41,4 @@ progs sysinstall libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 +libs -larchive -lbz2 -ljail Modified: projects/clangbsd/release/powerpc/boot_crunch.conf ============================================================================== --- projects/clangbsd/release/powerpc/boot_crunch.conf Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/release/powerpc/boot_crunch.conf Tue Jun 30 09:14:09 2009 (r195183) @@ -44,4 +44,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs -libs -lbsdxml -larchive -lbz2 -lusb +libs -lbsdxml -larchive -lbz2 -lusb -ljail Modified: projects/clangbsd/release/scripts/package-split.py ============================================================================== --- projects/clangbsd/release/scripts/package-split.py Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/release/scripts/package-split.py Tue Jun 30 09:14:09 2009 (r195183) @@ -86,11 +86,34 @@ def disc2_packages(): 'ports-mgmt/portaudit']) return pkgs +def docs_packages(): + pkgs = ['misc/freebsd-doc-bn', + 'misc/freebsd-doc-da', + 'misc/freebsd-doc-de', + 'misc/freebsd-doc-el', + 'misc/freebsd-doc-en', + 'misc/freebsd-doc-es', + 'misc/freebsd-doc-fr', + 'misc/freebsd-doc-hu', + 'misc/freebsd-doc-it', + 'misc/freebsd-doc-ja', + 'misc/freebsd-doc-mn', + 'misc/freebsd-doc-nl', + 'misc/freebsd-doc-pl', + 'misc/freebsd-doc-pt', + 'misc/freebsd-doc-ru', + 'misc/freebsd-doc-sr', + 'misc/freebsd-doc-tr', + 'misc/freebsd-doc-zh_cn', + 'misc/freebsd-doc-zh_tw'] + return pkgs + # The list of desired packages def desired_packages(): disc1 = disc1_packages() disc2 = disc2_packages() - return [disc1, disc2] + docs = docs_packages() + return [disc1, disc2, docs] # Suck the entire INDEX file into a two different dictionaries. The first # dictionary maps port names (origins) to package names. The second Modified: projects/clangbsd/release/sparc64/boot_crunch.conf ============================================================================== --- projects/clangbsd/release/sparc64/boot_crunch.conf Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/release/sparc64/boot_crunch.conf Tue Jun 30 09:14:09 2009 (r195183) @@ -42,4 +42,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail Modified: projects/clangbsd/release/sun4v/boot_crunch.conf ============================================================================== --- projects/clangbsd/release/sun4v/boot_crunch.conf Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/release/sun4v/boot_crunch.conf Tue Jun 30 09:14:09 2009 (r195183) @@ -42,4 +42,4 @@ progs usbconfig libs -ll -ledit -lutil -lmd -lcrypt -lftpio -lz -lnetgraph libs -ldialog -lncurses -ldisk -lcam -lsbuf -lufs -lbsdxml -libs -larchive -lbz2 -lusb +libs -larchive -lbz2 -lusb -ljail Modified: projects/clangbsd/sys/amd64/amd64/sys_machdep.c ============================================================================== --- projects/clangbsd/sys/amd64/amd64/sys_machdep.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/amd64/amd64/sys_machdep.c Tue Jun 30 09:14:09 2009 (r195183) @@ -87,7 +87,7 @@ sysarch_ldt(struct thread *td, struct sy * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); if (uap_space == UIO_USERSPACE) { error = copyin(uap->parms, &la, sizeof(struct i386_ldt_args)); if (error != 0) @@ -170,7 +170,7 @@ sysarch(td, uap) * XXXKIB check that the BSM generation code knows to encode * the op argument. */ - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); switch (uap->op) { case I386_GET_IOPERM: case I386_SET_IOPERM: Modified: projects/clangbsd/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- projects/clangbsd/sys/compat/freebsd32/freebsd32_misc.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/compat/freebsd32/freebsd32_misc.c Tue Jun 30 09:14:09 2009 (r195183) @@ -2924,7 +2924,7 @@ freebsd32_nmount(struct thread *td, struct uio *auio; int error; - AUDIT_ARG(fflags, uap->flags); + AUDIT_ARG_FFLAGS(uap->flags); /* * Filter out MNT_ROOTFS. We do not want clients of nmount() in Modified: projects/clangbsd/sys/compat/linux/linux_signal.c ============================================================================== --- projects/clangbsd/sys/compat/linux/linux_signal.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/compat/linux/linux_signal.c Tue Jun 30 09:14:09 2009 (r195183) @@ -546,8 +546,8 @@ linux_do_tkill(struct thread *td, l_int ksiginfo_t ksi; int error; - AUDIT_ARG(signum, signum); - AUDIT_ARG(pid, pid); + AUDIT_ARG_SIGNUM(signum); + AUDIT_ARG_PID(pid); /* * Allow signal 0 as a means to check for privileges @@ -563,7 +563,7 @@ linux_do_tkill(struct thread *td, l_int return (ESRCH); } - AUDIT_ARG(process, p); + AUDIT_ARG_PROCESS(p); error = p_cansignal(td, p, signum); if (error) goto out; Modified: projects/clangbsd/sys/dev/ale/if_ale.c ============================================================================== --- projects/clangbsd/sys/dev/ale/if_ale.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/ale/if_ale.c Tue Jun 30 09:14:09 2009 (r195183) @@ -620,6 +620,14 @@ ale_attach(device_t dev) ifp->if_capabilities |= IFCAP_VLAN_MTU; ifp->if_capabilities |= IFCAP_VLAN_HWTAGGING | IFCAP_VLAN_HWCSUM; ifp->if_capenable = ifp->if_capabilities; + /* + * Even though controllers supported by ale(3) have Rx checksum + * offload bug the workaround for fragmented frames seemed to + * work so far. However it seems Rx checksum offload does not + * work under certain conditions. So disable Rx checksum offload + * until I find more clue about it but allow users to override it. + */ + ifp->if_capenable &= ~IFCAP_RXCSUM; /* Tell the upper layer(s) we support long frames. */ ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); Modified: projects/clangbsd/sys/dev/ath/ath_hal/ah.c ============================================================================== --- projects/clangbsd/sys/dev/ath/ath_hal/ah.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/ath/ath_hal/ah.c Tue Jun 30 09:14:09 2009 (r195183) @@ -503,6 +503,8 @@ ath_hal_getcapability(struct ath_hal *ah case HAL_CAP_INTRMASK: /* mask of supported interrupts */ *result = pCap->halIntrMask; return HAL_OK; + case HAL_CAP_BSSIDMATCH: /* hardware has disable bssid match */ + return pCap->halBssidMatchSupport ? HAL_OK : HAL_ENOTSUPP; default: return HAL_EINVAL; } Modified: projects/clangbsd/sys/dev/ath/ath_hal/ah.h ============================================================================== --- projects/clangbsd/sys/dev/ath/ath_hal/ah.h Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/ath/ath_hal/ah.h Tue Jun 30 09:14:09 2009 (r195183) @@ -110,6 +110,7 @@ typedef enum { HAL_CAP_BB_HANG = 35, /* can baseband hang */ HAL_CAP_MAC_HANG = 36, /* can MAC hang */ HAL_CAP_INTRMASK = 37, /* bitmask of supported interrupts */ + HAL_CAP_BSSIDMATCH = 38, /* hardware has disable bssid match */ } HAL_CAPABILITY_TYPE; /* @@ -296,6 +297,7 @@ typedef enum { HAL_RX_FILTER_PHYERR = 0x00000100, /* Allow phy errors */ HAL_RX_FILTER_PHYRADAR = 0x00000200, /* Allow phy radar errors */ HAL_RX_FILTER_COMPBAR = 0x00000400, /* Allow compressed BAR */ + HAL_RX_FILTER_BSSID = 0x00000800, /* Disable BSSID match */ } HAL_RX_FILTER; typedef enum { Modified: projects/clangbsd/sys/dev/ath/ath_hal/ah_internal.h ============================================================================== --- projects/clangbsd/sys/dev/ath/ath_hal/ah_internal.h Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/ath/ath_hal/ah_internal.h Tue Jun 30 09:14:09 2009 (r195183) @@ -193,7 +193,8 @@ typedef struct { halExtChanDfsSupport : 1, halForcePpmSupport : 1, halEnhancedPmSupport : 1, - halMbssidAggrSupport : 1; + halMbssidAggrSupport : 1, + halBssidMatchSupport : 1; uint32_t halWirelessModes; uint16_t halTotalQueues; uint16_t halKeyCacheSize; Modified: projects/clangbsd/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c ============================================================================== --- projects/clangbsd/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Tue Jun 30 09:14:09 2009 (r195183) @@ -833,11 +833,15 @@ ar5212FillCapabilityInfo(struct ath_hal ahpriv->ah_rxornIsFatal = (AH_PRIVATE(ah)->ah_macVersion < AR_SREV_VERSION_VENICE); - /* h/w phy counters first appeared in Hainan */ - pCap->halHwPhyCounterSupport = - (AH_PRIVATE(ah)->ah_macVersion == AR_SREV_VERSION_VENICE && + /* enable features that first appeared in Hainan */ + if ((AH_PRIVATE(ah)->ah_macVersion == AR_SREV_VERSION_VENICE && AH_PRIVATE(ah)->ah_macRev == AR_SREV_HAINAN) || - AH_PRIVATE(ah)->ah_macVersion > AR_SREV_VERSION_VENICE; + AH_PRIVATE(ah)->ah_macVersion > AR_SREV_VERSION_VENICE) { + /* h/w phy counters */ + pCap->halHwPhyCounterSupport = AH_TRUE; + /* bssid match disable */ + pCap->halBssidMatchSupport = AH_TRUE; + } pCap->halTstampPrecision = 15; pCap->halIntrMask = HAL_INT_COMMON Modified: projects/clangbsd/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c ============================================================================== --- projects/clangbsd/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c Tue Jun 30 09:14:09 2009 (r195183) @@ -14,7 +14,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: ar5212_recv.c,v 1.4 2008/11/10 04:08:03 sam Exp $ + * $FreeBSD$ */ #include "opt_ah.h" @@ -163,6 +163,9 @@ ar5212GetRxFilter(struct ath_hal *ah) bits |= HAL_RX_FILTER_PHYRADAR; if (phybits & (AR_PHY_ERR_OFDM_TIMING|AR_PHY_ERR_CCK_TIMING)) bits |= HAL_RX_FILTER_PHYERR; + if (AH_PRIVATE(ah)->ah_caps.halBssidMatchSupport && + (OS_REG_READ(ah, AR_MISC_MODE) & AR_MISC_MODE_BSSID_MATCH_FORCE)) + bits |= HAL_RX_FILTER_BSSID; return bits; } @@ -175,7 +178,8 @@ ar5212SetRxFilter(struct ath_hal *ah, ui uint32_t phybits; OS_REG_WRITE(ah, AR_RX_FILTER, - bits &~ (HAL_RX_FILTER_PHYRADAR|HAL_RX_FILTER_PHYERR)); + bits &~ (HAL_RX_FILTER_PHYRADAR|HAL_RX_FILTER_PHYERR| + HAL_RX_FILTER_BSSID)); phybits = 0; if (bits & HAL_RX_FILTER_PHYRADAR) phybits |= AR_PHY_ERR_RADAR; @@ -189,6 +193,14 @@ ar5212SetRxFilter(struct ath_hal *ah, ui OS_REG_WRITE(ah, AR_RXCFG, OS_REG_READ(ah, AR_RXCFG) &~ AR_RXCFG_ZLFDMA); } + if (AH_PRIVATE(ah)->ah_caps.halBssidMatchSupport) { + uint32_t miscbits = OS_REG_READ(ah, AR_MISC_MODE); + if (bits & HAL_RX_FILTER_BSSID) + miscbits |= AR_MISC_MODE_BSSID_MATCH_FORCE; + else + miscbits &= ~AR_MISC_MODE_BSSID_MATCH_FORCE; + OS_REG_WRITE(ah, AR_MISC_MODE, miscbits); + } } /* Modified: projects/clangbsd/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- projects/clangbsd/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Tue Jun 30 09:14:09 2009 (r195183) @@ -811,6 +811,7 @@ ar5416FillCapabilityInfo(struct ath_hal pCap->halMbssidAggrSupport = AH_TRUE; pCap->halForcePpmSupport = AH_TRUE; pCap->halEnhancedPmSupport = AH_TRUE; + pCap->halBssidMatchSupport = AH_TRUE; if (ath_hal_eepromGetFlag(ah, AR_EEP_RFKILL) && ath_hal_eepromGet(ah, AR_EEP_RFSILENT, &ahpriv->ah_rfsilent) == HAL_OK) { Modified: projects/clangbsd/sys/dev/ath/if_athvar.h ============================================================================== --- projects/clangbsd/sys/dev/ath/if_athvar.h Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/ath/if_athvar.h Tue Jun 30 09:14:09 2009 (r195183) @@ -590,6 +590,8 @@ void ath_intr(void *); (ath_hal_getcapability(_ah, HAL_CAP_FASTFRAME, 0, NULL) == HAL_OK) #define ath_hal_hasbssidmask(_ah) \ (ath_hal_getcapability(_ah, HAL_CAP_BSSIDMASK, 0, NULL) == HAL_OK) +#define ath_hal_hasbssidmatch(_ah) \ + (ath_hal_getcapability(_ah, HAL_CAP_BSSIDMATCH, 0, NULL) == HAL_OK) #define ath_hal_hastsfadjust(_ah) \ (ath_hal_getcapability(_ah, HAL_CAP_TSF_ADJUST, 0, NULL) == HAL_OK) #define ath_hal_gettsfadjust(_ah) \ Modified: projects/clangbsd/sys/dev/sound/usb/uaudio.c ============================================================================== --- projects/clangbsd/sys/dev/sound/usb/uaudio.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/sound/usb/uaudio.c Tue Jun 30 09:14:09 2009 (r195183) @@ -3671,24 +3671,24 @@ umidi_open(struct usb_fifo *fifo, int ff if (usb_fifo_alloc_buffer(fifo, 4, (1024 / 4))) { return (ENOMEM); } - mtx_lock(&Giant); + mtx_lock(&chan->mtx); chan->read_open_refcount++; sub->read_open = 1; - mtx_unlock(&Giant); + mtx_unlock(&chan->mtx); } if (fflags & FWRITE) { if (usb_fifo_alloc_buffer(fifo, 32, (1024 / 32))) { return (ENOMEM); } /* clear stall first */ - mtx_lock(&Giant); + mtx_lock(&chan->mtx); chan->flags |= UMIDI_FLAG_WRITE_STALL; chan->write_open_refcount++; sub->write_open = 1; /* reset */ sub->state = UMIDI_ST_UNKNOWN; - mtx_unlock(&Giant); + mtx_unlock(&chan->mtx); } return (0); /* success */ } Modified: projects/clangbsd/sys/dev/usb/controller/at91dci.c ============================================================================== --- projects/clangbsd/sys/dev/usb/controller/at91dci.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/controller/at91dci.c Tue Jun 30 09:14:09 2009 (r195183) @@ -1227,7 +1227,7 @@ at91dci_device_done(struct usb_xfer *xfe static void at91dci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct at91dci_softc *sc; uint32_t csr_val; Modified: projects/clangbsd/sys/dev/usb/controller/atmegadci.c ============================================================================== --- projects/clangbsd/sys/dev/usb/controller/atmegadci.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/controller/atmegadci.c Tue Jun 30 09:14:09 2009 (r195183) @@ -1113,7 +1113,7 @@ atmegadci_device_done(struct usb_xfer *x static void atmegadci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct atmegadci_softc *sc; uint8_t ep_no; Modified: projects/clangbsd/sys/dev/usb/controller/avr32dci.c ============================================================================== --- projects/clangbsd/sys/dev/usb/controller/avr32dci.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/controller/avr32dci.c Tue Jun 30 09:14:09 2009 (r195183) @@ -1081,7 +1081,7 @@ avr32dci_device_done(struct usb_xfer *xf static void avr32dci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct avr32dci_softc *sc; uint8_t ep_no; Modified: projects/clangbsd/sys/dev/usb/controller/musb_otg.c ============================================================================== --- projects/clangbsd/sys/dev/usb/controller/musb_otg.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/controller/musb_otg.c Tue Jun 30 09:14:09 2009 (r195183) @@ -1473,7 +1473,7 @@ musbotg_device_done(struct usb_xfer *xfe static void musbotg_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct musbotg_softc *sc; uint8_t ep_no; Modified: projects/clangbsd/sys/dev/usb/controller/uss820dci.c ============================================================================== --- projects/clangbsd/sys/dev/usb/controller/uss820dci.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/controller/uss820dci.c Tue Jun 30 09:14:09 2009 (r195183) @@ -1202,7 +1202,7 @@ uss820dci_device_done(struct usb_xfer *x static void uss820dci_set_stall(struct usb_device *udev, struct usb_xfer *xfer, - struct usb_endpoint *ep) + struct usb_endpoint *ep, uint8_t *did_stall) { struct uss820dci_softc *sc; uint8_t ep_no; Modified: projects/clangbsd/sys/dev/usb/net/if_cdce.c ============================================================================== --- projects/clangbsd/sys/dev/usb/net/if_cdce.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/net/if_cdce.c Tue Jun 30 09:14:09 2009 (r195183) @@ -764,7 +764,7 @@ tr_setup: static int cdce_handle_request(device_t dev, const void *req, void **pptr, uint16_t *plen, - uint16_t offset, uint8_t is_complete) + uint16_t offset, uint8_t *pstate) { return (ENXIO); /* use builtin handler */ } Modified: projects/clangbsd/sys/dev/usb/serial/usb_serial.c ============================================================================== --- projects/clangbsd/sys/dev/usb/serial/usb_serial.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/serial/usb_serial.c Tue Jun 30 09:14:09 2009 (r195183) @@ -151,6 +151,8 @@ MODULE_VERSION(ucom, 1); #define UCOM_SUB_UNIT_MAX 0x100 /* exclusive */ static uint8_t ucom_bitmap[(UCOM_UNIT_MAX + 7) / 8]; +static struct mtx ucom_bitmap_mtx; +MTX_SYSINIT(ucom_bitmap_mtx, &ucom_bitmap_mtx, "ucom bitmap", MTX_DEF); static uint8_t ucom_units_alloc(uint32_t sub_units, uint32_t *p_root_unit) @@ -161,7 +163,7 @@ ucom_units_alloc(uint32_t sub_units, uin uint32_t max = UCOM_UNIT_MAX - (UCOM_UNIT_MAX % sub_units); uint8_t error = 1; - mtx_lock(&Giant); + mtx_lock(&ucom_bitmap_mtx); for (n = 0; n < max; n += sub_units) { @@ -192,7 +194,7 @@ ucom_units_alloc(uint32_t sub_units, uin skip: ; } - mtx_unlock(&Giant); + mtx_unlock(&ucom_bitmap_mtx); /* * Always set the variable pointed to by "p_root_unit" so that @@ -208,14 +210,14 @@ ucom_units_free(uint32_t root_unit, uint { uint32_t x; - mtx_lock(&Giant); + mtx_lock(&ucom_bitmap_mtx); while (sub_units--) { x = root_unit + sub_units; ucom_bitmap[x / 8] &= ~(1 << (x % 8)); } - mtx_unlock(&Giant); + mtx_unlock(&ucom_bitmap_mtx); } /* Modified: projects/clangbsd/sys/dev/usb/storage/ustorage_fs.c ============================================================================== --- projects/clangbsd/sys/dev/usb/storage/ustorage_fs.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/storage/ustorage_fs.c Tue Jun 30 09:14:09 2009 (r195183) @@ -475,10 +475,11 @@ ustorage_fs_transfer_stop(struct ustorag static int ustorage_fs_handle_request(device_t dev, const void *preq, void **pptr, uint16_t *plen, - uint16_t offset, uint8_t is_complete) + uint16_t offset, uint8_t *pstate) { struct ustorage_fs_softc *sc = device_get_softc(dev); const struct usb_device_request *req = preq; + uint8_t is_complete = *pstate; if (!is_complete) { if ((req->bmRequestType == UT_WRITE_CLASS_INTERFACE) && Modified: projects/clangbsd/sys/dev/usb/usb_controller.h ============================================================================== --- projects/clangbsd/sys/dev/usb/usb_controller.h Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/usb_controller.h Tue Jun 30 09:14:09 2009 (r195183) @@ -96,7 +96,7 @@ struct usb_bus_methods { /* USB Device mode only - Mandatory */ void (*get_hw_ep_profile) (struct usb_device *udev, const struct usb_hw_ep_profile **ppf, uint8_t ep_addr); - void (*set_stall) (struct usb_device *udev, struct usb_xfer *xfer, struct usb_endpoint *ep); + void (*set_stall) (struct usb_device *udev, struct usb_xfer *xfer, struct usb_endpoint *ep, uint8_t *did_stall); void (*clear_stall) (struct usb_device *udev, struct usb_endpoint *ep); }; Modified: projects/clangbsd/sys/dev/usb/usb_device.c ============================================================================== --- projects/clangbsd/sys/dev/usb/usb_device.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/usb_device.c Tue Jun 30 09:14:09 2009 (r195183) @@ -936,7 +936,7 @@ usbd_set_endpoint_stall(struct usb_devic * complete the USB transfer like in case of a timeout * setting the error code "USB_ERR_STALLED". */ - (udev->bus->methods->set_stall) (udev, xfer, ep); + (udev->bus->methods->set_stall) (udev, xfer, ep, &do_stall); } if (!do_stall) { ep->toggle_next = 0; /* reset data toggle */ Modified: projects/clangbsd/sys/dev/usb/usb_handle_request.c ============================================================================== --- projects/clangbsd/sys/dev/usb/usb_handle_request.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/usb_handle_request.c Tue Jun 30 09:14:09 2009 (r195183) @@ -198,6 +198,7 @@ usb_handle_iface_request(struct usb_xfer struct usb_device *udev = xfer->xroot->udev; int error; uint8_t iface_index; + uint8_t temp_state; if ((req.bmRequestType & 0x1F) == UT_INTERFACE) { iface_index = req.wIndex[0]; /* unicast */ @@ -222,6 +223,10 @@ tr_repeat: /* end of interfaces non-existing interface */ goto tr_stalled; } + /* set initial state */ + + temp_state = state; + /* forward request to interface, if any */ if ((error != 0) && @@ -233,7 +238,7 @@ tr_repeat: #endif error = USB_HANDLE_REQUEST(iface->subdev, &req, ppdata, plen, - off, state); + off, &temp_state); } iface_parent = usbd_get_iface(udev, iface->parent_iface_index); @@ -252,14 +257,18 @@ tr_repeat: (iface_parent->subdev != iface->subdev) && device_is_attached(iface_parent->subdev)) { error = USB_HANDLE_REQUEST(iface_parent->subdev, - &req, ppdata, plen, off, - state); + &req, ppdata, plen, off, &temp_state); } if (error == 0) { /* negativly adjust pointer and length */ *ppdata = ((uint8_t *)(*ppdata)) - off; *plen += off; - goto tr_valid; + + if ((state == USB_HR_NOT_COMPLETE) && + (temp_state == USB_HR_COMPLETE_OK)) + goto tr_short; + else + goto tr_valid; } else if (error == ENOTTY) { goto tr_stalled; } @@ -337,6 +346,12 @@ tr_valid: USB_XFER_LOCK(xfer); return (0); +tr_short: + mtx_unlock(&Giant); + sx_unlock(udev->default_sx + 1); + USB_XFER_LOCK(xfer); + return (USB_ERR_SHORT_XFER); + tr_stalled: mtx_unlock(&Giant); sx_unlock(udev->default_sx + 1); @@ -444,6 +459,7 @@ usb_handle_request(struct usb_xfer *xfer uint16_t wValue; uint16_t wIndex; uint8_t state; + uint8_t is_complete = 1; usb_error_t err; union { uWord wStatus; @@ -596,6 +612,9 @@ usb_handle_request(struct usb_xfer *xfer USB_ADD_BYTES(&src_zcopy, 0), &max_len, req, off, state); if (err == 0) { + is_complete = 0; + goto tr_valid; + } else if (err == USB_ERR_SHORT_XFER) { goto tr_valid; } /* @@ -735,7 +754,7 @@ tr_valid: if (rem > xfer->max_data_length) { rem = usbd_xfer_max_len(xfer); } - if (rem != max_len) { + if ((rem != max_len) && (is_complete != 0)) { /* * If we don't transfer the data we can transfer, then * the transfer is short ! Modified: projects/clangbsd/sys/dev/usb/usb_if.m ============================================================================== --- projects/clangbsd/sys/dev/usb/usb_if.m Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/usb_if.m Tue Jun 30 09:14:09 2009 (r195183) @@ -36,6 +36,11 @@ INTERFACE usb; # The device received a control request # +# The value pointed to by "pstate" can be updated to +# "USB_HR_COMPLETE_OK" to indicate that the control +# read transfer is complete, in case of short USB +# control transfers. +# # Return values: # 0: Success # ENOTTY: Transaction stalled @@ -47,5 +52,5 @@ METHOD int handle_request { void **pptr; /* data pointer */ uint16_t *plen; /* maximum transfer length */ uint16_t offset; /* data offset */ - uint8_t is_complete; /* set if transfer is complete, see USB_HR_XXX */ + uint8_t *pstate; /* set if transfer is complete, see USB_HR_XXX */ }; Modified: projects/clangbsd/sys/dev/usb/usb_transfer.c ============================================================================== --- projects/clangbsd/sys/dev/usb/usb_transfer.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/usb_transfer.c Tue Jun 30 09:14:09 2009 (r195183) @@ -2352,29 +2352,37 @@ usbd_pipe_start(struct usb_xfer_queue *p (type == UE_INTERRUPT)) { struct usb_device *udev; struct usb_xfer_root *info; + uint8_t did_stall; info = xfer->xroot; udev = info->udev; - ep->is_stalled = 1; + did_stall = 1; if (udev->flags.usb_mode == USB_MODE_DEVICE) { (udev->bus->methods->set_stall) ( - udev, NULL, ep); + udev, NULL, ep, &did_stall); } else if (udev->default_xfer[1]) { info = udev->default_xfer[1]->xroot; - if (usb_proc_msignal( + usb_proc_msignal( &info->bus->non_giant_callback_proc, - &udev->cs_msg[0], &udev->cs_msg[1])) { - /* ignore */ - } + &udev->cs_msg[0], &udev->cs_msg[1]); } else { /* should not happen */ DPRINTFN(0, "No stall handler!\n"); } /* - * We get started again when the stall is cleared! + * Check if we should stall. Some USB hardware + * handles set- and clear-stall in hardware. */ - return; + if (did_stall) { + /* + * The transfer will be continued when + * the clear-stall control endpoint + * message is received. + */ + ep->is_stalled = 1; + return; + } } } /* Set or clear stall complete - special case */ @@ -2966,6 +2974,12 @@ usbd_xfer_set_flag(struct usb_xfer *xfer case USB_SHORT_XFER_OK: xfer->flags.short_xfer_ok = 1; break; + case USB_MULTI_SHORT_OK: + xfer->flags.short_frames_ok = 1; + break; + case USB_MANUAL_STATUS: + xfer->flags.manual_status = 1; + break; } } @@ -2979,5 +2993,22 @@ usbd_xfer_clr_flag(struct usb_xfer *xfer case USB_SHORT_XFER_OK: xfer->flags.short_xfer_ok = 0; break; + case USB_MULTI_SHORT_OK: + xfer->flags.short_frames_ok = 0; + break; + case USB_MANUAL_STATUS: + xfer->flags.manual_status = 0; + break; } } + +/* + * The following function returns in milliseconds when the isochronous + * transfer was completed by the hardware. The returned value wraps + * around 65536 milliseconds. + */ +uint16_t +usbd_xfer_get_timestamp(struct usb_xfer *xfer) +{ + return (xfer->isoc_time_complete); +} Modified: projects/clangbsd/sys/dev/usb/usbdi.h ============================================================================== --- projects/clangbsd/sys/dev/usb/usbdi.h Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/usbdi.h Tue Jun 30 09:14:09 2009 (r195183) @@ -78,6 +78,8 @@ typedef enum { /* keep in sync with usb_ #define USB_SHORT_XFER_OK 0x0004 /* allow short reads */ #define USB_DELAY_STATUS_STAGE 0x0010 /* insert delay before STATUS stage */ #define USB_USER_DATA_PTR 0x0020 /* internal flag */ +#define USB_MULTI_SHORT_OK 0x0040 /* allow multiple short frames */ +#define USB_MANUAL_STATUS 0x0080 /* manual ctrl status */ #define USB_NO_TIMEOUT 0 #define USB_DEFAULT_TIMEOUT 5000 /* 5000 ms = 5 seconds */ @@ -486,6 +488,7 @@ void usbd_xfer_set_stall(struct usb_xfer int usbd_xfer_is_stalled(struct usb_xfer *xfer); void usbd_xfer_set_flag(struct usb_xfer *xfer, int flag); void usbd_xfer_clr_flag(struct usb_xfer *xfer, int flag); +uint16_t usbd_xfer_get_timestamp(struct usb_xfer *xfer); void usbd_copy_in(struct usb_page_cache *cache, usb_frlength_t offset, const void *ptr, usb_frlength_t len); Modified: projects/clangbsd/sys/dev/usb/wlan/if_urtw.c ============================================================================== --- projects/clangbsd/sys/dev/usb/wlan/if_urtw.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/dev/usb/wlan/if_urtw.c Tue Jun 30 09:14:09 2009 (r195183) @@ -116,6 +116,7 @@ static const struct usb_device_id urtw_d URTW_DEV_L(NETGEAR, WG111V2), URTW_DEV_L(REALTEK, RTL8187), { USB_VPI(USB_VENDOR_SITECOMEU, 0x000d, URTW_REV_RTL8187L) }, + { USB_VPI(USB_VENDOR_SITECOMEU, 0x0028, URTW_REV_RTL8187B) }, { USB_VPI(USB_VENDOR_SPHAIRON, 0x0150, URTW_REV_RTL8187L) }, { USB_VPI(USB_VENDOR_SURECOM, 0x11f2, URTW_REV_RTL8187L) }, { USB_VPI(USB_VENDOR_QCOM, 0x6232, URTW_REV_RTL8187L) }, Modified: projects/clangbsd/sys/i386/i386/sys_machdep.c ============================================================================== --- projects/clangbsd/sys/i386/i386/sys_machdep.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/i386/i386/sys_machdep.c Tue Jun 30 09:14:09 2009 (r195183) @@ -107,7 +107,7 @@ sysarch(td, uap) uint32_t base; struct segment_descriptor sd, *sdp; - AUDIT_ARG(cmd, uap->op); + AUDIT_ARG_CMD(uap->op); switch (uap->op) { case I386_GET_IOPERM: case I386_SET_IOPERM: Modified: projects/clangbsd/sys/kern/kern_descrip.c ============================================================================== --- projects/clangbsd/sys/kern/kern_descrip.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/kern/kern_descrip.c Tue Jun 30 09:14:09 2009 (r195183) @@ -1144,7 +1144,7 @@ closefrom(struct thread *td, struct clos int fd; fdp = td->td_proc->p_fd; - AUDIT_ARG(fd, uap->lowfd); + AUDIT_ARG_FD(uap->lowfd); /* * Treat negative starting file descriptor values identical to @@ -1219,12 +1219,12 @@ kern_fstat(struct thread *td, int fd, st struct file *fp; int error; - AUDIT_ARG(fd, fd); + AUDIT_ARG_FD(fd); if ((error = fget(td, fd, &fp)) != 0) return (error); - AUDIT_ARG(file, td->td_proc, fp); + AUDIT_ARG_FILE(td->td_proc, fp); error = fo_stat(fp, sbp, td->td_ucred, td); fdrop(fp, td); Modified: projects/clangbsd/sys/kern/kern_event.c ============================================================================== --- projects/clangbsd/sys/kern/kern_event.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/kern/kern_event.c Tue Jun 30 09:14:09 2009 (r195183) @@ -1606,17 +1606,18 @@ kqueue_wakeup(struct kqueue *kq) * first. */ void -knote(struct knlist *list, long hint, int islocked) +knote(struct knlist *list, long hint, int lockflags) { struct kqueue *kq; struct knote *kn; + int error; if (list == NULL) return; - KNL_ASSERT_LOCK(list, islocked); + KNL_ASSERT_LOCK(list, lockflags & KNF_LISTLOCKED); - if (!islocked) + if ((lockflags & KNF_LISTLOCKED) == 0) list->kl_lock(list->kl_lockarg); /* @@ -1631,17 +1632,28 @@ knote(struct knlist *list, long hint, in kq = kn->kn_kq; if ((kn->kn_status & KN_INFLUX) != KN_INFLUX) { KQ_LOCK(kq); - if ((kn->kn_status & KN_INFLUX) != KN_INFLUX) { + if ((kn->kn_status & KN_INFLUX) == KN_INFLUX) { + KQ_UNLOCK(kq); + } else if ((lockflags & KNF_NOKQLOCK) != 0) { + kn->kn_status |= KN_INFLUX; + KQ_UNLOCK(kq); + error = kn->kn_fop->f_event(kn, hint); + KQ_LOCK(kq); + kn->kn_status &= ~KN_INFLUX; + if (error) + KNOTE_ACTIVATE(kn, 1); + KQ_UNLOCK_FLUX(kq); + } else { kn->kn_status |= KN_HASKQLOCK; if (kn->kn_fop->f_event(kn, hint)) KNOTE_ACTIVATE(kn, 1); kn->kn_status &= ~KN_HASKQLOCK; + KQ_UNLOCK(kq); } - KQ_UNLOCK(kq); } kq = NULL; } - if (!islocked) + if ((lockflags & KNF_LISTLOCKED) == 0) list->kl_unlock(list->kl_lockarg); } Modified: projects/clangbsd/sys/kern/kern_exec.c ============================================================================== --- projects/clangbsd/sys/kern/kern_exec.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/kern/kern_exec.c Tue Jun 30 09:14:09 2009 (r195183) @@ -274,9 +274,9 @@ kern_execve(td, args, mac_p) struct proc *p = td->td_proc; int error; - AUDIT_ARG(argv, args->begin_argv, args->argc, + AUDIT_ARG_ARGV(args->begin_argv, args->argc, args->begin_envv - args->begin_argv); - AUDIT_ARG(envv, args->begin_envv, args->envc, + AUDIT_ARG_ENVV(args->begin_envv, args->envc, args->endp - args->begin_envv); if (p->p_flag & P_HADTHREADS) { PROC_LOCK(p); @@ -413,13 +413,13 @@ interpret: binvp = nd.ni_vp; imgp->vp = binvp; } else { - AUDIT_ARG(fd, args->fd); + AUDIT_ARG_FD(args->fd); error = fgetvp(td, args->fd, &binvp); if (error) goto exec_fail; vfslocked = VFS_LOCK_GIANT(binvp->v_mount); vn_lock(binvp, LK_EXCLUSIVE | LK_RETRY); - AUDIT_ARG(vnode, binvp, ARG_VNODE1); + AUDIT_ARG_VNODE(binvp, ARG_VNODE1); imgp->vp = binvp; } Modified: projects/clangbsd/sys/kern/kern_exit.c ============================================================================== --- projects/clangbsd/sys/kern/kern_exit.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/kern/kern_exit.c Tue Jun 30 09:14:09 2009 (r195183) @@ -211,7 +211,7 @@ exit1(struct thread *td, int rv) * it was. The exit status is WEXITSTATUS(rv), but it's not clear * what the return value is. */ - AUDIT_ARG(exit, WEXITSTATUS(rv), 0); + AUDIT_ARG_EXIT(WEXITSTATUS(rv), 0); AUDIT_SYSCALL_EXIT(0, td); #endif @@ -803,7 +803,7 @@ kern_wait(struct thread *td, pid_t pid, struct proc *p, *q; int error, nfound; - AUDIT_ARG(pid, pid); + AUDIT_ARG_PID(pid); q = td->td_proc; if (pid == 0) { Modified: projects/clangbsd/sys/kern/kern_fork.c ============================================================================== --- projects/clangbsd/sys/kern/kern_fork.c Tue Jun 30 05:21:00 2009 (r195182) +++ projects/clangbsd/sys/kern/kern_fork.c Tue Jun 30 09:14:09 2009 (r195183) @@ -146,7 +146,7 @@ rfork(td, uap) if ((uap->flags & RFKERNELONLY) != 0) return (EINVAL); - AUDIT_ARG(fflags, uap->flags); + AUDIT_ARG_FFLAGS(uap->flags); error = fork1(td, uap->flags, 0, &p2); if (error == 0) { td->td_retval[0] = p2 ? p2->p_pid : 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 11:10:49 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D566310656C7; Tue, 30 Jun 2009 11:10:49 +0000 (UTC) (envelope-from rpaulo@gmail.com) Received: from mail-ew0-f213.google.com (mail-ew0-f213.google.com [209.85.219.213]) by mx1.freebsd.org (Postfix) with ESMTP id 0D6648FC29; Tue, 30 Jun 2009 11:10:48 +0000 (UTC) (envelope-from rpaulo@gmail.com) Received: by ewy9 with SMTP id 9so55689ewy.43 for ; Tue, 30 Jun 2009 04:10:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:cc:message-id:from:to :in-reply-to:content-type:content-transfer-encoding:mime-version :subject:date:references:x-mailer; bh=CwH+pfwiYFoo35oheEdqt6cnJHzi6eyXIEfiKMT4Fm4=; b=k4PE7OHki/+fpACJ1aJ26whJtASGTScydNhvTGIO1adj8ymxElSJdGwlw/o/X4a6Tc on0y/pjv1sGqxFCw/u+7lHcs+SNyROnrShQMhDCjCJQwY0n8Hw7YcmtbaqeRhZwST7ZL EYdxCVNKDQ0sawbX5IeujvLgPLC415jxyZX8c= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=cc:message-id:from:to:in-reply-to:content-type :content-transfer-encoding:mime-version:subject:date:references :x-mailer; b=ZN6b+YMUCB2FI2CK2KHF1eSOFN5Wl9obj4W/esLJpSFZ1URPw3XvLRGiTE/yHI87il XLfEkoZMaUMCc9WmlWGjglYO4zDHMN0D75i4nFkej4a7MekfeWXkoH1rWY1SXCXwdG9h VsAR3S+AiDMYUvbx8xLL3/J07wnv3qEqnfONw= Received: by 10.210.30.1 with SMTP id d1mr1028137ebd.20.1246360248121; Tue, 30 Jun 2009 04:10:48 -0700 (PDT) Received: from omega.lan (bl6-155-38.dsl.telepac.pt [82.155.155.38]) by mx.google.com with ESMTPS id 23sm2347951eya.49.2009.06.30.04.10.47 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 30 Jun 2009 04:10:47 -0700 (PDT) Message-Id: <8AECBB32-A963-4DE9-996F-82AC34AA2995@gmail.com> From: Rui Paulo To: Sam Leffler In-Reply-To: <200906292353.n5TNrRIj062380@svn.freebsd.org> Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v935.3) Date: Tue, 30 Jun 2009 12:10:45 +0100 References: <200906292353.n5TNrRIj062380@svn.freebsd.org> X-Mailer: Apple Mail (2.935.3) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195179 - projects/mesh11s/sbin/ifconfig X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 11:10:50 -0000 On 30 Jun 2009, at 00:53, Sam Leffler wrote: > Author: sam > Date: Mon Jun 29 23:53:27 2009 > New Revision: 195179 > URL: http://svn.freebsd.org/changeset/base/195179 > > Log: > sync w/ data structure name changes Thanks. -- Rui Paulo From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 13:38:15 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0811C1065674; Tue, 30 Jun 2009 13:38:15 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E8CDD8FC13; Tue, 30 Jun 2009 13:38:14 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UDcE1u082111; Tue, 30 Jun 2009 13:38:14 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UDcEPp082108; Tue, 30 Jun 2009 13:38:14 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906301338.n5UDcEPp082108@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 13:38:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195190 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 13:38:15 -0000 Author: rpaulo Date: Tue Jun 30 13:38:14 2009 New Revision: 195190 URL: http://svn.freebsd.org/changeset/base/195190 Log: Add a helper function to detect duplicates. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_hwmp.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Tue Jun 30 12:35:47 2009 (r195189) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Tue Jun 30 13:38:14 2009 (r195190) @@ -1165,6 +1165,26 @@ ieee80211_hwmp_find_txnode(struct ieee80 return ieee80211_find_txnode(vap, rt->rt_nexthop); } +int +ieee80211_hwmp_checkpseq(struct ieee80211vap *vap, + uint8_t source[IEEE80211_ADDR_LEN], uint32_t seq) +{ + struct ieee80211_hwmp_route *rt; + + rt = hwmp_rt_find(vap, source); + if (rt == NULL) { + rt = hwmp_rt_add(vap, source); + rt->rt_lastpseq = seq; + return 0; + } + if (rt->rt_lastpseq >= seq) + return 1; + else { + rt->rt_lastpseq = seq; + return 0; + } +} + static int hwmp_ioctl_get80211(struct ieee80211vap *vap, struct ieee80211req *ireq) { Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.h Tue Jun 30 12:35:47 2009 (r195189) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h Tue Jun 30 13:38:14 2009 (r195190) @@ -48,6 +48,8 @@ struct ieee80211_hwmp_route { uint8_t rt_prevhop[IEEE80211_ADDR_LEN]; uint32_t rt_lifetime; int rt_preqretries; + uint32_t rt_lastpseq; /* last mesh seq number + from this node */ }; #ifdef _KERNEL @@ -76,8 +78,10 @@ void ieee80211_hwmp_recv_action(struct i struct ieee80211_node *ieee80211_hwmp_discover(struct ieee80211vap *, uint8_t [IEEE80211_ADDR_LEN], struct mbuf *); struct ieee80211_node * -ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, + ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, uint8_t dest[IEEE80211_ADDR_LEN]); +int ieee80211_hwmp_checkpseq(struct ieee80211vap *, + uint8_t [IEEE80211_ADDR_LEN], uint32_t); void ieee80211_hwmp_peerdown(struct ieee80211_node *); #endif /* _KERNEL */ From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 13:53:54 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B9B821065672; Tue, 30 Jun 2009 13:53:54 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A79008FC1B; Tue, 30 Jun 2009 13:53:54 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UDrsk1082540; Tue, 30 Jun 2009 13:53:54 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UDrsH0082531; Tue, 30 Jun 2009 13:53:54 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200906301353.n5UDrsH0082531@svn.freebsd.org> From: Lawrence Stewart Date: Tue, 30 Jun 2009 13:53:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195192 - projects/tcp_cc_8.x/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 13:53:55 -0000 Author: lstewart Date: Tue Jun 30 13:53:54 2009 New Revision: 195192 URL: http://svn.freebsd.org/changeset/base/195192 Log: - conn_init/conn_destroy are misleadingly named in terms of where they are actually called from. Rename to cb_init/cb_destroy. - Don't require a module to implement cb_init as was the case previously. Modified: projects/tcp_cc_8.x/sys/netinet/cc.c projects/tcp_cc_8.x/sys/netinet/cc.h projects/tcp_cc_8.x/sys/netinet/cc_cubic.c projects/tcp_cc_8.x/sys/netinet/cc_htcp.c projects/tcp_cc_8.x/sys/netinet/cc_module.h projects/tcp_cc_8.x/sys/netinet/cc_newreno.c projects/tcp_cc_8.x/sys/netinet/tcp_subr.c projects/tcp_cc_8.x/sys/netinet/tcp_usrreq.c Modified: projects/tcp_cc_8.x/sys/netinet/cc.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc.c Tue Jun 30 13:38:49 2009 (r195191) +++ projects/tcp_cc_8.x/sys/netinet/cc.c Tue Jun 30 13:53:54 2009 (r195192) @@ -222,8 +222,8 @@ cc_deregister_algo(struct cc_algo *remov tmpfuncs = CC_ALGO(tp); /* Newreno does not require any init. */ CC_ALGO(tp) = &newreno_cc_algo; - if (tmpfuncs->conn_destroy != NULL) - tmpfuncs->conn_destroy(tp); + if (tmpfuncs->cb_destroy != NULL) + tmpfuncs->cb_destroy(tp); } } INP_WUNLOCK(inp); Modified: projects/tcp_cc_8.x/sys/netinet/cc.h ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc.h Tue Jun 30 13:38:49 2009 (r195191) +++ projects/tcp_cc_8.x/sys/netinet/cc.h Tue Jun 30 13:53:54 2009 (r195192) @@ -72,14 +72,14 @@ struct cc_algo { /* Cleanup global module state on kldunload. */ int (*mod_destroy) (void); - /* Init CC state for a new connection. */ - int (*conn_init) (struct tcpcb *tp); + /* Init CC state for a new control block. */ + int (*cb_init) (struct tcpcb *tp); - /* Cleanup CC state for a terminating connection. */ - void (*conn_destroy) (struct tcpcb *tp); + /* Cleanup CC state for a terminating control block. */ + void (*cb_destroy) (struct tcpcb *tp); /* Init cwnd for a new connection. */ - /* XXXLS: could this be folded into conn_init? */ + /* XXXLS: could this be renamed conn_init or conn_established? */ void (*cwnd_init) (struct tcpcb *tp); /* Called on receipt of a regular, valid ack. */ Modified: projects/tcp_cc_8.x/sys/netinet/cc_cubic.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_cubic.c Tue Jun 30 13:38:49 2009 (r195191) +++ projects/tcp_cc_8.x/sys/netinet/cc_cubic.c Tue Jun 30 13:53:54 2009 (r195192) @@ -62,8 +62,8 @@ __FBSDID("$FreeBSD$"); #include /* function prototypes */ -int cubic_conn_init(struct tcpcb *tp); -void cubic_conn_destroy(struct tcpcb *tp); +int cubic_cb_init(struct tcpcb *tp); +void cubic_cb_destroy(struct tcpcb *tp); void cubic_pre_fr(struct tcpcb *tp, struct tcphdr *th); void cubic_post_fr(struct tcpcb *tp, struct tcphdr *th); void cubic_ack_received(struct tcpcb *tp, struct tcphdr *th); @@ -95,8 +95,8 @@ struct cc_algo cubic_cc_algo = { .name = "cubic", .mod_init = NULL, .mod_destroy = NULL, - .conn_init = cubic_conn_init, - .conn_destroy = cubic_conn_destroy, + .cb_init = cubic_cb_init, + .cb_destroy = cubic_cb_destroy, .cwnd_init = cubic_cwnd_init, .ack_received = cubic_ack_received, .pre_fr = cubic_pre_fr, @@ -126,7 +126,7 @@ cubic_cwnd_init(struct tcpcb *tp) * in the control block */ int -cubic_conn_init(struct tcpcb *tp) +cubic_cb_init(struct tcpcb *tp) { struct cubic *cubic_data; @@ -152,7 +152,7 @@ cubic_conn_init(struct tcpcb *tp) * TCP control block. */ void -cubic_conn_destroy(struct tcpcb *tp) +cubic_cb_destroy(struct tcpcb *tp) { if (CC_DATA(tp) != NULL) free(CC_DATA(tp), M_CUBIC); Modified: projects/tcp_cc_8.x/sys/netinet/cc_htcp.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_htcp.c Tue Jun 30 13:38:49 2009 (r195191) +++ projects/tcp_cc_8.x/sys/netinet/cc_htcp.c Tue Jun 30 13:53:54 2009 (r195192) @@ -132,8 +132,8 @@ __FBSDID("$FreeBSD$"); /* function prototypes */ int htcp_mod_init(void); -int htcp_conn_init(struct tcpcb *tp); -void htcp_conn_destroy(struct tcpcb *tp); +int htcp_cb_init(struct tcpcb *tp); +void htcp_cb_destroy(struct tcpcb *tp); void htcp_recalc_alpha(struct tcpcb *tp); void htcp_recalc_beta(struct tcpcb *tp); void htcp_pre_fr(struct tcpcb *tp, struct tcphdr *th); @@ -170,9 +170,8 @@ MALLOC_DEFINE(M_HTCP, "htcp data", "Per struct cc_algo htcp_cc_algo = { .name = "htcp", .mod_init = htcp_mod_init, - .mod_destroy = NULL, - .conn_init = htcp_conn_init, - .conn_destroy = htcp_conn_destroy, + .cb_init = htcp_cb_init, + .cb_destroy = htcp_cb_destroy, .cwnd_init = newreno_cwnd_init, .ack_received = htcp_ack_received, .pre_fr = htcp_pre_fr, @@ -187,7 +186,7 @@ struct cc_algo htcp_cc_algo = { * in the control block */ int -htcp_conn_init(struct tcpcb *tp) +htcp_cb_init(struct tcpcb *tp) { struct htcp *htcp_data; @@ -218,7 +217,7 @@ htcp_conn_init(struct tcpcb *tp) * TCP control block. */ void -htcp_conn_destroy(struct tcpcb *tp) +htcp_cb_destroy(struct tcpcb *tp) { #ifdef HTCP_DEBUG printf("deinitialising tcp connection with htcp congestion control\n"); Modified: projects/tcp_cc_8.x/sys/netinet/cc_module.h ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_module.h Tue Jun 30 13:38:49 2009 (r195191) +++ projects/tcp_cc_8.x/sys/netinet/cc_module.h Tue Jun 30 13:53:54 2009 (r195192) @@ -39,7 +39,7 @@ /* * NewReno CC functions */ -int newreno_conn_init(struct tcpcb *tp); +int newreno_cb_init(struct tcpcb *tp); void newreno_cwnd_init(struct tcpcb *tp); void newreno_ack_received(struct tcpcb *tp, struct tcphdr *th); void newreno_pre_fr(struct tcpcb *tp, struct tcphdr *th); Modified: projects/tcp_cc_8.x/sys/netinet/cc_newreno.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_newreno.c Tue Jun 30 13:38:49 2009 (r195191) +++ projects/tcp_cc_8.x/sys/netinet/cc_newreno.c Tue Jun 30 13:53:54 2009 (r195192) @@ -50,10 +50,7 @@ __FBSDID("$FreeBSD$"); /* newreno cc function pointers */ struct cc_algo newreno_cc_algo = { .name = "newreno", - .mod_init = NULL, - .mod_destroy = NULL, - .conn_init = newreno_conn_init, - .conn_destroy = NULL, + .cb_init = newreno_cb_init, .cwnd_init = newreno_cwnd_init, .ack_received = newreno_ack_received, .pre_fr = newreno_pre_fr, @@ -63,7 +60,7 @@ struct cc_algo newreno_cc_algo = { }; int -newreno_conn_init(struct tcpcb *tp) +newreno_cb_init(struct tcpcb *tp) { return 0; } Modified: projects/tcp_cc_8.x/sys/netinet/tcp_subr.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_subr.c Tue Jun 30 13:38:49 2009 (r195191) +++ projects/tcp_cc_8.x/sys/netinet/tcp_subr.c Tue Jun 30 13:53:54 2009 (r195192) @@ -737,11 +737,11 @@ tcp_newtcpcb(struct inpcb *inp) CC_ALGO(tp) = CC_DEFAULT(); CC_LIST_RUNLOCK(); - /* If the CC module fails to init, stop building the control block. */ - if (CC_ALGO(tp)->conn_init(tp) > 0) { - uma_zfree(V_tcpcb_zone, tp); - return NULL; - } + if (CC_ALGO(tp)->cb_init != NULL) + if (CC_ALGO(tp)->cb_init(tp) > 0) { + uma_zfree(V_tcpcb_zone, tp); + return NULL; + } #ifdef VIMAGE tp->t_vnet = inp->inp_vnet; @@ -911,8 +911,8 @@ tcp_discardcb(struct tcpcb *tp) tcp_free_sackholes(tp); /* Allow the CC algorithm to clean up after itself. */ - if (CC_ALGO(tp)->conn_destroy != NULL) - CC_ALGO(tp)->conn_destroy(tp); + if (CC_ALGO(tp)->cb_destroy != NULL) + CC_ALGO(tp)->cb_destroy(tp); CC_ALGO(tp) = NULL; inp->inp_ppcb = NULL; Modified: projects/tcp_cc_8.x/sys/netinet/tcp_usrreq.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_usrreq.c Tue Jun 30 13:38:49 2009 (r195191) +++ projects/tcp_cc_8.x/sys/netinet/tcp_usrreq.c Tue Jun 30 13:53:54 2009 (r195192) @@ -1396,8 +1396,8 @@ tcp_ctloutput(struct socket *so, struct * so it's safe to do these things * without ordering concerns. */ - if (CC_ALGO(tp)->conn_destroy != NULL) - CC_ALGO(tp)->conn_destroy(tp); + if (CC_ALGO(tp)->cb_destroy != NULL) + CC_ALGO(tp)->cb_destroy(tp); CC_ALGO(tp) = algo; /* * If something goes pear shaped @@ -1405,14 +1405,16 @@ tcp_ctloutput(struct socket *so, struct * fall back to newreno (which * does not require initialisation). */ - if (algo->conn_init(tp) > 0) { - CC_ALGO(tp) = &newreno_cc_algo; - /* - * The only reason init should - * fail is because of malloc. - */ - error = ENOMEM; - } + if (algo->cb_init != NULL) + if (algo->cb_init(tp) > 0) { + CC_ALGO(tp) = &newreno_cc_algo; + /* + * The only reason init + * should fail is + * because of malloc. + */ + error = ENOMEM; + } break; /* Break the STAILQ_FOREACH. */ } } From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 14:21:38 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BF4B1065674; Tue, 30 Jun 2009 14:21:38 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EBF2C8FC24; Tue, 30 Jun 2009 14:21:37 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UELbeO083203; Tue, 30 Jun 2009 14:21:37 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UELbBd083201; Tue, 30 Jun 2009 14:21:37 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906301421.n5UELbBd083201@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 14:21:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195194 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 14:21:38 -0000 Author: rpaulo Date: Tue Jun 30 14:21:37 2009 New Revision: 195194 URL: http://svn.freebsd.org/changeset/base/195194 Log: style Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.h Tue Jun 30 14:11:43 2009 (r195193) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h Tue Jun 30 14:21:37 2009 (r195194) @@ -69,20 +69,21 @@ struct ieee80211_hwmp_state { uint8_t hs_ttl; /* HWMP ttl */ }; -void ieee80211_hwmp_vattach(struct ieee80211vap *); -void ieee80211_hwmp_vdetach(struct ieee80211vap *); -int ieee80211_hwmp_newstate(struct ieee80211vap *, enum ieee80211_state, - int); -void ieee80211_hwmp_recv_action(struct ieee80211vap *, +void ieee80211_hwmp_vattach(struct ieee80211vap *); +void ieee80211_hwmp_vdetach(struct ieee80211vap *); +int ieee80211_hwmp_newstate(struct ieee80211vap *, + enum ieee80211_state, int); +void ieee80211_hwmp_recv_action(struct ieee80211vap *, struct ieee80211_node *, struct mbuf *); -struct ieee80211_node *ieee80211_hwmp_discover(struct ieee80211vap *, +struct ieee80211_node * + ieee80211_hwmp_discover(struct ieee80211vap *, uint8_t [IEEE80211_ADDR_LEN], struct mbuf *); struct ieee80211_node * - ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, + ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, uint8_t dest[IEEE80211_ADDR_LEN]); -int ieee80211_hwmp_checkpseq(struct ieee80211vap *, - uint8_t [IEEE80211_ADDR_LEN], uint32_t); -void ieee80211_hwmp_peerdown(struct ieee80211_node *); +int ieee80211_hwmp_checkpseq(struct ieee80211vap *, + uint8_t [IEEE80211_ADDR_LEN], uint32_t); +void ieee80211_hwmp_peerdown(struct ieee80211_node *); #endif /* _KERNEL */ #endif /* _NET80211_IEEE80211_HWMP_H_ */ From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 18:52:36 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D9BF01065675; Tue, 30 Jun 2009 18:52:36 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C87DD8FC24; Tue, 30 Jun 2009 18:52:36 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UIqahi089235; Tue, 30 Jun 2009 18:52:36 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UIqaV4089232; Tue, 30 Jun 2009 18:52:36 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906301852.n5UIqaV4089232@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 18:52:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195201 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 18:52:37 -0000 Author: rpaulo Date: Tue Jun 30 18:52:36 2009 New Revision: 195201 URL: http://svn.freebsd.org/changeset/base/195201 Log: Try to avoid duplicates by using the HWMP table. XXX will be redone in the near future. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Tue Jun 30 18:51:22 2009 (r195200) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Tue Jun 30 18:52:36 2009 (r195201) @@ -173,7 +173,6 @@ hwmp_rt_add(struct ieee80211vap *vap, co rt = malloc(sizeof(struct ieee80211_hwmp_route), M_80211_HWMP, M_NOWAIT | M_ZERO); - memset(rt, 0, sizeof(*rt)); IEEE80211_ADDR_COPY(rt->rt_dest, dest); HWMP_LOCK(hs); TAILQ_INSERT_TAIL(&hs->hs_routes, rt, rt_next); @@ -691,11 +690,10 @@ hwmp_recv_preq(struct ieee80211vap *vap, * propagate the PREQ based on TTL. */ } else if (preq->preq_ttl > 1) { - if (rt == NULL) { + if (rt == NULL) rt = hwmp_rt_add(vap, PREQ_TADDR(0)); - rt->rt_metric = preq->preq_metric; - rt->rt_lifetime = preq->preq_lifetime; - } + rt->rt_metric = preq->preq_metric; + rt->rt_lifetime = preq->preq_lifetime; rt->rt_seq = preq->preq_origseq; rt->rt_preqid = preq->preq_id; @@ -1074,14 +1072,13 @@ ieee80211_hwmp_discover(struct ieee80211 /* XXX stat+msg */ goto done; } + } + if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) { rt->rt_seq = ++hs->hs_seq; rt->rt_preqid = ++hs->hs_preqid; rt->rt_metric = IEEE80211_MESHLMETRIC_INITIALVAL; rt->rt_lifetime = timeval2msecs(ieee80211_hwmp_pathtimeout); - sendpreq = 1; - unknowndst = 1; - } else if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) { /* XXX check preq retries */ sendpreq = 1; unknowndst = 1; @@ -1177,9 +1174,12 @@ ieee80211_hwmp_checkpseq(struct ieee8021 rt->rt_lastpseq = seq; return 0; } - if (rt->rt_lastpseq >= seq) + if (rt->rt_lastpseq >= seq) { + IEEE80211_NOTE(vap, IEEE80211_MSG_MESH, + vap->iv_bss, "seqno %u <= seqno %u", seq, + rt->rt_lastpseq); return 1; - else { + } else { rt->rt_lastpseq = seq; return 0; } Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 18:51:22 2009 (r195200) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 18:52:36 2009 (r195201) @@ -413,6 +413,8 @@ mesh_input(struct ieee80211_node *ni, st const struct ieee80211_meshcntl *mc; int hdrspace, need_tap; uint8_t dir, type, subtype, qos; + uint32_t seq; + uint8_t *addr; KASSERT(ni != NULL, ("null node")); ni->ni_inact = ni->ni_inact_reload; @@ -514,10 +516,24 @@ mesh_input(struct ieee80211_node *ni, st ((struct ieee80211_qosframe *)wh)->i_qos[0]; } else qos = 0; + + /* + * BIG FAT XXX + * ugly + */ + seq = LE_READ_4(mc->mc_seq); + if (IEEE80211_IS_MULTICAST(wh->i_addr1)) + addr = wh->i_addr3; + else + addr = ((struct ieee80211_qosframe_addr4 *)wh)->i_addr4; + if (IEEE80211_ADDR_EQ(vap->iv_myaddr, addr)) + goto out; + if (ieee80211_hwmp_checkpseq(vap, addr, seq)) + goto out; /* * Check if we can forward the packet. */ - if (mc->mc_ttl <= 0 || + if (mc->mc_ttl == 0 || !(ms->ms_flags & IEEE80211_MESHFLAGS_FWD)) goto deliver; /* From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 19:23:44 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88DE31065674; Tue, 30 Jun 2009 19:23:44 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 767AD8FC18; Tue, 30 Jun 2009 19:23:44 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJNiP5090019; Tue, 30 Jun 2009 19:23:44 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UJNi8t090015; Tue, 30 Jun 2009 19:23:44 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906301923.n5UJNi8t090015@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 19:23:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195204 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:23:45 -0000 Author: rpaulo Date: Tue Jun 30 19:23:44 2009 New Revision: 195204 URL: http://svn.freebsd.org/changeset/base/195204 Log: General cleanup: * use LE_WRITE * fix add_meshconf() to be reentrant * add a mesh seq number type Pointed out by: sam Sponsored by: The FreeBSD Foundation > Submitted by: If someone else sent in the change. > Reviewed by: If someone else reviewed your modification. > Approved by: If you needed approval for this commit. > Obtained from: If the change is from a third party. > MFC after: N [day[s]|week[s]|month[s]]. Request a reminder email. > Security: Vulnerability reference (one per line) or description. > Empty fields above will be automatically removed. M ieee80211_output.c M ieee80211_mesh.c M ieee80211_mesh.h Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c projects/mesh11s/sys/net80211/ieee80211_mesh.h projects/mesh11s/sys/net80211/ieee80211_output.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 19:10:17 2009 (r195203) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 19:23:44 2009 (r195204) @@ -1505,7 +1505,8 @@ ieee80211_add_meshconf(uint8_t *frm, str { uint8_t neighs = 0; struct ieee80211_mesh_state *ms = vap->iv_mesh; - static struct ieee80211_meshconf_ie ie = { + /* XXX needs to be changed for other protocols */ + static const struct ieee80211_meshconf_ie ie = { .conf_ie = IEEE80211_ELEMID_MESHCONF, .conf_len = sizeof(struct ieee80211_meshconf_ie) - 2, .conf_ver = IEEE80211_MESHCONF_VERSION, @@ -1514,25 +1515,25 @@ ieee80211_add_meshconf(uint8_t *frm, str .conf_ccid = IEEE80211_MESHCONF_NULL, .conf_syncid = IEEE80211_MESHCONF_NULL, .conf_authid = IEEE80211_MESHCONF_NULL, - /* NB: set below */ - .conf_form = 0, - .conf_cap = 0, }; KASSERT(vap->iv_opmode == IEEE80211_M_MBSS, ("not a MBSS vap")); - /* NB: set the number of neighbors before anything else */ + memcpy(frm, &ie, sizeof(ie)); + frm += __offsetof(struct ieee80211_meshconf_ie, conf_form); ieee80211_iterate_nodes(&vap->iv_ic->ic_sta, meshconf_neighbors, &neighs); - ie.conf_form = neighs << 1; + /* NB: set the number of neighbors before the rest */ + *frm = neighs << 1; if (ms->ms_flags & IEEE80211_MESHFLAGS_PORTAL) - ie.conf_form |= IEEE80211_MESHCONF_FORM_MP; + *frm |= IEEE80211_MESHCONF_FORM_MP; + frm += 1; if (ms->ms_flags & IEEE80211_MESHFLAGS_AP) - ie.conf_cap |= IEEE80211_MESHCONF_CAP_AP; + *frm |= IEEE80211_MESHCONF_CAP_AP; if (ms->ms_flags & IEEE80211_MESHFLAGS_FWD) - ie.conf_cap |= IEEE80211_MESHCONF_CAP_FWRD; - memcpy(frm, &ie, sizeof(ie)); - return frm + sizeof(ie); + *frm |= IEEE80211_MESHCONF_CAP_FWRD; + frm += 1; + return frm; } /* Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.h Tue Jun 30 19:10:17 2009 (r195203) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.h Tue Jun 30 19:23:44 2009 (r195204) @@ -390,10 +390,13 @@ struct ieee80211_mesh_proto { uint32_t (*mpr_linkmetric)(struct ieee80211_node *); /* XXX needs more methods */ }; + +typedef uint32_t ieee80211_mesh_seq; + struct ieee80211_mesh_state { int ms_idlen; uint8_t ms_id[IEEE80211_MESHID_LEN]; - uint32_t ms_seq; /* seq no for meshcntl */ + ieee80211_mesh_seq ms_seq; /* seq no for meshcntl */ uint8_t ms_ttl; /* mesh ttl set in packets */ #define IEEE80211_MESHFLAGS_AP 0x01 /* accept peers */ #define IEEE80211_MESHFLAGS_PORTAL 0x02 /* mesh portal role */ Modified: projects/mesh11s/sys/net80211/ieee80211_output.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_output.c Tue Jun 30 19:10:17 2009 (r195203) +++ projects/mesh11s/sys/net80211/ieee80211_output.c Tue Jun 30 19:23:44 2009 (r195204) @@ -73,6 +73,18 @@ __FBSDID("$FreeBSD$"); #define ETHER_HEADER_COPY(dst, src) \ memcpy(dst, src, sizeof(struct ether_header)) +/* unalligned little endian access */ +#define LE_WRITE_2(p, v) do { \ + ((uint8_t *)(p))[0] = (v) & 0xff; \ + ((uint8_t *)(p))[1] = ((v) >> 8) & 0xff; \ +} while (0) +#define LE_WRITE_4(p, v) do { \ + ((uint8_t *)(p))[0] = (v) & 0xff; \ + ((uint8_t *)(p))[1] = ((v) >> 8) & 0xff; \ + ((uint8_t *)(p))[2] = ((v) >> 16) & 0xff; \ + ((uint8_t *)(p))[3] = ((v) >> 24) & 0xff; \ +} while (0) + static int ieee80211_fragment(struct ieee80211vap *, struct mbuf *, u_int hdrsize, u_int ciphdrsize, u_int mtu); static void ieee80211_tx_mgt_cb(struct ieee80211_node *, void *, int); @@ -567,10 +579,9 @@ ieee80211_send_action(struct ieee80211_n int category, int action, union ieee80211_send_action_args sargs) { #define senderr(_x, _v) do { vap->iv_stats._v++; ret = _x; goto bad; } while (0) -#define ADDSHORT(frm, v) do { \ - frm[0] = (v) & 0xff; \ - frm[1] = (v) >> 8; \ - frm += 2; \ +#define ADDSHORT(frm, v) do { \ + LE_WRITE_2(frm, v); \ + frm += 2; \ } while (0) #define MS(_v, _f) (((_v) & _f) >> _f##_S) #define SM(_v, _f) (((_v) << _f##_S) & _f) @@ -1261,7 +1272,6 @@ ieee80211_encap(struct ieee80211vap *vap ieee80211_seq seqno; int meshhdrsize, meshae; struct ieee80211_meshcntl_ae11 *mc; - uint32_t seq; uint8_t *qos; /* @@ -1487,11 +1497,7 @@ ieee80211_encap(struct ieee80211vap *vap break; } mc->mc_ttl = ms->ms_ttl; - seq = ms->ms_seq++; - mc->mc_seq[0] = seq & 0xff; - mc->mc_seq[1] = (seq >> 8) & 0xff; - mc->mc_seq[2] = (seq >> 16) & 0xff; - mc->mc_seq[3] = (seq >> 24) & 0xff; + LE_WRITE_4(mc->mc_seq, ++ms->ms_seq); break; case IEEE80211_M_MONITOR: case IEEE80211_M_WDS: /* NB: is4addr should always be true */ @@ -1760,10 +1766,9 @@ ieee80211_add_erp(uint8_t *frm, struct i static uint8_t * ieee80211_add_cfparms(uint8_t *frm, struct ieee80211com *ic) { -#define ADDSHORT(frm, v) do { \ - frm[0] = (v) & 0xff; \ - frm[1] = (v) >> 8; \ - frm += 2; \ +#define ADDSHORT(frm, v) do { \ + LE_WRITE_2(frm, v); \ + frm += 2; \ } while (0) *frm++ = IEEE80211_ELEMID_CFPARMS; *frm++ = 6; @@ -1816,10 +1821,9 @@ static uint8_t * ieee80211_add_wme_param(uint8_t *frm, struct ieee80211_wme_state *wme) { #define SM(_v, _f) (((_v) << _f##_S) & _f) -#define ADDSHORT(frm, v) do { \ - frm[0] = (v) & 0xff; \ - frm[1] = (v) >> 8; \ - frm += 2; \ +#define ADDSHORT(frm, v) do { \ + LE_WRITE_2(frm, v); \ + frm += 2; \ } while (0) /* NB: this works 'cuz a param has an info at the front */ static const struct ieee80211_wme_info param = { From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 19:30:58 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB35D106564A; Tue, 30 Jun 2009 19:30:58 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9A2658FC18; Tue, 30 Jun 2009 19:30:58 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJUwOK090216; Tue, 30 Jun 2009 19:30:58 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UJUwSE090213; Tue, 30 Jun 2009 19:30:58 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906301930.n5UJUwSE090213@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 19:30:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195205 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:30:58 -0000 Author: rpaulo Date: Tue Jun 30 19:30:58 2009 New Revision: 195205 URL: http://svn.freebsd.org/changeset/base/195205 Log: Add mesh seq modulo 2^32 operations and use them. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_mesh.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Tue Jun 30 19:23:44 2009 (r195204) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Tue Jun 30 19:30:58 2009 (r195205) @@ -1174,7 +1174,7 @@ ieee80211_hwmp_checkpseq(struct ieee8021 rt->rt_lastpseq = seq; return 0; } - if (rt->rt_lastpseq >= seq) { + if (IEEE80211_MESH_SEQ_GEQ(rt->rt_lastpseq, seq)) { IEEE80211_NOTE(vap, IEEE80211_MSG_MESH, vap->iv_bss, "seqno %u <= seqno %u", seq, rt->rt_lastpseq); Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.h Tue Jun 30 19:23:44 2009 (r195204) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.h Tue Jun 30 19:30:58 2009 (r195205) @@ -392,6 +392,8 @@ struct ieee80211_mesh_proto { }; typedef uint32_t ieee80211_mesh_seq; +#define IEEE80211_MESH_SEQ_LEQ(a, b) ((int32_t)((a)-(b)) <= 0) +#define IEEE80211_MESH_SEQ_GEQ(a, b) ((int32_t)((a)-(b)) >= 0) struct ieee80211_mesh_state { int ms_idlen; From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 19:35:50 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9F2C106564A; Tue, 30 Jun 2009 19:35:50 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9898D8FC15; Tue, 30 Jun 2009 19:35:50 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJZoPO090342; Tue, 30 Jun 2009 19:35:50 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UJZo1J090340; Tue, 30 Jun 2009 19:35:50 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906301935.n5UJZo1J090340@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 19:35:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195206 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:35:51 -0000 Author: rpaulo Date: Tue Jun 30 19:35:50 2009 New Revision: 195206 URL: http://svn.freebsd.org/changeset/base/195206 Log: Add some stats. Submited by: sam Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ioctl.h Tue Jun 30 19:30:58 2009 (r195205) +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.h Tue Jun 30 19:35:50 2009 (r195206) @@ -223,7 +223,14 @@ struct ieee80211_stats { uint32_t is_tx_ctl; /* tx ctrl frames */ uint32_t is_ampdu_rexmt; /* A-MPDU frames rexmt ok */ uint32_t is_ampdu_rexmt_fail; /* A-MPDU frames rexmt fail */ - uint32_t is_spare[16]; + + uint32_t is_mesh_fwd_seqno; /* mesh not fwd'd 'cuz seq# */ + uint32_t is_mesh_fwd_ttl; /* mesh not fwd'd 'cuz ttl 0 */ + uint32_t is_mesh_fwd_nobuf; /* mesh not fwd'd 'cuz no mbuf*/ + uint32_t is_mesh_fwd_tooshort; /* mesh not fwd'd 'cuz no hdr */ + uint32_t is_mesh_fwd_disabled; /* mesh not fwd'd 'cuz disabled */ + uint32_t is_mesh_fwd_nopath; /* mesh not fwd'd 'cuz path unknown */ + uint32_t is_spare[14]; }; /* From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 19:38:33 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C102B1065673; Tue, 30 Jun 2009 19:38:33 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AFF878FC1B; Tue, 30 Jun 2009 19:38:33 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJcXwD090419; Tue, 30 Jun 2009 19:38:33 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UJcXEf090417; Tue, 30 Jun 2009 19:38:33 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906301938.n5UJcXEf090417@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 19:38:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195207 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:38:34 -0000 Author: rpaulo Date: Tue Jun 30 19:38:33 2009 New Revision: 195207 URL: http://svn.freebsd.org/changeset/base/195207 Log: Move some code from mesh_input() to mesh_forward() and add stats. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 19:35:50 2009 (r195206) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 19:38:33 2009 (r195207) @@ -321,9 +321,11 @@ mesh_generateid(struct ieee80211vap *vap * Decrement the TTL and set TA to our MAC address. */ static void -mesh_forward(struct ieee80211vap *vap, struct mbuf *m) +mesh_forward(struct ieee80211vap *vap, struct mbuf *m, + const struct ieee80211_meshcntl *mc) { struct ieee80211com *ic = vap->iv_ic; + struct ieee80211_mesh_state *ms = vap->iv_mesh; struct ifnet *ifp = vap->iv_ifp; const struct ieee80211_frame *wh = mtod(m, const struct ieee80211_frame *); @@ -335,6 +337,18 @@ mesh_forward(struct ieee80211vap *vap, s struct ieee80211_node *ni; int err; + if (mc->mc_ttl == 0) { + IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, + "%s", "frame not fwd'd, ttl 0"); + vap->iv_stats.is_mesh_fwd_ttl++; + return; + } + if (!(ms->ms_flags & IEEE80211_MESHFLAGS_FWD)) { + IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, + "%s", "frame not fwd'd, fwding disabled"); + vap->iv_stats.is_mesh_fwd_disabled++; + return; + } mcopy = m_dup(m, M_DONTWAIT); if (mcopy == NULL) { /* XXX stat+msg? */ @@ -531,16 +545,10 @@ mesh_input(struct ieee80211_node *ni, st if (ieee80211_hwmp_checkpseq(vap, addr, seq)) goto out; /* - * Check if we can forward the packet. - */ - if (mc->mc_ttl == 0 || - !(ms->ms_flags & IEEE80211_MESHFLAGS_FWD)) - goto deliver; - /* * Forward and deliver multicast packets */ if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { - mesh_forward(vap, m); + mesh_forward(vap, m, mc); goto deliver; } /* @@ -548,7 +556,7 @@ mesh_input(struct ieee80211_node *ni, st */ if (!IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr3) && IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr1)) { - mesh_forward(vap, m); + mesh_forward(vap, m, mc); /* NB: don't deliver */ goto out; } From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 19:39:15 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AD10E1065673; Tue, 30 Jun 2009 19:39:15 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9C2A88FC17; Tue, 30 Jun 2009 19:39:15 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJdFAE090473; Tue, 30 Jun 2009 19:39:15 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UJdF93090471; Tue, 30 Jun 2009 19:39:15 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906301939.n5UJdF93090471@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 19:39:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195208 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:39:15 -0000 Author: rpaulo Date: Tue Jun 30 19:39:15 2009 New Revision: 195208 URL: http://svn.freebsd.org/changeset/base/195208 Log: Remove unused variable. Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 19:38:33 2009 (r195207) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 19:39:15 2009 (r195208) @@ -420,7 +420,6 @@ static int mesh_input(struct ieee80211_node *ni, struct mbuf *m, int rssi, int noise) { struct ieee80211vap *vap = ni->ni_vap; - struct ieee80211_mesh_state *ms = vap->iv_mesh; struct ieee80211com *ic = ni->ni_ic; struct ifnet *ifp = vap->iv_ifp; struct ieee80211_frame *wh; From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 19:44:24 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 84962106566C; Tue, 30 Jun 2009 19:44:23 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5F4878FC20; Tue, 30 Jun 2009 19:44:23 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UJiNu9090644; Tue, 30 Jun 2009 19:44:23 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UJiNZX090642; Tue, 30 Jun 2009 19:44:23 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906301944.n5UJiNZX090642@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 19:44:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195210 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 19:44:25 -0000 Author: rpaulo Date: Tue Jun 30 19:44:23 2009 New Revision: 195210 URL: http://svn.freebsd.org/changeset/base/195210 Log: Add some stats to mesh_forward(). Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 19:39:17 2009 (r195209) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Tue Jun 30 19:44:23 2009 (r195210) @@ -351,14 +351,18 @@ mesh_forward(struct ieee80211vap *vap, s } mcopy = m_dup(m, M_DONTWAIT); if (mcopy == NULL) { - /* XXX stat+msg? */ + IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, + "%s", "frame not fwd'd, cannot dup"); + vap->iv_stats.is_mesh_fwd_nobuf++; ifp->if_oerrors++; return; } mcopy = m_pullup(mcopy, ieee80211_hdrspace(ic, wh) + sizeof(struct ieee80211_meshcntl)); if (mcopy == NULL) { - /* XXX stat+msg? */ + IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, + "%s", "frame not fwd'd, too short"); + vap->iv_stats.is_mesh_fwd_tooshort++; ifp->if_oerrors++; m_freem(mcopy); return; @@ -380,7 +384,9 @@ mesh_forward(struct ieee80211vap *vap, s } else { ni = ieee80211_hwmp_find_txnode(vap, whcopy->i_addr3); if (ni == NULL) { - /* XXX stat+msg? */ + IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, + "%s", "frame not fwd'd, no path"); + vap->iv_stats.is_mesh_fwd_nopath++; m_freem(mcopy); return; } From owner-svn-src-projects@FreeBSD.ORG Tue Jun 30 22:26:26 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 66B571065676; Tue, 30 Jun 2009 22:26:26 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 553A18FC08; Tue, 30 Jun 2009 22:26:26 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5UMQQuI093862; Tue, 30 Jun 2009 22:26:26 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5UMQQRM093860; Tue, 30 Jun 2009 22:26:26 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200906302226.n5UMQQRM093860@svn.freebsd.org> From: Rui Paulo Date: Tue, 30 Jun 2009 22:26:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195214 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jun 2009 22:26:26 -0000 Author: rpaulo Date: Tue Jun 30 22:26:26 2009 New Revision: 195214 URL: http://svn.freebsd.org/changeset/base/195214 Log: Avoid side effects. Pointed out by: sam Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_output.c Modified: projects/mesh11s/sys/net80211/ieee80211_output.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_output.c Tue Jun 30 22:09:47 2009 (r195213) +++ projects/mesh11s/sys/net80211/ieee80211_output.c Tue Jun 30 22:26:26 2009 (r195214) @@ -1497,7 +1497,8 @@ ieee80211_encap(struct ieee80211vap *vap break; } mc->mc_ttl = ms->ms_ttl; - LE_WRITE_4(mc->mc_seq, ++ms->ms_seq); + ms->ms_seq++; + LE_WRITE_4(mc->mc_seq, ms->ms_seq); break; case IEEE80211_M_MONITOR: case IEEE80211_M_WDS: /* NB: is4addr should always be true */ From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 01:24:58 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8EBBB1065672; Wed, 1 Jul 2009 01:24:58 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7DF248FC1D; Wed, 1 Jul 2009 01:24:58 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n611Ow2E097446; Wed, 1 Jul 2009 01:24:58 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n611OwC1097444; Wed, 1 Jul 2009 01:24:58 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907010124.n611OwC1097444@svn.freebsd.org> From: Sam Leffler Date: Wed, 1 Jul 2009 01:24:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195220 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 01:24:58 -0000 Author: sam Date: Wed Jul 1 01:24:58 2009 New Revision: 195220 URL: http://svn.freebsd.org/changeset/base/195220 Log: o remove unused stat o correct spare count so struct size remains the same Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ioctl.h Wed Jul 1 01:22:28 2009 (r195219) +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.h Wed Jul 1 01:24:58 2009 (r195220) @@ -224,13 +224,12 @@ struct ieee80211_stats { uint32_t is_ampdu_rexmt; /* A-MPDU frames rexmt ok */ uint32_t is_ampdu_rexmt_fail; /* A-MPDU frames rexmt fail */ - uint32_t is_mesh_fwd_seqno; /* mesh not fwd'd 'cuz seq# */ uint32_t is_mesh_fwd_ttl; /* mesh not fwd'd 'cuz ttl 0 */ uint32_t is_mesh_fwd_nobuf; /* mesh not fwd'd 'cuz no mbuf*/ uint32_t is_mesh_fwd_tooshort; /* mesh not fwd'd 'cuz no hdr */ uint32_t is_mesh_fwd_disabled; /* mesh not fwd'd 'cuz disabled */ uint32_t is_mesh_fwd_nopath; /* mesh not fwd'd 'cuz path unknown */ - uint32_t is_spare[14]; + uint32_t is_spare[11]; }; /* From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 01:26:51 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D1E361065672; Wed, 1 Jul 2009 01:26:51 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C0F098FC16; Wed, 1 Jul 2009 01:26:51 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n611QpHR097524; Wed, 1 Jul 2009 01:26:51 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n611QpSg097522; Wed, 1 Jul 2009 01:26:51 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907010126.n611QpSg097522@svn.freebsd.org> From: Sam Leffler Date: Wed, 1 Jul 2009 01:26:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195221 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 01:26:52 -0000 Author: sam Date: Wed Jul 1 01:26:51 2009 New Revision: 195221 URL: http://svn.freebsd.org/changeset/base/195221 Log: pack ieee80211_meshcntl structs so sizeof works on arm Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.h Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.h Wed Jul 1 01:24:58 2009 (r195220) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.h Wed Jul 1 01:26:51 2009 (r195221) @@ -337,21 +337,21 @@ enum { * Different mesh control structures based on the AE * (Address Extension) bits. * - * NB: not __packed because mc_seq isn't uint32_t. + * NB: __packed added so sizeof works on arm, et. al. */ struct ieee80211_meshcntl { uint8_t mc_flags; /* Address Extension 00 */ uint8_t mc_ttl; /* TTL */ uint8_t mc_seq[4]; /* Sequence No. */ /* NB: more addresses may follow */ -}; +} __packed; struct ieee80211_meshcntl_ae01 { uint8_t mc_flags; /* Address Extension 01 */ uint8_t mc_ttl; /* TTL */ uint8_t mc_seq[4]; /* Sequence No. */ uint8_t mc_addr4[IEEE80211_ADDR_LEN]; -}; +} __packed; struct ieee80211_meshcntl_ae10 { uint8_t mc_flags; /* Address Extension 10 */ @@ -359,7 +359,7 @@ struct ieee80211_meshcntl_ae10 { uint8_t mc_seq[4]; /* Sequence No. */ uint8_t mc_addr5[IEEE80211_ADDR_LEN]; uint8_t mc_addr6[IEEE80211_ADDR_LEN]; -}; +} __packed; struct ieee80211_meshcntl_ae11 { uint8_t mc_flags; /* Address Extension 11 */ @@ -368,7 +368,7 @@ struct ieee80211_meshcntl_ae11 { uint8_t mc_addr4[IEEE80211_ADDR_LEN]; uint8_t mc_addr5[IEEE80211_ADDR_LEN]; uint8_t mc_addr6[IEEE80211_ADDR_LEN]; -}; +} __packed; #ifdef _KERNEL struct ieee80211_mesh_proto { From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 01:27:27 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72D8B1065672; Wed, 1 Jul 2009 01:27:27 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6224E8FC1C; Wed, 1 Jul 2009 01:27:27 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n611RRO6097572; Wed, 1 Jul 2009 01:27:27 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n611RRSf097570; Wed, 1 Jul 2009 01:27:27 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907010127.n611RRSf097570@svn.freebsd.org> From: Sam Leffler Date: Wed, 1 Jul 2009 01:27:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195222 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 01:27:27 -0000 Author: sam Date: Wed Jul 1 01:27:27 2009 New Revision: 195222 URL: http://svn.freebsd.org/changeset/base/195222 Log: hack ALIGNED_POINTER so we re-align mesh data frames on arm Modified: projects/mesh11s/sys/net80211/ieee80211_input.c Modified: projects/mesh11s/sys/net80211/ieee80211_input.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_input.c Wed Jul 1 01:26:51 2009 (r195221) +++ projects/mesh11s/sys/net80211/ieee80211_input.c Wed Jul 1 01:27:27 2009 (r195222) @@ -277,6 +277,7 @@ ieee80211_decap(struct ieee80211vap *vap IEEE80211_ADDR_COPY(eh->ether_shost, wh.i_addr4); break; } +#define ALIGNED_POINTER(p,t) ((((u_long)(p)) & (sizeof(t)-1)) == 0) #ifdef ALIGNED_POINTER if (!ALIGNED_POINTER(mtod(m, caddr_t) + sizeof(*eh), uint32_t)) { struct mbuf *n, *n0, **np; From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 01:29:06 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A477C1065670; Wed, 1 Jul 2009 01:29:06 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 93B838FC15; Wed, 1 Jul 2009 01:29:06 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n611T6Y8097639; Wed, 1 Jul 2009 01:29:06 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n611T6Io097637; Wed, 1 Jul 2009 01:29:06 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907010129.n611T6Io097637@svn.freebsd.org> From: Sam Leffler Date: Wed, 1 Jul 2009 01:29:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195223 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 01:29:06 -0000 Author: sam Date: Wed Jul 1 01:29:06 2009 New Revision: 195223 URL: http://svn.freebsd.org/changeset/base/195223 Log: update bpf/radiotap support Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:27:27 2009 (r195222) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:29:06 2009 (r195223) @@ -56,8 +56,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include - #include #include #include @@ -577,8 +575,9 @@ deliver: } } wh = NULL; /* no longer valid, catch any uses */ - if (bpf_peers_present(vap->iv_rawbpf)) - bpf_mtap(vap->iv_rawbpf, m); + + if (ieee80211_radiotap_active_vap(vap)) + ieee80211_radiotap_rx(vap, m); need_tap = 0; /* @@ -641,8 +640,6 @@ deliver: vap->iv_stats.is_rx_mgtdiscard++; /* XXX */ goto out; } - if (bpf_peers_present(vap->iv_rawbpf)) - bpf_mtap(vap->iv_rawbpf, m); vap->iv_recv_mgmt(ni, m, subtype, rssi, noise); goto out; case IEEE80211_FC0_TYPE_CTL: @@ -659,8 +656,8 @@ err: ifp->if_ierrors++; out: if (m != NULL) { - if (bpf_peers_present(vap->iv_rawbpf) && need_tap) - bpf_mtap(vap->iv_rawbpf, m); + if (need_tap && ieee80211_radiotap_active_vap(vap)) + ieee80211_radiotap_rx(vap, m); m_freem(m); } return type; From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 01:31:14 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C357E106564A; Wed, 1 Jul 2009 01:31:14 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B28B18FC0C; Wed, 1 Jul 2009 01:31:14 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n611VENV097725; Wed, 1 Jul 2009 01:31:14 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n611VEu2097722; Wed, 1 Jul 2009 01:31:14 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907010131.n611VEu2097722@svn.freebsd.org> From: Sam Leffler Date: Wed, 1 Jul 2009 01:31:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195224 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 01:31:15 -0000 Author: sam Date: Wed Jul 1 01:31:14 2009 New Revision: 195224 URL: http://svn.freebsd.org/changeset/base/195224 Log: move debug msg for drop due to mesh seq# and make it consistent Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 01:29:06 2009 (r195223) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 01:31:14 2009 (r195224) @@ -1175,9 +1175,6 @@ ieee80211_hwmp_checkpseq(struct ieee8021 return 0; } if (IEEE80211_MESH_SEQ_GEQ(rt->rt_lastpseq, seq)) { - IEEE80211_NOTE(vap, IEEE80211_MSG_MESH, - vap->iv_bss, "seqno %u <= seqno %u", seq, - rt->rt_lastpseq); return 1; } else { rt->rt_lastpseq = seq; Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:29:06 2009 (r195223) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:31:14 2009 (r195224) @@ -545,8 +545,13 @@ mesh_input(struct ieee80211_node *ni, st addr = ((struct ieee80211_qosframe_addr4 *)wh)->i_addr4; if (IEEE80211_ADDR_EQ(vap->iv_myaddr, addr)) goto out; - if (ieee80211_hwmp_checkpseq(vap, addr, seq)) + if (ieee80211_hwmp_checkpseq(vap, addr, seq) != 0) { + IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_MESH, + addr, "data", "duplicate mesh seqno %u ttl %u", + seq, mc->mc_ttl); + vap->iv_stats.is_rx_dup++; goto out; + } /* * Forward and deliver multicast packets */ From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 01:32:33 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA09C1065673; Wed, 1 Jul 2009 01:32:33 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9928B8FC13; Wed, 1 Jul 2009 01:32:33 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n611WXoM097783; Wed, 1 Jul 2009 01:32:33 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n611WXWo097781; Wed, 1 Jul 2009 01:32:33 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907010132.n611WXWo097781@svn.freebsd.org> From: Sam Leffler Date: Wed, 1 Jul 2009 01:32:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195225 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 01:32:33 -0000 Author: sam Date: Wed Jul 1 01:32:33 2009 New Revision: 195225 URL: http://svn.freebsd.org/changeset/base/195225 Log: add stat+msg on drop due to mis-addressed frame Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:31:14 2009 (r195224) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:32:33 2009 (r195225) @@ -543,8 +543,12 @@ mesh_input(struct ieee80211_node *ni, st addr = wh->i_addr3; else addr = ((struct ieee80211_qosframe_addr4 *)wh)->i_addr4; - if (IEEE80211_ADDR_EQ(vap->iv_myaddr, addr)) + if (IEEE80211_ADDR_EQ(vap->iv_myaddr, addr)) { + IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT, + addr, "data", "%s", "not to me"); + vap->iv_stats.is_rx_wrongbss++; /* XXX kinda */ goto out; + } if (ieee80211_hwmp_checkpseq(vap, addr, seq) != 0) { IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_MESH, addr, "data", "duplicate mesh seqno %u ttl %u", From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 01:34:18 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 24E1E1065672; Wed, 1 Jul 2009 01:34:18 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1422E8FC13; Wed, 1 Jul 2009 01:34:18 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n611YHDM097867; Wed, 1 Jul 2009 01:34:17 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n611YHHb097865; Wed, 1 Jul 2009 01:34:17 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907010134.n611YHHb097865@svn.freebsd.org> From: Sam Leffler Date: Wed, 1 Jul 2009 01:34:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195226 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 01:34:18 -0000 Author: sam Date: Wed Jul 1 01:34:17 2009 New Revision: 195226 URL: http://svn.freebsd.org/changeset/base/195226 Log: move work down so it's not done for dropped packets Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:32:33 2009 (r195225) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:34:17 2009 (r195226) @@ -524,15 +524,6 @@ mesh_input(struct ieee80211_node *ni, st (mtod(m, const uint8_t *) + hdrspace); hdrspace += sizeof(struct ieee80211_meshcntl) + (mc->mc_flags & 3) * IEEE80211_ADDR_LEN; - /* - * Save QoS bits for use below--before we strip the header. - */ - if (subtype == IEEE80211_FC0_SUBTYPE_QOS) { - qos = (dir == IEEE80211_FC1_DIR_DSTODS) ? - ((struct ieee80211_qosframe_addr4 *)wh)->i_qos[0] : - ((struct ieee80211_qosframe *)wh)->i_qos[0]; - } else - qos = 0; /* * BIG FAT XXX @@ -574,6 +565,15 @@ mesh_input(struct ieee80211_node *ni, st } deliver: /* + * Save QoS bits for use below--before we strip the header. + */ + if (subtype == IEEE80211_FC0_SUBTYPE_QOS) { + qos = (dir == IEEE80211_FC1_DIR_DSTODS) ? + ((struct ieee80211_qosframe_addr4 *)wh)->i_qos[0] : + ((struct ieee80211_qosframe *)wh)->i_qos[0]; + } else + qos = 0; + /* * Next up, any fragmentation. */ if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 01:35:37 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7EE1A106564A; Wed, 1 Jul 2009 01:35:37 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6E5148FC15; Wed, 1 Jul 2009 01:35:37 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n611Zb8C097933; Wed, 1 Jul 2009 01:35:37 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n611ZbkG097931; Wed, 1 Jul 2009 01:35:37 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907010135.n611ZbkG097931@svn.freebsd.org> From: Sam Leffler Date: Wed, 1 Jul 2009 01:35:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195227 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 01:35:37 -0000 Author: sam Date: Wed Jul 1 01:35:37 2009 New Revision: 195227 URL: http://svn.freebsd.org/changeset/base/195227 Log: leave marker for open issue Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:34:17 2009 (r195226) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 01:35:37 2009 (r195227) @@ -549,6 +549,7 @@ mesh_input(struct ieee80211_node *ni, st } /* * Forward and deliver multicast packets + * XXX tap fwd'd packets not for us? */ if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { mesh_forward(vap, m, mc); From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 06:07:04 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E4531065670; Wed, 1 Jul 2009 06:07:04 +0000 (UTC) (envelope-from andy@fud.org.nz) Received: from mail-vw0-f193.google.com (mail-vw0-f193.google.com [209.85.212.193]) by mx1.freebsd.org (Postfix) with ESMTP id AF5618FC1A; Wed, 1 Jul 2009 06:07:03 +0000 (UTC) (envelope-from andy@fud.org.nz) Received: by vwj31 with SMTP id 31so251037vwj.3 for ; Tue, 30 Jun 2009 23:07:03 -0700 (PDT) MIME-Version: 1.0 Sender: andy@fud.org.nz Received: by 10.220.81.17 with SMTP id v17mr6329650vck.43.1246427086987; Tue, 30 Jun 2009 22:44:46 -0700 (PDT) In-Reply-To: <200907010124.n611OwC1097444@svn.freebsd.org> References: <200907010124.n611OwC1097444@svn.freebsd.org> Date: Tue, 30 Jun 2009 22:44:46 -0700 X-Google-Sender-Auth: 3ebed18db997704a Message-ID: <1280352d0906302244h6356892bpddb9c764f686448c@mail.gmail.com> From: Andrew Thompson To: Sam Leffler Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r195220 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 06:07:04 -0000 2009/6/30 Sam Leffler > Author: sam > Date: Wed Jul 1 01:24:58 2009 > New Revision: 195220 > URL: http://svn.freebsd.org/changeset/base/195220 > > Log: > o remove unused stat > o correct spare count so struct size remains the same > > Modified: > projects/mesh11s/sys/net80211/ieee80211_ioctl.h > > Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h > > ============================================================================== > --- projects/mesh11s/sys/net80211/ieee80211_ioctl.h Wed Jul 1 01:22:28 > 2009 (r195219) > +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.h Wed Jul 1 01:24:58 > 2009 (r195220) > @@ -224,13 +224,12 @@ struct ieee80211_stats { > uint32_t is_ampdu_rexmt; /* A-MPDU frames rexmt ok */ > uint32_t is_ampdu_rexmt_fail; /* A-MPDU frames rexmt fail > */ > > - uint32_t is_mesh_fwd_seqno; /* mesh not fwd'd 'cuz seq# > */ > uint32_t is_mesh_fwd_ttl; /* mesh not fwd'd 'cuz ttl 0 > */ > uint32_t is_mesh_fwd_nobuf; /* mesh not fwd'd 'cuz no > mbuf*/ > uint32_t is_mesh_fwd_tooshort; /* mesh not fwd'd 'cuz no > hdr */ > uint32_t is_mesh_fwd_disabled; /* mesh not fwd'd 'cuz > disabled */ > uint32_t is_mesh_fwd_nopath; /* mesh not fwd'd 'cuz path > unknown */ > - uint32_t is_spare[14]; > + uint32_t is_spare[11]; > }; I take it that the 14 -> 11 change fixes an existing problem as to 'remain the same size' would be 15. Andrew From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 10:15:04 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8890A1065673; Wed, 1 Jul 2009 10:15:04 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 762658FC1D; Wed, 1 Jul 2009 10:15:04 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61AF4r6009766; Wed, 1 Jul 2009 10:15:04 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61AF407009759; Wed, 1 Jul 2009 10:15:04 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907011015.n61AF407009759@svn.freebsd.org> From: Rui Paulo Date: Wed, 1 Jul 2009 10:15:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195233 - in projects/mesh11s/tools/tools/net80211/scripts: . mesh X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 10:15:04 -0000 Author: rpaulo Date: Wed Jul 1 10:15:04 2009 New Revision: 195233 URL: http://svn.freebsd.org/changeset/base/195233 Log: Add setup scripts for mesh networks. Sponsored by: The FreeBSD Foundation Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/ projects/mesh11s/tools/tools/net80211/scripts/mesh/common projects/mesh11s/tools/tools/net80211/scripts/mesh/config.mesh projects/mesh11s/tools/tools/net80211/scripts/mesh/setup.simple projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.line projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.ring projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.star projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.tree Modified: projects/mesh11s/tools/tools/net80211/scripts/config Modified: projects/mesh11s/tools/tools/net80211/scripts/config ============================================================================== --- projects/mesh11s/tools/tools/net80211/scripts/config Wed Jul 1 08:43:05 2009 (r195232) +++ projects/mesh11s/tools/tools/net80211/scripts/config Wed Jul 1 10:15:04 2009 (r195233) @@ -39,8 +39,8 @@ test -z "$WIRELESS" && { echo "No wirele # fixed channel #CHANNEL=${1:-36:a} #CHANNEL=${1:-36:ht/20} -CHANNEL=${1:-36} -#CHANNEL=${1:-6:g} +#CHANNEL=${1:-36} +CHANNEL=${1:-6:g} #CHANNEL=${1:-6:b} # default WPA passphrase @@ -49,6 +49,9 @@ test -z "$WPA_PASSPHRASE" && WPA_PASSPHR # default ssid for ap vaps test -z "$SSID" && SSID=freebsd-ap +# default meshid for mesh vaps +test -z "$MESHID" && MESHID=freebsd-mesh + # directory to create files like hostapd.conf test -z "$TMPDIR" && TMPDIR=. Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/common ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/common Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,13 @@ +#! /bin/sh +# +# Common setup. +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +WLAN=`ifconfig wlan create wlanmode mesh wlandev $WIRELESS` +ifconfig $WLAN meshid $MESHID channel $CHANNEL mtu 1500 +wlandebug -i $WLAN mesh+hwmp+state+scan+assoc Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/config.mesh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/config.mesh Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,17 @@ +# +# Common configuration settings for mesh test scripts. +# +# $FreeBSD$ +# + +NODE1_IP=10.0.1.100 +NODE2_IP=10.0.1.101 +NODE3_IP=10.0.1.102 +NODE4_IP=10.0.1.103 +NODE5_IP=10.0.1.104 + +NODE1_MAC=00:0b:6b:2d:dc:d8 +NODE2_MAC=00:0b:6b:2d:db:ac +NODE3_MAC=00:0b:6b:2d:dd:17 +NODE4_MAC=00:0b:6b:87:1c:f0 +NODE5_MAC=00:14:a5:33:33:a7 Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/setup.simple ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/setup.simple Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,13 @@ +#! /bin/sh +# +# Script for creating a simple Mesh Point. +# Topology is fully connected if every node is a neighbor of each other. +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN up Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.line ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.line Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,38 @@ +#! /bin/sh +# +# Script for creating a mesh in line topology. +# +# node1 <-> node2 <-> node3 <-> node4 <-> node5 +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN mac:allow +MAC=`ifconfig $WLAN | grep ether | awk '{ print $2 }'` +case $MAC in + $NODE1_MAC) + ifconfig $WLAN inet $NODE1_IP + ifconfig $WLAN mac:add $NODE2_MAC + ;; + $NODE2_MAC) + ifconfig $WLAN inet $NODE2_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE3_MAC + ;; + $NODE3_MAC) + ifconfig $WLAN inet $NODE3_IP + ifconfig $WLAN mac:add $NODE2_MAC mac:add $NODE4_MAC + ;; + $NODE4_MAC) + ifconfig $WLAN inet $NODE4_IP + ifconfig $WLAN mac:add $NODE3_MAC mac:add $NODE5_MAC + ;; + $NODE5_MAC) + ifconfig $WLAN inet $NODE5_IP + ifconfig $WLAN mac:add $NODE4_MAC + ;; +esac +ifconfig $WLAN up Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.ring ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.ring Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,40 @@ +#! /bin/sh +# +# Script for creating a mesh in ring topology. +# +# node1 - node2 - node3 - node4 - node5 +# ^ | +# \------------------------------- +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN mac:allow +MAC=`ifconfig $WLAN | grep ether | awk '{ print $2 }'` +case $MAC in + $NODE1_MAC) + ifconfig $WLAN inet $NODE1_IP + ifconfig $WLAN mac:add $NODE2_MAC mac:add $NODE5_MAC + ;; + $NODE2_MAC) + ifconfig $WLAN inet $NODE2_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE3_MAC + ;; + $NODE3_MAC) + ifconfig $WLAN inet $NODE3_IP + ifconfig $WLAN mac:add $NODE2_MAC mac:add $NODE4_MAC + ;; + $NODE4_MAC) + ifconfig $WLAN inet $NODE4_IP + ifconfig $WLAN mac:add $NODE3_MAC mac:add $NODE5_MAC + ;; + $NODE5_MAC) + ifconfig $WLAN inet $NODE5_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE4_MAC + ;; +esac +ifconfig $WLAN up Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.star ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.star Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,38 @@ +#! /bin/sh +# +# Script for creating a mesh in star topology. +# Node 3 will be the center. +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN mac:allow +MAC=`ifconfig $WLAN | grep ether | awk '{ print $2 }'` +case $MAC in + $NODE1_MAC) + ifconfig $WLAN inet $NODE1_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; + $NODE2_MAC) + ifconfig $WLAN inet $NODE2_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; + $NODE3_MAC) + ifconfig $WLAN inet $NODE3_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE2_MAC mac:add \ + $NODE4_MAC mac:add $NODE5_MAC + ;; + $NODE4_MAC) + ifconfig $WLAN inet $NODE4_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; + $NODE5_MAC) + ifconfig $WLAN inet $NODE5_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; +esac +ifconfig $WLAN up Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.tree ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.tree Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,47 @@ +#! /bin/sh +# +# Script for creating a mesh in tree (hirearchical) topology. +# +# node1 +# ^ +# | +# / \ +# v v +# node2 node3 +# ^ ^ +# | | +# v v +# node4 node5 +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN mac:allow +MAC=`ifconfig $WLAN | grep ether | awk '{ print $2 }'` +case $MAC in + $NODE1_MAC) + ifconfig $WLAN inet $NODE1_IP + ifconfig $WLAN mac:add $NODE2_MAC mac:add $NODE3_MAC + ;; + $NODE2_MAC) + ifconfig $WLAN inet $NODE2_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE4_MAC + ;; + $NODE3_MAC) + ifconfig $WLAN inet $NODE3_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE5_MAC + ;; + $NODE4_MAC) + ifconfig $WLAN inet $NODE4_IP + ifconfig $WLAN mac:add $NODE2_MAC + ;; + $NODE5_MAC) + ifconfig $WLAN inet $NODE5_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; +esac +ifconfig $WLAN up From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 10:16:10 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D59BD106564A; Wed, 1 Jul 2009 10:16:10 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C43018FC19; Wed, 1 Jul 2009 10:16:10 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61AGA8v009823; Wed, 1 Jul 2009 10:16:10 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61AGAbl009821; Wed, 1 Jul 2009 10:16:10 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907011016.n61AGAbl009821@svn.freebsd.org> From: Rui Paulo Date: Wed, 1 Jul 2009 10:16:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195234 - projects/mesh11s/tools/tools/net80211/scripts X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 10:16:11 -0000 Author: rpaulo Date: Wed Jul 1 10:16:10 2009 New Revision: 195234 URL: http://svn.freebsd.org/changeset/base/195234 Log: Revert something that snuck in. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/tools/tools/net80211/scripts/config Modified: projects/mesh11s/tools/tools/net80211/scripts/config ============================================================================== --- projects/mesh11s/tools/tools/net80211/scripts/config Wed Jul 1 10:15:04 2009 (r195233) +++ projects/mesh11s/tools/tools/net80211/scripts/config Wed Jul 1 10:16:10 2009 (r195234) @@ -39,8 +39,8 @@ test -z "$WIRELESS" && { echo "No wirele # fixed channel #CHANNEL=${1:-36:a} #CHANNEL=${1:-36:ht/20} -#CHANNEL=${1:-36} -CHANNEL=${1:-6:g} +CHANNEL=${1:-36} +#CHANNEL=${1:-6:g} #CHANNEL=${1:-6:b} # default WPA passphrase From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 13:30:01 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BACE11065670; Wed, 1 Jul 2009 13:30:01 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A55FD8FC13; Wed, 1 Jul 2009 13:30:01 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61DU153013946; Wed, 1 Jul 2009 13:30:01 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61DU1Vk013941; Wed, 1 Jul 2009 13:30:01 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200907011330.n61DU1Vk013941@svn.freebsd.org> From: Lawrence Stewart Date: Wed, 1 Jul 2009 13:30:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195239 - projects/tcp_cc_8.x/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 13:30:02 -0000 Author: lstewart Date: Wed Jul 1 13:30:01 2009 New Revision: 195239 URL: http://svn.freebsd.org/changeset/base/195239 Log: Create a set of CC related hook function wrappers around the algorithm specific hook function calls. These wrappers provide a place to do various asserts and place code that is algorithm agnostic. There is scope to move more code into some of these wrappers than has been done so far. It may also be beneficial to optimise for the case where the system default algorithm is in use for the connection and there are no other algorithms available e.g. don't indirect through the tcpcb and call the default algorithm's function directly. Not sure what savings could be made if any, but probably worth exploring. Modified: projects/tcp_cc_8.x/sys/netinet/cc.c projects/tcp_cc_8.x/sys/netinet/tcp_input.c projects/tcp_cc_8.x/sys/netinet/tcp_output.c projects/tcp_cc_8.x/sys/netinet/tcp_timer.c Modified: projects/tcp_cc_8.x/sys/netinet/cc.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc.c Wed Jul 1 13:22:08 2009 (r195238) +++ projects/tcp_cc_8.x/sys/netinet/cc.c Wed Jul 1 13:30:01 2009 (r195239) @@ -204,6 +204,12 @@ cc_deregister_algo(struct cc_algo *remov * Check all active control blocks and change any that are * using this algorithm back to newreno. If the algorithm that * was in use requires cleanup code to be run, call it. + * + * New connections already part way through being initialised + * with the CC algo we're removing will not race with this code + * because the INP_INFO_WLOCK is held during initialisation. + * We therefore don't enter the loop below until the connection + * list has stabilised. */ INP_INFO_RLOCK(&V_tcbinfo); LIST_FOREACH(inp, &V_tcb, inp_list) { Modified: projects/tcp_cc_8.x/sys/netinet/tcp_input.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_input.c Wed Jul 1 13:22:08 2009 (r195238) +++ projects/tcp_cc_8.x/sys/netinet/tcp_input.c Wed Jul 1 13:30:01 2009 (r195239) @@ -214,6 +214,59 @@ static void tcp_pulloutofband(struct so struct tcphdr *, struct mbuf *, int); static void tcp_xmit_timer(struct tcpcb *, int); static void tcp_newreno_partial_ack(struct tcpcb *, struct tcphdr *); +static void inline cc_ack_received(struct tcpcb *tp, struct tcphdr *th); +static void inline cc_cwnd_init(struct tcpcb *tp); +static void inline cc_pre_fr(struct tcpcb *tp, struct tcphdr *th); +static void inline cc_post_fr(struct tcpcb *tp, struct tcphdr *th); + +/* + * CC wrapper hook functions + */ +static void inline +cc_ack_received(struct tcpcb *tp, struct tcphdr *th) +{ + INP_WLOCK_ASSERT(tp->t_inpcb); + + if (!IN_FASTRECOVERY(tp) && CC_ALGO(tp)->ack_received != NULL) + CC_ALGO(tp)->ack_received(tp, th); +} + +static void inline +cc_cwnd_init(struct tcpcb *tp) +{ + INP_WLOCK_ASSERT(tp->t_inpcb); + + /* + * XXXLS: Should rename this hook and do + * ssthresh init in there as well + */ + + if (CC_ALGO(tp)->cwnd_init != NULL) + CC_ALGO(tp)->cwnd_init(tp); +} + +static void inline +cc_pre_fr(struct tcpcb *tp, struct tcphdr *th) +{ + INP_WLOCK_ASSERT(tp->t_inpcb); + + if (CC_ALGO(tp)->pre_fr != NULL) + CC_ALGO(tp)->pre_fr(tp, th); + + ENTER_FASTRECOVERY(tp); + tp->snd_recover = tp->snd_max; + if (tp->t_flags & TF_ECN_PERMIT) + tp->t_flags |= TF_ECN_SND_CWR; +} + +static void inline +cc_post_fr(struct tcpcb *tp, struct tcphdr *th) +{ + INP_WLOCK_ASSERT(tp->t_inpcb); + + if (CC_ALGO(tp)->post_fr != NULL) + CC_ALGO(tp)->post_fr(tp, th); +} /* Neighbor Discovery, Neighbor Unreachability Detection Upper layer hint. */ #ifdef INET6 @@ -1160,17 +1213,7 @@ tcp_do_segment(struct mbuf *m, struct tc if ((thflags & TH_ECE) && SEQ_LEQ(th->th_ack, tp->snd_recover)) { TCPSTAT_INC(tcps_ecn_rcwnd); - /* - * If the current CC algo has - * defined a hook for tasks to run - * before entering FR, call it. - */ - if (CC_ALGO(tp)->pre_fr != NULL) - CC_ALGO(tp)->pre_fr(tp, th); - ENTER_FASTRECOVERY(tp); - tp->snd_recover = tp->snd_max; - if (tp->t_flags & TF_ECN_PERMIT) - tp->t_flags |= TF_ECN_SND_CWR; + cc_pre_fr(tp, th); } } @@ -2105,17 +2148,7 @@ tcp_do_segment(struct mbuf *m, struct tc } } - /* - * If the current CC algo has - * defined a hook for tasks to run - * before entering FR, call it. - */ - if (CC_ALGO(tp)->pre_fr != NULL) - CC_ALGO(tp)->pre_fr(tp, th); - ENTER_FASTRECOVERY(tp); - tp->snd_recover = tp->snd_max; - if (tp->t_flags & TF_ECN_PERMIT) - tp->t_flags |= TF_ECN_SND_CWR; + cc_pre_fr(tp, th); tcp_timer_activate(tp, TT_REXMT, 0); tp->t_rtttime = 0; if (tp->t_flags & TF_SACK_PERMIT) { @@ -2186,10 +2219,8 @@ tcp_do_segment(struct mbuf *m, struct tc tcp_sack_partialack(tp, th); else tcp_newreno_partial_ack(tp, th); - } else { - if (CC_ALGO(tp)->post_fr != NULL) - CC_ALGO(tp)->post_fr(tp, th); - } + } else + cc_post_fr(tp, th); } tp->t_dupacks = 0; /* @@ -2292,10 +2323,8 @@ process_ACK: * The specifics of how this is achieved are up to the * congestion control algorithm in use for this connection. */ - if (!IN_FASTRECOVERY(tp)) { - if (CC_ALGO(tp)->ack_received != NULL) - CC_ALGO(tp)->ack_received(tp, th); - } + cc_ack_received(tp, th); + SOCKBUF_LOCK(&so->so_snd); if (acked > so->so_snd.sb_cc) { tp->snd_wnd -= so->so_snd.sb_cc; @@ -3274,9 +3303,7 @@ tcp_mss(struct tcpcb *tp, int offer) if (metrics.rmx_bandwidth) tp->snd_bandwidth = metrics.rmx_bandwidth; - /* Set the initial cwnd value. */ - if (CC_ALGO(tp)->cwnd_init != NULL) - CC_ALGO(tp)->cwnd_init(tp); + cc_cwnd_init(tp); /* Check the interface for TSO capabilities. */ if (mtuflags & CSUM_TSO) Modified: projects/tcp_cc_8.x/sys/netinet/tcp_output.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_output.c Wed Jul 1 13:22:08 2009 (r195238) +++ projects/tcp_cc_8.x/sys/netinet/tcp_output.c Wed Jul 1 13:30:01 2009 (r195239) @@ -125,6 +125,19 @@ SYSCTL_V_INT(V_NET, vnet_inet, _net_inet CTLFLAG_RW, tcp_autosndbuf_max, 0, "Max size of automatic send buffer"); +static void inline cc_after_idle(struct tcpcb *tp); + +/* + * CC wrapper hook functions + */ +static void inline +cc_after_idle(struct tcpcb *tp) +{ + INP_WLOCK_ASSERT(tp->t_inpcb); + + if (CC_ALGO(tp)->after_idle != NULL) + CC_ALGO(tp)->after_idle(tp); +} /* * Tcp output routine: figure out what should be sent and send it. @@ -169,11 +182,8 @@ tcp_output(struct tcpcb *tp) * to send, then transmit; otherwise, investigate further. */ idle = (tp->t_flags & TF_LASTIDLE) || (tp->snd_max == tp->snd_una); - if (idle && ticks - tp->t_rcvtime >= tp->t_rxtcur) { - /* reset cwnd after a period of idleness */ - if (CC_ALGO(tp)->after_idle != NULL) - CC_ALGO(tp)->after_idle(tp); - } + if (idle && ticks - tp->t_rcvtime >= tp->t_rxtcur) + cc_after_idle(tp); tp->t_flags &= ~TF_LASTIDLE; if (idle) { if (tp->t_flags & TF_MORETOCOME) { Modified: projects/tcp_cc_8.x/sys/netinet/tcp_timer.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_timer.c Wed Jul 1 13:22:08 2009 (r195238) +++ projects/tcp_cc_8.x/sys/netinet/tcp_timer.c Wed Jul 1 13:30:01 2009 (r195239) @@ -118,6 +118,24 @@ int tcp_maxpersistidle; /* max idle time in persist */ int tcp_maxidle; +static void inline cc_after_timeout(struct tcpcb *tp); + +/* + * CC wrapper hook functions + */ +static void inline +cc_after_timeout(struct tcpcb *tp) +{ + INP_WLOCK_ASSERT(tp->t_inpcb); + + if (CC_ALGO(tp)->after_timeout != NULL) + CC_ALGO(tp)->after_timeout(tp); + + tp->t_dupacks = 0; + EXIT_FASTRECOVERY(tp); + tp->t_bytes_acked = 0; +} + /* * Tcp protocol timeout routine called every 500 ms. * Updates timestamps used for TCP @@ -555,12 +573,8 @@ tcp_timer_rexmt(void * xtp) */ tp->t_rtttime = 0; - if (CC_ALGO(tp)->after_timeout != NULL) - CC_ALGO(tp)->after_timeout(tp); + cc_after_timeout(tp); - tp->t_dupacks = 0; - EXIT_FASTRECOVERY(tp); - tp->t_bytes_acked = 0; (void) tcp_output(tp); out: From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 14:43:07 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 688221065689; Wed, 1 Jul 2009 14:43:07 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3CED08FC34; Wed, 1 Jul 2009 14:43:07 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61Eh7IL015605; Wed, 1 Jul 2009 14:43:07 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61Eh7Hv015602; Wed, 1 Jul 2009 14:43:07 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907011443.n61Eh7Hv015602@svn.freebsd.org> From: Rui Paulo Date: Wed, 1 Jul 2009 14:43:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195240 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 14:43:07 -0000 Author: rpaulo Date: Wed Jul 1 14:43:06 2009 New Revision: 195240 URL: http://svn.freebsd.org/changeset/base/195240 Log: Complete prep processing by checking path metric, seq no and hopcount. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_ioctl.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 13:30:01 2009 (r195239) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 14:43:06 2009 (r195240) @@ -800,16 +800,32 @@ hwmp_recv_prep(struct ieee80211vap *vap, } rt = hwmp_rt_find(vap, prep->prep_origaddr); - if (rt != NULL) { + if (rt == NULL) + return; + if (prep->prep_targetseq == rt->rt_seq) { + int useprep = 0; /* - * Build the rest of the entry. - * XXX check for SEQ and PREQ ID. + * Check if we already have a path to this node. + * If we do, check if this path reply contains a + * better route. */ - IEEE80211_ADDR_COPY(rt->rt_nexthop, wh->i_addr2); - rt->rt_nhops = prep->prep_hopcount; - rt->rt_lifetime = prep->prep_lifetime; - rt->rt_metric = prep->prep_metric; - } + if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) + useprep = 1; + else if (prep->prep_hopcount < rt->rt_nhops || + prep->prep_metric < rt->rt_metric) + useprep = 1; + if (useprep) { + IEEE80211_ADDR_COPY(rt->rt_nexthop, wh->i_addr2); + rt->rt_nhops = prep->prep_hopcount; + rt->rt_lifetime = prep->prep_lifetime; + rt->rt_metric = prep->prep_metric; + } + } else { + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, + "discard PREP from %s, wrong seqno %u", + ether_sprintf(prep->prep_origaddr), prep->prep_targetseq); + vap->iv_stats.is_hwmp_wrongseq++; + } /* * XXX: If it's for us and the AE bit is set, update the Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ioctl.h Wed Jul 1 13:30:01 2009 (r195239) +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.h Wed Jul 1 14:43:06 2009 (r195240) @@ -229,7 +229,10 @@ struct ieee80211_stats { uint32_t is_mesh_fwd_tooshort; /* mesh not fwd'd 'cuz no hdr */ uint32_t is_mesh_fwd_disabled; /* mesh not fwd'd 'cuz disabled */ uint32_t is_mesh_fwd_nopath; /* mesh not fwd'd 'cuz path unknown */ - uint32_t is_spare[11]; + + uint32_t is_hwmp_wrongseq; /* wrong hwmp seq no. */ + + uint32_t is_spare[10]; }; /* From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 15:11:24 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 123EB106568F; Wed, 1 Jul 2009 15:11:24 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DF3C18FC14; Wed, 1 Jul 2009 15:11:23 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61FBNI8016189; Wed, 1 Jul 2009 15:11:23 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61FBNVF016182; Wed, 1 Jul 2009 15:11:23 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200907011511.n61FBNVF016182@svn.freebsd.org> From: Lawrence Stewart Date: Wed, 1 Jul 2009 15:11:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195241 - projects/tcp_cc_8.x/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 15:11:28 -0000 Author: lstewart Date: Wed Jul 1 15:11:23 2009 New Revision: 195241 URL: http://svn.freebsd.org/changeset/base/195241 Log: Checkpoint commit part way through rename of cwnd_init hook to conn_init, which will now cover cwnd initialisation along with other bits and pieces. I think the newly named newreno_conn_init function can now be removed and all the code that's in it placed in the cc_conn_init() wrapper function. Modified: projects/tcp_cc_8.x/sys/netinet/cc.h projects/tcp_cc_8.x/sys/netinet/cc_cubic.c projects/tcp_cc_8.x/sys/netinet/cc_htcp.c projects/tcp_cc_8.x/sys/netinet/cc_module.h projects/tcp_cc_8.x/sys/netinet/cc_newreno.c projects/tcp_cc_8.x/sys/netinet/tcp_input.c Modified: projects/tcp_cc_8.x/sys/netinet/cc.h ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc.h Wed Jul 1 14:43:06 2009 (r195240) +++ projects/tcp_cc_8.x/sys/netinet/cc.h Wed Jul 1 15:11:23 2009 (r195241) @@ -78,9 +78,8 @@ struct cc_algo { /* Cleanup CC state for a terminating control block. */ void (*cb_destroy) (struct tcpcb *tp); - /* Init cwnd for a new connection. */ - /* XXXLS: could this be renamed conn_init or conn_established? */ - void (*cwnd_init) (struct tcpcb *tp); + /* Init variables for a newly established connection. */ + void (*conn_init) (struct tcpcb *tp); /* Called on receipt of a regular, valid ack. */ void (*ack_received) (struct tcpcb *tp, struct tcphdr *th); Modified: projects/tcp_cc_8.x/sys/netinet/cc_cubic.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_cubic.c Wed Jul 1 14:43:06 2009 (r195240) +++ projects/tcp_cc_8.x/sys/netinet/cc_cubic.c Wed Jul 1 15:11:23 2009 (r195241) @@ -70,7 +70,7 @@ void cubic_ack_received(struct tcpcb *tp void cubic_after_timeout(struct tcpcb *tp); void cubic_after_idle(struct tcpcb *tp); void cubic_ssthresh_update(struct tcpcb *tp); -void cubic_cwnd_init(struct tcpcb *tp); +void cubic_conn_init(struct tcpcb *tp); void cubic_record_rtt(struct tcpcb *tp); struct cubic { @@ -93,11 +93,9 @@ MALLOC_DEFINE(M_CUBIC, "cubic data", /* function pointers for various hooks into the TCP stack */ struct cc_algo cubic_cc_algo = { .name = "cubic", - .mod_init = NULL, - .mod_destroy = NULL, .cb_init = cubic_cb_init, .cb_destroy = cubic_cb_destroy, - .cwnd_init = cubic_cwnd_init, + .conn_init = cubic_conn_init, .ack_received = cubic_ack_received, .pre_fr = cubic_pre_fr, .post_fr = cubic_post_fr, @@ -106,11 +104,11 @@ struct cc_algo cubic_cc_algo = { }; void -cubic_cwnd_init(struct tcpcb *tp) +cubic_conn_init(struct tcpcb *tp) { struct cubic *cubic_data = CC_DATA(tp); - newreno_cwnd_init(tp); + newreno_conn_init(tp); /* * Ensure we have a sane initial value for max_cwnd recorded. Modified: projects/tcp_cc_8.x/sys/netinet/cc_htcp.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_htcp.c Wed Jul 1 14:43:06 2009 (r195240) +++ projects/tcp_cc_8.x/sys/netinet/cc_htcp.c Wed Jul 1 15:11:23 2009 (r195241) @@ -172,7 +172,7 @@ struct cc_algo htcp_cc_algo = { .mod_init = htcp_mod_init, .cb_init = htcp_cb_init, .cb_destroy = htcp_cb_destroy, - .cwnd_init = newreno_cwnd_init, + .conn_init = newreno_conn_init, .ack_received = htcp_ack_received, .pre_fr = htcp_pre_fr, .post_fr = htcp_post_fr, Modified: projects/tcp_cc_8.x/sys/netinet/cc_module.h ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_module.h Wed Jul 1 14:43:06 2009 (r195240) +++ projects/tcp_cc_8.x/sys/netinet/cc_module.h Wed Jul 1 15:11:23 2009 (r195241) @@ -40,7 +40,7 @@ * NewReno CC functions */ int newreno_cb_init(struct tcpcb *tp); -void newreno_cwnd_init(struct tcpcb *tp); +void newreno_conn_init(struct tcpcb *tp); void newreno_ack_received(struct tcpcb *tp, struct tcphdr *th); void newreno_pre_fr(struct tcpcb *tp, struct tcphdr *th); void newreno_post_fr(struct tcpcb *tp, struct tcphdr *th); Modified: projects/tcp_cc_8.x/sys/netinet/cc_newreno.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_newreno.c Wed Jul 1 14:43:06 2009 (r195240) +++ projects/tcp_cc_8.x/sys/netinet/cc_newreno.c Wed Jul 1 15:11:23 2009 (r195241) @@ -51,7 +51,7 @@ __FBSDID("$FreeBSD$"); struct cc_algo newreno_cc_algo = { .name = "newreno", .cb_init = newreno_cb_init, - .cwnd_init = newreno_cwnd_init, + .conn_init = newreno_conn_init, .ack_received = newreno_ack_received, .pre_fr = newreno_pre_fr, .post_fr = newreno_post_fr, @@ -89,7 +89,7 @@ newreno_ssthresh_update(struct tcpcb *tp * otherwise use the sysctl variables configured by the administrator */ void -newreno_cwnd_init(struct tcpcb *tp) +newreno_conn_init(struct tcpcb *tp) { struct hc_metrics_lite metrics; struct inpcb *inp = tp->t_inpcb; Modified: projects/tcp_cc_8.x/sys/netinet/tcp_input.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_input.c Wed Jul 1 14:43:06 2009 (r195240) +++ projects/tcp_cc_8.x/sys/netinet/tcp_input.c Wed Jul 1 15:11:23 2009 (r195241) @@ -215,7 +215,7 @@ static void tcp_pulloutofband(struct so static void tcp_xmit_timer(struct tcpcb *, int); static void tcp_newreno_partial_ack(struct tcpcb *, struct tcphdr *); static void inline cc_ack_received(struct tcpcb *tp, struct tcphdr *th); -static void inline cc_cwnd_init(struct tcpcb *tp); +static void inline cc_conn_init(struct tcpcb *tp); static void inline cc_pre_fr(struct tcpcb *tp, struct tcphdr *th); static void inline cc_post_fr(struct tcpcb *tp, struct tcphdr *th); @@ -232,17 +232,16 @@ cc_ack_received(struct tcpcb *tp, struct } static void inline -cc_cwnd_init(struct tcpcb *tp) +cc_conn_init(struct tcpcb *tp) { INP_WLOCK_ASSERT(tp->t_inpcb); /* - * XXXLS: Should rename this hook and do - * ssthresh init in there as well + * XXXLS: Should do ssthresh init in there as well */ - if (CC_ALGO(tp)->cwnd_init != NULL) - CC_ALGO(tp)->cwnd_init(tp); + if (CC_ALGO(tp)->conn_init != NULL) + CC_ALGO(tp)->conn_init(tp); } static void inline @@ -1632,6 +1631,7 @@ tcp_do_segment(struct mbuf *m, struct tc thflags &= ~TH_SYN; } else { tp->t_state = TCPS_ESTABLISHED; + cc_conn_init(tp); tcp_timer_activate(tp, TT_KEEP, tcp_keepidle); } } else { @@ -2035,6 +2035,7 @@ tcp_do_segment(struct mbuf *m, struct tc tp->t_flags &= ~TF_NEEDFIN; } else { tp->t_state = TCPS_ESTABLISHED; + cc_conn_init(tp); tcp_timer_activate(tp, TT_KEEP, tcp_keepidle); } /* @@ -3303,8 +3304,6 @@ tcp_mss(struct tcpcb *tp, int offer) if (metrics.rmx_bandwidth) tp->snd_bandwidth = metrics.rmx_bandwidth; - cc_cwnd_init(tp); - /* Check the interface for TSO capabilities. */ if (mtuflags & CSUM_TSO) tp->t_flags |= TF_TSO; From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 17:06:58 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D144106568C; Wed, 1 Jul 2009 17:06:58 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7BD518FC0A; Wed, 1 Jul 2009 17:06:56 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61H6uY8018690; Wed, 1 Jul 2009 17:06:56 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61H6uDB018684; Wed, 1 Jul 2009 17:06:56 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200907011706.n61H6uDB018684@svn.freebsd.org> From: Lawrence Stewart Date: Wed, 1 Jul 2009 17:06:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195248 - projects/tcp_cc_8.x/sys/netinet X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 17:06:58 -0000 Author: lstewart Date: Wed Jul 1 17:06:56 2009 New Revision: 195248 URL: http://svn.freebsd.org/changeset/base/195248 Log: - Complete the cwnd_init -> conn_init hook function transition. - Hide newreno hook functions from global namespace and access functions through the newreno_cc_algo struct. Unfortunately, we can no longer use C99 initializers to do all the hook function assignments as a result of this change, so do the remainder in the mod_init hook. - Remove the no longer required htcp_after_idle, newreno_cb_init and newreno_conn_init functions. Modified: projects/tcp_cc_8.x/sys/netinet/cc_cubic.c projects/tcp_cc_8.x/sys/netinet/cc_htcp.c projects/tcp_cc_8.x/sys/netinet/cc_module.h projects/tcp_cc_8.x/sys/netinet/cc_newreno.c projects/tcp_cc_8.x/sys/netinet/tcp_input.c Modified: projects/tcp_cc_8.x/sys/netinet/cc_cubic.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_cubic.c Wed Jul 1 16:56:56 2009 (r195247) +++ projects/tcp_cc_8.x/sys/netinet/cc_cubic.c Wed Jul 1 17:06:56 2009 (r195248) @@ -62,6 +62,7 @@ __FBSDID("$FreeBSD$"); #include /* function prototypes */ +int cubic_mod_init(void); int cubic_cb_init(struct tcpcb *tp); void cubic_cb_destroy(struct tcpcb *tp); void cubic_pre_fr(struct tcpcb *tp, struct tcphdr *th); @@ -93,23 +94,28 @@ MALLOC_DEFINE(M_CUBIC, "cubic data", /* function pointers for various hooks into the TCP stack */ struct cc_algo cubic_cc_algo = { .name = "cubic", + .mod_init = cubic_mod_init, .cb_init = cubic_cb_init, .cb_destroy = cubic_cb_destroy, .conn_init = cubic_conn_init, .ack_received = cubic_ack_received, .pre_fr = cubic_pre_fr, .post_fr = cubic_post_fr, - .after_idle = newreno_after_idle, .after_timeout = cubic_after_timeout }; +int +cubic_mod_init(void) +{ + cubic_cc_algo.after_idle = newreno_cc_algo.after_idle; + return (0); +} + void cubic_conn_init(struct tcpcb *tp) { struct cubic *cubic_data = CC_DATA(tp); - newreno_conn_init(tp); - /* * Ensure we have a sane initial value for max_cwnd recorded. * Without this here bad things happen when entries from @@ -253,7 +259,7 @@ cubic_ack_received(struct tcpcb *tp, str if ((tp->snd_cwnd < tp->snd_ssthresh) || (tp->snd_ssthresh == TCP_MAXWIN << TCP_MAX_WINSHIFT) || (cubic_data->min_rtt_ticks == TCPTV_SRTTBASE)) - newreno_ack_received(tp, th); + newreno_cc_algo.ack_received(tp, th); else { /* num ticks since last congestion */ ticks_since_cong = ticks - cubic_data->t_last_cong; @@ -339,7 +345,7 @@ cubic_after_timeout(struct tcpcb *tp) if (tp->t_rxtshift >= 2) cubic_data->t_last_cong = ticks; - newreno_after_timeout(tp); + newreno_cc_algo.after_timeout(tp); } /* Modified: projects/tcp_cc_8.x/sys/netinet/cc_htcp.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_htcp.c Wed Jul 1 16:56:56 2009 (r195247) +++ projects/tcp_cc_8.x/sys/netinet/cc_htcp.c Wed Jul 1 17:06:56 2009 (r195248) @@ -140,7 +140,6 @@ void htcp_pre_fr(struct tcpcb *tp, struc void htcp_post_fr(struct tcpcb *tp, struct tcphdr *th); void htcp_ack_received(struct tcpcb *tp, struct tcphdr *th); void htcp_after_timeout(struct tcpcb *tp); -void htcp_after_idle(struct tcpcb *tp); void htcp_ssthresh_update(struct tcpcb *tp); void htcp_record_rtt(struct tcpcb *tp); @@ -172,11 +171,9 @@ struct cc_algo htcp_cc_algo = { .mod_init = htcp_mod_init, .cb_init = htcp_cb_init, .cb_destroy = htcp_cb_destroy, - .conn_init = newreno_conn_init, .ack_received = htcp_ack_received, .pre_fr = htcp_pre_fr, .post_fr = htcp_post_fr, - .after_idle = htcp_after_idle, .after_timeout = htcp_after_timeout }; @@ -435,7 +432,7 @@ htcp_ack_received(struct tcpcb *tp, stru * Alpha will equal 1 for the first HTCP_DELTA_L ticks after the flow starts and after congestion */ if (htcp_data->alpha == 1 || tp->snd_cwnd < tp->snd_ssthresh) - newreno_ack_received(tp, th); + newreno_cc_algo.ack_received(tp, th); else { /* @@ -449,13 +446,6 @@ htcp_ack_received(struct tcpcb *tp, stru } } -void -htcp_after_idle(struct tcpcb *tp) -{ - printf("after_idle hook called\n"); - newreno_after_idle(tp); -} - /* * Reset the cwnd after a retransmission timeout */ @@ -475,7 +465,7 @@ htcp_after_timeout(struct tcpcb *tp) if (tp->t_rxtshift >= 2) htcp_data->t_last_cong = ticks; - newreno_after_timeout(tp); + newreno_cc_algo.after_timeout(tp); } /* @@ -545,6 +535,9 @@ skip: int htcp_mod_init(void) { + + htcp_cc_algo.after_idle = newreno_cc_algo.after_idle; + /* * the maximum time in ticks after a congestion event before alpha stops * increasing, due to the risk of overflow. Modified: projects/tcp_cc_8.x/sys/netinet/cc_module.h ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_module.h Wed Jul 1 16:56:56 2009 (r195247) +++ projects/tcp_cc_8.x/sys/netinet/cc_module.h Wed Jul 1 17:06:56 2009 (r195248) @@ -36,18 +36,6 @@ #ifndef _NETINET_CC_MODULE_H_ #define _NETINET_CC_MODULE_H_ -/* - * NewReno CC functions - */ -int newreno_cb_init(struct tcpcb *tp); -void newreno_conn_init(struct tcpcb *tp); -void newreno_ack_received(struct tcpcb *tp, struct tcphdr *th); -void newreno_pre_fr(struct tcpcb *tp, struct tcphdr *th); -void newreno_post_fr(struct tcpcb *tp, struct tcphdr *th); -void newreno_after_idle(struct tcpcb *tp); -void newreno_after_timeout(struct tcpcb *tp); -void newreno_ssthresh_update(struct tcpcb *tp); - #define DECLARE_CC_MODULE(ccname, ccalgo) \ static moduledata_t cc_##ccname = { \ #ccname, \ Modified: projects/tcp_cc_8.x/sys/netinet/cc_newreno.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/cc_newreno.c Wed Jul 1 16:56:56 2009 (r195247) +++ projects/tcp_cc_8.x/sys/netinet/cc_newreno.c Wed Jul 1 17:06:56 2009 (r195248) @@ -47,94 +47,25 @@ __FBSDID("$FreeBSD$"); #include #include +/* + * NewReno CC functions + */ +void newreno_ack_received(struct tcpcb *tp, struct tcphdr *th); +void newreno_ssthresh_update(struct tcpcb *tp, struct tcphdr *th); +void newreno_post_fr(struct tcpcb *tp, struct tcphdr *th); +void newreno_after_idle(struct tcpcb *tp); +void newreno_after_timeout(struct tcpcb *tp); + /* newreno cc function pointers */ struct cc_algo newreno_cc_algo = { .name = "newreno", - .cb_init = newreno_cb_init, - .conn_init = newreno_conn_init, .ack_received = newreno_ack_received, - .pre_fr = newreno_pre_fr, + .pre_fr = newreno_ssthresh_update, .post_fr = newreno_post_fr, .after_idle = newreno_after_idle, .after_timeout = newreno_after_timeout }; -int -newreno_cb_init(struct tcpcb *tp) -{ - return 0; -} - -/* - * update ssthresh to approx 1/2 of cwnd - */ -void -newreno_ssthresh_update(struct tcpcb *tp) -{ - u_int win; - - /* reset ssthresh */ - win = min(tp->snd_wnd, tp->snd_cwnd) / 2 / tp->t_maxseg; - - if (win < 2) - win = 2; - - tp->snd_ssthresh = win * tp->t_maxseg; -} - -/* - * initial cwnd at the start of a connection - * if there is a hostcache entry for the foreign host, base cwnd on that - * if rfc3390 is enabled, set cwnd to approx 4 MSS as recommended - * otherwise use the sysctl variables configured by the administrator - */ -void -newreno_conn_init(struct tcpcb *tp) -{ - struct hc_metrics_lite metrics; - struct inpcb *inp = tp->t_inpcb; - struct socket *so = inp->inp_socket; - - /* - * Set the slow-start flight size depending on whether this - * is a local network or not. - * - * Extend this so we cache the cwnd too and retrieve it here. - * Make cwnd even bigger than RFC3390 suggests but only if we - * have previous experience with the remote host. Be careful - * not make cwnd bigger than remote receive window or our own - * send socket buffer. Maybe put some additional upper bound - * on the retrieved cwnd. Should do incremental updates to - * hostcache when cwnd collapses so next connection doesn't - * overloads the path again. - * - * RFC3390 says only do this if SYN or SYN/ACK didn't got lost. - * We currently check only in syncache_socket for that. - */ - - tcp_hc_get(&inp->inp_inc, &metrics); - -#define TCP_METRICS_CWND -#ifdef TCP_METRICS_CWND - if (metrics.rmx_cwnd) - tp->snd_cwnd = max(tp->t_maxseg, - min(metrics.rmx_cwnd / 2, - min(tp->snd_wnd, so->so_snd.sb_hiwat))); - else -#endif - if (V_tcp_do_rfc3390) - tp->snd_cwnd = min(4 * tp->t_maxseg, max(2 * tp->t_maxseg, 4380)); -#ifdef INET6 - else if ((isipv6 && in6_localaddr(&inp->in6p_faddr)) || - (!isipv6 && in_localaddr(inp->inp_faddr))) -#else - else if (in_localaddr(inp->inp_faddr)) -#endif - tp->snd_cwnd = tp->t_maxseg * V_ss_fltsz_local; - else - tp->snd_cwnd = tp->t_maxseg * V_ss_fltsz; -} - /* * increase cwnd on receipt of a successful ACK * if cwnd <= ssthresh, increases by 1 MSS per ACK @@ -160,12 +91,22 @@ newreno_ack_received(struct tcpcb *tp, s } /* - * update the value of ssthresh before entering FR + * update ssthresh to approx 1/2 of cwnd + * argument "th" is unsued but required so that the function can + * masquerade as a pre_fr hook function */ void -newreno_pre_fr(struct tcpcb *tp, struct tcphdr *th) +newreno_ssthresh_update(struct tcpcb *tp, struct tcphdr *th) { - newreno_ssthresh_update(tp); + u_int win; + + /* reset ssthresh */ + win = min(tp->snd_wnd, tp->snd_cwnd) / 2 / tp->t_maxseg; + + if (win < 2) + win = 2; + + tp->snd_ssthresh = win * tp->t_maxseg; } /* @@ -230,7 +171,7 @@ newreno_after_idle(struct tcpcb *tp) void newreno_after_timeout(struct tcpcb *tp) { - newreno_ssthresh_update(tp); + newreno_ssthresh_update(tp, NULL); /* * Close the congestion window down to one segment Modified: projects/tcp_cc_8.x/sys/netinet/tcp_input.c ============================================================================== --- projects/tcp_cc_8.x/sys/netinet/tcp_input.c Wed Jul 1 16:56:56 2009 (r195247) +++ projects/tcp_cc_8.x/sys/netinet/tcp_input.c Wed Jul 1 17:06:56 2009 (r195248) @@ -234,11 +234,83 @@ cc_ack_received(struct tcpcb *tp, struct static void inline cc_conn_init(struct tcpcb *tp) { + struct hc_metrics_lite metrics; + struct inpcb *inp = tp->t_inpcb; + struct socket *so = inp->inp_socket; + int rtt; +#ifdef INET6 + int isipv6 = ((inp->inp_vflag & INP_IPV6) != 0) ? 1 : 0; +#endif + INP_WLOCK_ASSERT(tp->t_inpcb); + tcp_hc_get(&inp->inp_inc, &metrics); + + if (tp->t_srtt == 0 && (rtt = metrics.rmx_rtt)) { + tp->t_srtt = rtt; + tp->t_rttbest = tp->t_srtt + TCP_RTT_SCALE; + TCPSTAT_INC(tcps_usedrtt); + if (metrics.rmx_rttvar) { + tp->t_rttvar = metrics.rmx_rttvar; + TCPSTAT_INC(tcps_usedrttvar); + } else { + /* default variation is +- 1 rtt */ + tp->t_rttvar = + tp->t_srtt * TCP_RTTVAR_SCALE / TCP_RTT_SCALE; + } + TCPT_RANGESET(tp->t_rxtcur, + ((tp->t_srtt >> 2) + tp->t_rttvar) >> 1, + tp->t_rttmin, TCPTV_REXMTMAX); + } + if (metrics.rmx_ssthresh) { + /* + * There's some sort of gateway or interface + * buffer limit on the path. Use this to set + * the slow start threshhold, but set the + * threshold to no less than 2*mss. + */ + tp->snd_ssthresh = max(2 * tp->t_maxseg, metrics.rmx_ssthresh); + TCPSTAT_INC(tcps_usedssthresh); + } + if (metrics.rmx_bandwidth) + tp->snd_bandwidth = metrics.rmx_bandwidth; + /* - * XXXLS: Should do ssthresh init in there as well + * Set the slow-start flight size depending on whether this + * is a local network or not. + * + * Extend this so we cache the cwnd too and retrieve it here. + * Make cwnd even bigger than RFC3390 suggests but only if we + * have previous experience with the remote host. Be careful + * not make cwnd bigger than remote receive window or our own + * send socket buffer. Maybe put some additional upper bound + * on the retrieved cwnd. Should do incremental updates to + * hostcache when cwnd collapses so next connection doesn't + * overloads the path again. + * + * RFC3390 says only do this if SYN or SYN/ACK didn't got lost. + * We currently check only in syncache_socket for that. */ +#define TCP_METRICS_CWND +#ifdef TCP_METRICS_CWND + if (metrics.rmx_cwnd) + tp->snd_cwnd = max(tp->t_maxseg, + min(metrics.rmx_cwnd / 2, + min(tp->snd_wnd, so->so_snd.sb_hiwat))); + else +#endif + if (V_tcp_do_rfc3390) + tp->snd_cwnd = min(4 * tp->t_maxseg, max(2 * tp->t_maxseg, +4380)); +#ifdef INET6 + else if ((isipv6 && in6_localaddr(&inp->in6p_faddr)) || + (!isipv6 && in_localaddr(inp->inp_faddr))) +#else + else if (in_localaddr(inp->inp_faddr)) +#endif + tp->snd_cwnd = tp->t_maxseg * V_ss_fltsz_local; + else + tp->snd_cwnd = tp->t_maxseg * V_ss_fltsz; if (CC_ALGO(tp)->conn_init != NULL) CC_ALGO(tp)->conn_init(tp); @@ -3214,15 +3286,13 @@ tcp_mss_update(struct tcpcb *tp, int off void tcp_mss(struct tcpcb *tp, int offer) { - int rtt, mss; + int mss; u_long bufsize; struct inpcb *inp; struct socket *so; struct hc_metrics_lite metrics; int mtuflags = 0; -#ifdef INET6 - int isipv6; -#endif + KASSERT(tp != NULL, ("%s: tp == NULL", __func__)); INIT_VNET_INET(tp->t_vnet); @@ -3230,9 +3300,6 @@ tcp_mss(struct tcpcb *tp, int offer) mss = tp->t_maxseg; inp = tp->t_inpcb; -#ifdef INET6 - isipv6 = ((inp->inp_vflag & INP_IPV6) != 0) ? 1 : 0; -#endif /* * If there's a pipesize, change the socket buffer to that size, @@ -3272,37 +3339,6 @@ tcp_mss(struct tcpcb *tp, int offer) (void)sbreserve_locked(&so->so_rcv, bufsize, so, NULL); } SOCKBUF_UNLOCK(&so->so_rcv); - /* - * While we're here, check the others too. - */ - if (tp->t_srtt == 0 && (rtt = metrics.rmx_rtt)) { - tp->t_srtt = rtt; - tp->t_rttbest = tp->t_srtt + TCP_RTT_SCALE; - TCPSTAT_INC(tcps_usedrtt); - if (metrics.rmx_rttvar) { - tp->t_rttvar = metrics.rmx_rttvar; - TCPSTAT_INC(tcps_usedrttvar); - } else { - /* default variation is +- 1 rtt */ - tp->t_rttvar = - tp->t_srtt * TCP_RTTVAR_SCALE / TCP_RTT_SCALE; - } - TCPT_RANGESET(tp->t_rxtcur, - ((tp->t_srtt >> 2) + tp->t_rttvar) >> 1, - tp->t_rttmin, TCPTV_REXMTMAX); - } - if (metrics.rmx_ssthresh) { - /* - * There's some sort of gateway or interface - * buffer limit on the path. Use this to set - * the slow start threshhold, but set the - * threshold to no less than 2*mss. - */ - tp->snd_ssthresh = max(2 * mss, metrics.rmx_ssthresh); - TCPSTAT_INC(tcps_usedssthresh); - } - if (metrics.rmx_bandwidth) - tp->snd_bandwidth = metrics.rmx_bandwidth; /* Check the interface for TSO capabilities. */ if (mtuflags & CSUM_TSO) From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 22:06:13 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 339FB106564A; Wed, 1 Jul 2009 22:06:13 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 170F68FC14; Wed, 1 Jul 2009 22:06:13 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61M6CRW025181; Wed, 1 Jul 2009 22:06:12 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61M6CaI025178; Wed, 1 Jul 2009 22:06:12 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907012206.n61M6CaI025178@svn.freebsd.org> From: Rui Paulo Date: Wed, 1 Jul 2009 22:06:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195260 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 22:06:13 -0000 Author: rpaulo Date: Wed Jul 1 22:06:12 2009 New Revision: 195260 URL: http://svn.freebsd.org/changeset/base/195260 Log: * add more stats * check for 802.11 seq no. * fix forwarding direction check (by sam) * move RSSI/noise setup below * fix a case of peer localid == 0 Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ioctl.h Wed Jul 1 20:43:46 2009 (r195259) +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.h Wed Jul 1 22:06:12 2009 (r195260) @@ -224,6 +224,8 @@ struct ieee80211_stats { uint32_t is_ampdu_rexmt; /* A-MPDU frames rexmt ok */ uint32_t is_ampdu_rexmt_fail; /* A-MPDU frames rexmt fail */ + uint32_t is_mesh_wrongmesh; /* dropped 'cuz not mesh sta*/ + uint32_t is_mesh_nolink; /* dropped 'cuz link not estab*/ uint32_t is_mesh_fwd_ttl; /* mesh not fwd'd 'cuz ttl 0 */ uint32_t is_mesh_fwd_nobuf; /* mesh not fwd'd 'cuz no mbuf*/ uint32_t is_mesh_fwd_tooshort; /* mesh not fwd'd 'cuz no hdr */ @@ -232,7 +234,7 @@ struct ieee80211_stats { uint32_t is_hwmp_wrongseq; /* wrong hwmp seq no. */ - uint32_t is_spare[10]; + uint32_t is_spare[8]; }; /* Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 20:43:46 2009 (r195259) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Wed Jul 1 22:06:12 2009 (r195260) @@ -421,8 +421,10 @@ mesh_forward(struct ieee80211vap *vap, s } static int -mesh_input(struct ieee80211_node *ni, struct mbuf *m, int rssi, int noise) +mesh_input(struct ieee80211_node *ni, struct mbuf *m, int rssi, int nf) { +#define SEQ_LEQ(a,b) ((int)((a)-(b)) <= 0) +#define HAS_SEQ(type) ((type & 0x4) == 0) struct ieee80211vap *vap = ni->ni_vap; struct ieee80211com *ic = ni->ni_ic; struct ifnet *ifp = vap->iv_ifp; @@ -432,6 +434,7 @@ mesh_input(struct ieee80211_node *ni, st uint8_t dir, type, subtype, qos; uint32_t seq; uint8_t *addr; + ieee80211_seq rxseq; KASSERT(ni != NULL, ("null node")); ni->ni_inact = ni->ni_inact_reload; @@ -465,8 +468,36 @@ mesh_input(struct ieee80211_node *ni, st type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; if ((ic->ic_flags & IEEE80211_F_SCAN) == 0) { + IEEE80211_RSSI_LPF(ni->ni_avgrssi, rssi); + ni->ni_noise = nf; + if (HAS_SEQ(type)) { + uint8_t tid = ieee80211_gettid(wh); + + if (IEEE80211_QOS_HAS_SEQ(wh) && + TID_TO_WME_AC(tid) >= WME_AC_VI) + ic->ic_wme.wme_hipri_traffic++; + rxseq = le16toh(*(uint16_t *)wh->i_seq); + if ((ni->ni_flags & IEEE80211_NODE_HT) == 0 && + (wh->i_fc[1] & IEEE80211_FC1_RETRY) && + SEQ_LEQ(rxseq, ni->ni_rxseqs[tid])) { + /* duplicate, discard */ + IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_INPUT, + wh->i_addr1, "duplicate", + "seqno <%u,%u> fragno <%u,%u> tid %u", + rxseq >> IEEE80211_SEQ_SEQ_SHIFT, + ni->ni_rxseqs[tid] >> + IEEE80211_SEQ_SEQ_SHIFT, + rxseq & IEEE80211_SEQ_FRAG_MASK, + ni->ni_rxseqs[tid] & + IEEE80211_SEQ_FRAG_MASK, + tid); + vap->iv_stats.is_rx_dup++; + IEEE80211_NODE_STAT(ni, rx_dup); + goto out; + } + ni->ni_rxseqs[tid] = rxseq; + } } - #ifdef IEEE80211_DEBUG /* * It's easier, but too expensive, to simulate different mesh @@ -486,15 +517,12 @@ mesh_input(struct ieee80211_node *ni, st case IEEE80211_FC0_TYPE_DATA: if (ni == vap->iv_bss) goto out; -#if 0 - IEEE80211_NOTE(vap, IEEE80211_MSG_MESH, ni, - "received data frame, dir 0x%x", dir); -#endif if (ni->ni_mlstate != IEEE80211_NODE_MESH_ESTABLISHED) { IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_MESH, ni->ni_macaddr, NULL, "peer link not yet established (%d)", ni->ni_mlstate); + vap->iv_stats.is_mesh_nolink++; goto out; } if (dir != IEEE80211_FC1_DIR_FROMDS && @@ -547,24 +575,19 @@ mesh_input(struct ieee80211_node *ni, st vap->iv_stats.is_rx_dup++; goto out; } + /* - * Forward and deliver multicast packets - * XXX tap fwd'd packets not for us? - */ - if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { - mesh_forward(vap, m, mc); - goto deliver; - } - /* - * Forward packets if their final destination is not us. + * Potentially forward packet. See table s36 (p140) + * for the rules. XXX tap fwd'd packets not for us? */ - if (!IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr3) && - IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr1)) { + if (dir == IEEE80211_FC1_DIR_FROMDS || + !IEEE80211_ADDR_EQ(wh->i_addr3, vap->iv_myaddr)) { mesh_forward(vap, m, mc); - /* NB: don't deliver */ - goto out; + if (dir == IEEE80211_FC1_DIR_DSTODS) + goto out; + /* NB: fall thru to deliver mcast frames locally */ } -deliver: + /* * Save QoS bits for use below--before we strip the header. */ @@ -650,7 +673,7 @@ deliver: vap->iv_stats.is_rx_mgtdiscard++; /* XXX */ goto out; } - vap->iv_recv_mgmt(ni, m, subtype, rssi, noise); + vap->iv_recv_mgmt(ni, m, subtype, rssi, nf); goto out; case IEEE80211_FC0_TYPE_CTL: vap->iv_stats.is_rx_ctl++; @@ -692,7 +715,7 @@ is11bclient(const uint8_t *rates, const static void mesh_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, int subtype, - int rssi, int noise) + int rssi, int nf) { struct ieee80211vap *vap = ni->ni_vap; struct ieee80211_mesh_state *ms = vap->iv_mesh; @@ -739,7 +762,7 @@ mesh_recv_mgmt(struct ieee80211_node *ni ic->ic_flags_ext &= ~IEEE80211_FEXT_PROBECHAN; } ieee80211_add_scan(vap, &scan, wh, - subtype, rssi, noise); + subtype, rssi, nf); return; } @@ -754,6 +777,7 @@ mesh_recv_mgmt(struct ieee80211_node *ni scan.meshid == NULL || scan.meshconf == NULL) { IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT, wh, "beacon", "%s", "not a mesh sta"); + vap->iv_stats.is_mesh_wrongmesh++; return; } /* @@ -764,6 +788,7 @@ mesh_recv_mgmt(struct ieee80211_node *ni (struct ieee80211_meshconf_ie *)scan.meshconf)) { IEEE80211_DISCARD(vap, IEEE80211_MSG_INPUT, wh, "beacon", "%s", "not for our mesh"); + vap->iv_stats.is_mesh_wrongmesh++; return; } /* @@ -809,8 +834,6 @@ mesh_recv_mgmt(struct ieee80211_node *ni ni->ni_mlrcnt = 0; mesh_peer_timeout_setup(ni); } - IEEE80211_RSSI_LPF(ni->ni_avgrssi, rssi); - ni->ni_noise = noise; break; } case IEEE80211_FC0_SUBTYPE_PROBE_REQ: @@ -939,6 +962,7 @@ mesh_recv_action(struct ieee80211_node * if (ni == vap->iv_bss) { IEEE80211_DISCARD(vap, IEEE80211_MSG_MESH, wh, NULL, "%s", "unknown node"); + vap->iv_stats.is_tx_nonode++; return; } @@ -1184,8 +1208,8 @@ mesh_recv_action(struct ieee80211_node * IEEE80211_NODE_MESH_CONFIRMRCV); break; case IEEE80211_NODE_MESH_HOLDING: - sargs.arg[0] = ni->ni_mllid; - sargs.arg[1] = ni->ni_mlpid; + sargs.arg[0] = ni->ni_mlpid; + sargs.arg[1] = meshpeer->peer_llinkid; sargs.arg[2] = IEEE80211_REASON_MESH_MAX_RETRIES; ieee80211_send_action(ni, From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 22:15:04 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F05741065670; Wed, 1 Jul 2009 22:15:04 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DEEFF8FC18; Wed, 1 Jul 2009 22:15:04 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61MF40T025436; Wed, 1 Jul 2009 22:15:04 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61MF4Wj025434; Wed, 1 Jul 2009 22:15:04 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907012215.n61MF4Wj025434@svn.freebsd.org> From: Rui Paulo Date: Wed, 1 Jul 2009 22:15:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195261 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 22:15:05 -0000 Author: rpaulo Date: Wed Jul 1 22:15:04 2009 New Revision: 195261 URL: http://svn.freebsd.org/changeset/base/195261 Log: Enable back ageq and automatic reverse path discovery now that they seem to work ok. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 22:06:12 2009 (r195260) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 22:15:04 2009 (r195261) @@ -606,7 +606,6 @@ hwmp_recv_preq(struct ieee80211vap *vap, IEEE80211_ADDR_COPY(prep.prep_origaddr, vap->iv_myaddr); prep.prep_origseq = hs->hs_seq++; hwmp_send_prep(ni, vap->iv_myaddr, wh->i_addr2, &prep); -#if 0 /* * Build the reverse path, if we don't have it already. */ @@ -617,7 +616,6 @@ hwmp_recv_preq(struct ieee80211vap *vap, ieee80211_hwmp_discover(vap, dest, NULL); } else if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) ieee80211_hwmp_discover(vap, rt->rt_dest, NULL); -#endif return; } rt = hwmp_rt_find(vap, PREQ_TADDR(0)); @@ -767,6 +765,9 @@ hwmp_recv_prep(struct ieee80211vap *vap, { struct ieee80211_mesh_state *ms = vap->iv_mesh; struct ieee80211_hwmp_route *rt = NULL; + struct ieee80211com *ic = vap->iv_ic; + struct ifnet *ifp = vap->iv_ifp; + struct mbuf *m, *next; /* * Acceptance criteria: if the PREP was not generated by us and @@ -836,28 +837,22 @@ hwmp_recv_prep(struct ieee80211vap *vap, * XXX: If it's NOT for us and the AE bit is set, * update the proxy information table. */ -#if 0 - if (rt != NULL) { - struct ieee80211com *ic = vap->iv_ic; - struct ifnet *ifp = vap->iv_ifp; - struct mbuf *m, *next; - /* - * Check for frames queued awaiting path discovery. - * XXX probably can tell exactly and avoid remove call - * NB: hash may have false matches, if so they will get - * stuck back on the stageq because there won't be - * a path. - */ - m = ieee80211_ageq_remove(&ic->ic_stageq, - (struct ieee80211_node *)(uintptr_t) - ieee80211_mac_hash(ic, rt->rt_dest)); - for (; m != NULL; m = next) { - next = m->m_nextpkt; - m->m_nextpkt = NULL; - ifp->if_transmit(ifp, m); - } + + /* + * Check for frames queued awaiting path discovery. + * XXX probably can tell exactly and avoid remove call + * NB: hash may have false matches, if so they will get + * stuck back on the stageq because there won't be + * a path. + */ + m = ieee80211_ageq_remove(&ic->ic_stageq, + (struct ieee80211_node *)(uintptr_t) + ieee80211_mac_hash(ic, rt->rt_dest)); + for (; m != NULL; m = next) { + next = m->m_nextpkt; + m->m_nextpkt = NULL; + ifp->if_transmit(ifp, m); } -#endif } static inline int @@ -1139,7 +1134,6 @@ done: if (ni == NULL && m != NULL) { IEEE80211_DISCARD_MAC(vap, IEEE80211_MSG_HWMP, dest, NULL, "%s", "no valid path to this node"); -#if 0 if (sendpreq) { struct ieee80211com *ic = vap->iv_ic; /* @@ -1153,7 +1147,6 @@ done: ieee80211_ageq_append(&ic->ic_stageq, m, IEEE80211_INACT_WAIT); } else -#endif m_freem(m); } return ni; From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 22:20:45 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 12E35106564A; Wed, 1 Jul 2009 22:20:45 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 01C708FC19; Wed, 1 Jul 2009 22:20:45 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61MKiFq025608; Wed, 1 Jul 2009 22:20:44 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61MKiHx025606; Wed, 1 Jul 2009 22:20:44 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907012220.n61MKiHx025606@svn.freebsd.org> From: Rui Paulo Date: Wed, 1 Jul 2009 22:20:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195263 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 22:20:45 -0000 Author: rpaulo Date: Wed Jul 1 22:20:44 2009 New Revision: 195263 URL: http://svn.freebsd.org/changeset/base/195263 Log: Work around __packed. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 22:18:04 2009 (r195262) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 22:20:44 2009 (r195263) @@ -611,8 +611,10 @@ hwmp_recv_preq(struct ieee80211vap *vap, */ rt = hwmp_rt_find(vap, preq->preq_origaddr); if (rt == NULL) { - uint8_t *dest = (uint8_t *)preq->preq_origaddr; + /* XXX __packed requires this */ + uint8_t dest[IEEE80211_ADDR_LEN]; + IEEE80211_ADDR_COPY(dest, preq->preq_origaddr); ieee80211_hwmp_discover(vap, dest, NULL); } else if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) ieee80211_hwmp_discover(vap, rt->rt_dest, NULL); From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 23:13:19 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BD8EB10656B1; Wed, 1 Jul 2009 23:13:19 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AC54F8FC17; Wed, 1 Jul 2009 23:13:19 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61NDJM8026826; Wed, 1 Jul 2009 23:13:19 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61NDJhc026824; Wed, 1 Jul 2009 23:13:19 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907012313.n61NDJhc026824@svn.freebsd.org> From: Rui Paulo Date: Wed, 1 Jul 2009 23:13:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195269 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 23:13:20 -0000 Author: rpaulo Date: Wed Jul 1 23:13:19 2009 New Revision: 195269 URL: http://svn.freebsd.org/changeset/base/195269 Log: Remove prevhop from the hmwp route struct. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.h Wed Jul 1 22:49:24 2009 (r195268) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h Wed Jul 1 23:13:19 2009 (r195269) @@ -45,7 +45,6 @@ struct ieee80211_hwmp_route { uint8_t rt_nexthop[IEEE80211_ADDR_LEN]; uint32_t rt_metric; /* Path Metric */ uint32_t rt_nhops; /* Number of Hops */ - uint8_t rt_prevhop[IEEE80211_ADDR_LEN]; uint32_t rt_lifetime; int rt_preqretries; uint32_t rt_lastpseq; /* last mesh seq number From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 23:14:22 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 299E9106566C; Wed, 1 Jul 2009 23:14:22 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 182D68FC16; Wed, 1 Jul 2009 23:14:22 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61NELqe026882; Wed, 1 Jul 2009 23:14:21 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61NELwa026879; Wed, 1 Jul 2009 23:14:21 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907012314.n61NELwa026879@svn.freebsd.org> From: Rui Paulo Date: Wed, 1 Jul 2009 23:14:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195270 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 23:14:22 -0000 Author: rpaulo Date: Wed Jul 1 23:14:21 2009 New Revision: 195270 URL: http://svn.freebsd.org/changeset/base/195270 Log: First try at implementing HWMP proactive routing. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_mesh.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 23:13:19 2009 (r195269) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Wed Jul 1 23:14:21 2009 (r195270) @@ -553,6 +553,44 @@ hwmp_add_meshrann(uint8_t *frm, const st return frm; } +#ifdef notyet +/* + * Send a broadcast Path Request to find all nodes on the mesh. We are + * called when the vap is configured as a HWMP root node. + */ +#define PREQ_TFLAGS(n) preq.preq_targets[n].target_flags +#define PREQ_TADDR(n) preq.preq_targets[n].target_addr +#define PREQ_TSEQ(n) preq.preq_targets[n].target_seq +static void +hwmp_rootmode_cb(struct ieee80211vap *vap) +{ + struct ieee80211_hwmp_state *hs = vap->iv_hwmp; + struct ieee80211_meshpreq_ie preq; + + /* XXX check portal role */ + preq.preq_flags = 0; + preq.preq_flags |= IEEE80211_MESHPREQ_FLAGS_AM; + if (hs->hs_rootmode == IEEE80211_HWMP_ROOTMODE_PROACTIVE) + preq.preq_flags |= IEEE80211_MESHPREQ_FLAGS_PP; + preq.preq_hopcount = 0; + preq.preq_ttl = hs->hs_ttl; + preq.preq_id = ++hs->hs_preqid; + IEEE80211_ADDR_COPY(preq.preq_origaddr, vap->iv_myaddr); + preq.preq_origseq = ++hs->hs_seq; + preq.preq_lifetime = timeval2msecs(ieee80211_hwmp_roottimeout); + preq.preq_metric = IEEE80211_MESHLMETRIC_INITIALVAL; + preq.preq_tcount = 1; + IEEE80211_ADDR_COPY(PREQ_TADDR(0), broadcastaddr); + PREQ_TFLAGS(0) = IEEE80211_MESHPREQ_TFLAGS_TO | + IEEE80211_MESHPREQ_TFLAGS_RF; + PREQ_TSEQ(0) = 0; + hwmp_send_preq(vap->iv_bss, vap->iv_myaddr, broadcastaddr, &preq); +} +#undef PREQ_TFLAGS +#undef PREQ_TADDR +#undef PREQ_TSEQ +#endif + #define PREQ_TFLAGS(n) preq->preq_targets[n].target_flags #define PREQ_TADDR(n) preq->preq_targets[n].target_addr #define PREQ_TSEQ(n) preq->preq_targets[n].target_seq @@ -563,6 +601,7 @@ hwmp_recv_preq(struct ieee80211vap *vap, struct ieee80211_mesh_state *ms = vap->iv_mesh; struct ieee80211_hwmp_state *hs = vap->iv_hwmp; struct ieee80211_hwmp_route *rt = NULL; + struct ieee80211_meshprep_ie prep; /* * Ignore PREQs from us. Could happen because someone forward it @@ -589,8 +628,6 @@ hwmp_recv_preq(struct ieee80211vap *vap, * XXX: check if this is part of a proxy address. */ if (IEEE80211_ADDR_EQ(vap->iv_myaddr, PREQ_TADDR(0))) { - struct ieee80211_meshprep_ie prep; - IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, "replying to %s", ether_sprintf(preq->preq_origaddr)); /* @@ -706,25 +743,38 @@ hwmp_recv_preq(struct ieee80211vap *vap, hwmp_send_preq(ni, vap->iv_myaddr, broadcastaddr, &ppreq); } - /* - * XXX: Update the percursor table - */ - return; } /* - * XXX: Proactive PREQ: reply with a proactive PREP to the + * Proactive PREQ: reply with a proactive PREP to the * root STA if requested. */ if (IEEE80211_ADDR_EQ(PREQ_TADDR(0), broadcastaddr) && (PREQ_TFLAGS(0) & ((IEEE80211_MESHPREQ_TFLAGS_TO|IEEE80211_MESHPREQ_TFLAGS_RF) == (IEEE80211_MESHPREQ_TFLAGS_TO|IEEE80211_MESHPREQ_TFLAGS_RF)))) { + rt = hwmp_rt_find(vap, preq->preq_origaddr); + if (rt == NULL) + rt = hwmp_rt_add(vap, preq->preq_origaddr); /* - * Does the root want a proactive PREP ? + * Reply with a PREP if we don't have a path to the root + * or if the root sent us a proactive PREQ. */ - if (preq->preq_flags & IEEE80211_MESHPREQ_FLAGS_PP) { - + if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr) || + (preq->preq_flags & IEEE80211_MESHPREQ_FLAGS_PP)) { + prep.prep_flags = 0; + prep.prep_hopcount = 0; + prep.prep_ttl = hs->hs_ttl; + IEEE80211_ADDR_COPY(prep.prep_targetaddr, + vap->iv_myaddr); + prep.prep_targetseq = ++hs->hs_seq; + prep.prep_lifetime = preq->preq_lifetime; + prep.prep_metric = IEEE80211_MESHLMETRIC_INITIALVAL; + IEEE80211_ADDR_COPY(prep.prep_origaddr, + preq->preq_origaddr); + prep.prep_origseq = preq->preq_origseq; + hwmp_send_prep(vap->iv_bss, vap->iv_myaddr, + broadcastaddr, &prep); } } } Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.h Wed Jul 1 23:13:19 2009 (r195269) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.h Wed Jul 1 23:14:21 2009 (r195270) @@ -211,8 +211,9 @@ struct ieee80211_meshpreq_ie { uint8_t preq_len; uint8_t preq_flags; #define IEEE80211_MESHPREQ_FLAGS_PR 0x01 /* Portal Role */ -#define IEEE80211_MESHPREQ_FLAGS_AE 0x02 /* Address Extension */ +#define IEEE80211_MESHPREQ_FLAGS_AM 0x02 /* 0 = ucast / 1 = bcast */ #define IEEE80211_MESHPREQ_FLAGS_PP 0x04 /* Proactive PREP */ +#define IEEE80211_MESHPREQ_FLAGS_AE 0x40 /* Address Extension */ uint8_t preq_hopcount; uint8_t preq_ttl; uint32_t preq_id; From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 12:41:21 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B820E1065675; Thu, 2 Jul 2009 12:41:21 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A0E898FC0A; Thu, 2 Jul 2009 12:41:21 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62CfLQX044669; Thu, 2 Jul 2009 12:41:21 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62CfLkU044665; Thu, 2 Jul 2009 12:41:21 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907021241.n62CfLkU044665@svn.freebsd.org> From: Rui Paulo Date: Thu, 2 Jul 2009 12:41:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195284 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 12:41:22 -0000 Author: rpaulo Date: Thu Jul 2 12:41:21 2009 New Revision: 195284 URL: http://svn.freebsd.org/changeset/base/195284 Log: Finish proactive root mode implementation. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_hwmp.h projects/mesh11s/sys/net80211/ieee80211_ioctl.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Thu Jul 2 10:02:10 2009 (r195283) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Thu Jul 2 12:41:21 2009 (r195284) @@ -83,6 +83,8 @@ static uint8_t *hwmp_add_meshperr(uint8_ const struct ieee80211_meshperr_ie *); static uint8_t *hwmp_add_meshrann(uint8_t *, const struct ieee80211_meshrann_ie *); +static void hwmp_rootmode_setup(struct ieee80211vap *); +static void hwmp_rootmode_cb(void *); static void hwmp_recv_preq(struct ieee80211vap *, struct ieee80211_node *, const struct ieee80211_frame *, const struct ieee80211_meshpreq_ie *); static int hwmp_send_preq(struct ieee80211_node *, @@ -121,6 +123,9 @@ static const struct timeval ieee80211_hw #define timeval2msecs(tv) (tv.tv_sec * 1000 + tv.tv_usec / 1000) +#define HWMP_ROOTMODEINT msecs_to_ticks(timeval2msecs(ieee80211_hmwp_rootint)) +#define HWMP_RANNMODEINT msecs_to_ticks(timeval2msecs(ieee80211_hmwp_rannint)) + #define HWMP_LOCK(hs) mtx_lock(&(hs)->hs_lock) #define HWMP_UNLOCK(hs) mtx_unlock(&(hs)->hs_lock) @@ -170,6 +175,10 @@ hwmp_rt_add(struct ieee80211vap *vap, co KASSERT(hwmp_rt_find(vap, dest) == NULL, ("%s: duplicate entry in the routing table", __func__)); + KASSERT(!IEEE80211_ADDR_EQ(vap->iv_myaddr, dest), + ("%s: adding self to the routing table", __func__)); + KASSERT(!IEEE80211_ADDR_EQ(broadcastaddr, dest), + ("%s: adding broadcast to the routing table", __func__)); rt = malloc(sizeof(struct ieee80211_hwmp_route), M_80211_HWMP, M_NOWAIT | M_ZERO); @@ -233,6 +242,7 @@ ieee80211_hwmp_vattach(struct ieee80211v mtx_init(&hs->hs_lock, "HWMP", "802.11s HWMP", MTX_DEF); hs->hs_maxhops = IEEE80211_HWMP_DEFAULT_MAXHOPS; hs->hs_ttl = IEEE80211_HWMP_DEFAULT_TTL; + callout_init(&hs->hs_roottimer, CALLOUT_MPSAFE); vap->iv_hwmp = hs; } @@ -242,6 +252,8 @@ ieee80211_hwmp_vdetach(struct ieee80211v struct ieee80211_hwmp_state *hs = vap->iv_hwmp; hwmp_rt_flush(vap); + if (callout_pending(&hs->hs_roottimer)) + callout_stop(&hs->hs_roottimer); mtx_destroy(&hs->hs_lock); free(vap->iv_hwmp, M_80211_HWMP); } @@ -250,10 +262,14 @@ int ieee80211_hwmp_newstate(struct ieee80211vap *vap, enum ieee80211_state ostate, int arg) { enum ieee80211_state nstate = vap->iv_state; + struct ieee80211_hwmp_state *hs = vap->iv_hwmp; /* Flush the table on INIT -> SCAN, e.g. interface down & up */ - if (nstate == IEEE80211_S_SCAN && ostate == IEEE80211_S_INIT) + if (nstate == IEEE80211_S_SCAN && ostate == IEEE80211_S_INIT) { hwmp_rt_flush(vap); + if (callout_pending(&hs->hs_roottimer)) + callout_stop(&hs->hs_roottimer); + } return 0; } @@ -553,7 +569,18 @@ hwmp_add_meshrann(uint8_t *frm, const st return frm; } -#ifdef notyet +static void +hwmp_rootmode_setup(struct ieee80211vap *vap) +{ + struct ieee80211_hwmp_state *hs = vap->iv_hwmp; + + if (hs->hs_rootmode != IEEE80211_HWMP_ROOTMODE_DISABLED) + callout_reset(&hs->hs_roottimer, HWMP_ROOTMODEINT, + hwmp_rootmode_cb, vap); + else + callout_stop(&hs->hs_roottimer); +} + /* * Send a broadcast Path Request to find all nodes on the mesh. We are * called when the vap is configured as a HWMP root node. @@ -562,14 +589,17 @@ hwmp_add_meshrann(uint8_t *frm, const st #define PREQ_TADDR(n) preq.preq_targets[n].target_addr #define PREQ_TSEQ(n) preq.preq_targets[n].target_seq static void -hwmp_rootmode_cb(struct ieee80211vap *vap) +hwmp_rootmode_cb(void *arg) { + struct ieee80211vap *vap = (struct ieee80211vap *)arg; struct ieee80211_hwmp_state *hs = vap->iv_hwmp; struct ieee80211_meshpreq_ie preq; + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, vap->iv_bss, + "%s", "sending broadcast PREQ"); + /* XXX check portal role */ - preq.preq_flags = 0; - preq.preq_flags |= IEEE80211_MESHPREQ_FLAGS_AM; + preq.preq_flags = IEEE80211_MESHPREQ_FLAGS_AM; if (hs->hs_rootmode == IEEE80211_HWMP_ROOTMODE_PROACTIVE) preq.preq_flags |= IEEE80211_MESHPREQ_FLAGS_PP; preq.preq_hopcount = 0; @@ -584,12 +614,13 @@ hwmp_rootmode_cb(struct ieee80211vap *va PREQ_TFLAGS(0) = IEEE80211_MESHPREQ_TFLAGS_TO | IEEE80211_MESHPREQ_TFLAGS_RF; PREQ_TSEQ(0) = 0; + vap->iv_stats.is_hwmp_rootreqs++; hwmp_send_preq(vap->iv_bss, vap->iv_myaddr, broadcastaddr, &preq); + hwmp_rootmode_setup(vap); } #undef PREQ_TFLAGS #undef PREQ_TADDR #undef PREQ_TSEQ -#endif #define PREQ_TFLAGS(n) preq->preq_targets[n].target_flags #define PREQ_TADDR(n) preq->preq_targets[n].target_addr @@ -657,6 +688,47 @@ hwmp_recv_preq(struct ieee80211vap *vap, ieee80211_hwmp_discover(vap, rt->rt_dest, NULL); return; } + /* + * Proactive PREQ: reply with a proactive PREP to the + * root STA if requested. + */ + if (IEEE80211_ADDR_EQ(PREQ_TADDR(0), broadcastaddr) && + (PREQ_TFLAGS(0) & + ((IEEE80211_MESHPREQ_TFLAGS_TO|IEEE80211_MESHPREQ_TFLAGS_RF) == + (IEEE80211_MESHPREQ_TFLAGS_TO|IEEE80211_MESHPREQ_TFLAGS_RF)))) { + uint8_t rootmac[IEEE80211_ADDR_LEN]; + + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, ni, + "root mesh station @ %s", + ether_sprintf(preq->preq_origaddr)); + IEEE80211_ADDR_COPY(rootmac, preq->preq_origaddr); + rt = hwmp_rt_find(vap, rootmac); + if (rt == NULL) + rt = hwmp_rt_add(vap, rootmac); + /* + * Reply with a PREP if we don't have a path to the root + * or if the root sent us a proactive PREQ. + */ + if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr) || + (preq->preq_flags & IEEE80211_MESHPREQ_FLAGS_PP)) { + prep.prep_flags = 0; + prep.prep_hopcount = 0; + prep.prep_ttl = hs->hs_ttl; + IEEE80211_ADDR_COPY(prep.prep_origaddr, + vap->iv_myaddr); + prep.prep_origseq = preq->preq_origseq; + prep.prep_targetseq = ++hs->hs_seq; + prep.prep_lifetime = preq->preq_lifetime; + prep.prep_metric = IEEE80211_MESHLMETRIC_INITIALVAL; + IEEE80211_ADDR_COPY(prep.prep_targetaddr, + rootmac); + prep.prep_targetseq = PREQ_TSEQ(0); + hwmp_send_prep(vap->iv_bss, vap->iv_myaddr, + broadcastaddr, &prep); + } + ieee80211_hwmp_discover(vap, rootmac, NULL); + return; + } rt = hwmp_rt_find(vap, PREQ_TADDR(0)); /* XXX missing. Check for AE bit and update proxy information */ @@ -745,38 +817,6 @@ hwmp_recv_preq(struct ieee80211vap *vap, } } - /* - * Proactive PREQ: reply with a proactive PREP to the - * root STA if requested. - */ - if (IEEE80211_ADDR_EQ(PREQ_TADDR(0), broadcastaddr) && - (PREQ_TFLAGS(0) & - ((IEEE80211_MESHPREQ_TFLAGS_TO|IEEE80211_MESHPREQ_TFLAGS_RF) == - (IEEE80211_MESHPREQ_TFLAGS_TO|IEEE80211_MESHPREQ_TFLAGS_RF)))) { - rt = hwmp_rt_find(vap, preq->preq_origaddr); - if (rt == NULL) - rt = hwmp_rt_add(vap, preq->preq_origaddr); - /* - * Reply with a PREP if we don't have a path to the root - * or if the root sent us a proactive PREQ. - */ - if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr) || - (preq->preq_flags & IEEE80211_MESHPREQ_FLAGS_PP)) { - prep.prep_flags = 0; - prep.prep_hopcount = 0; - prep.prep_ttl = hs->hs_ttl; - IEEE80211_ADDR_COPY(prep.prep_targetaddr, - vap->iv_myaddr); - prep.prep_targetseq = ++hs->hs_seq; - prep.prep_lifetime = preq->preq_lifetime; - prep.prep_metric = IEEE80211_MESHLMETRIC_INITIALVAL; - IEEE80211_ADDR_COPY(prep.prep_origaddr, - preq->preq_origaddr); - prep.prep_origseq = preq->preq_origseq; - hwmp_send_prep(vap->iv_bss, vap->iv_myaddr, - broadcastaddr, &prep); - } - } } #undef PREQ_TFLAGS #undef PREQ_TADDR @@ -816,14 +856,15 @@ hwmp_recv_prep(struct ieee80211vap *vap, const struct ieee80211_frame *wh, const struct ieee80211_meshprep_ie *prep) { struct ieee80211_mesh_state *ms = vap->iv_mesh; + struct ieee80211_hwmp_state *hs = vap->iv_hwmp; struct ieee80211_hwmp_route *rt = NULL; struct ieee80211com *ic = vap->iv_ic; struct ifnet *ifp = vap->iv_ifp; struct mbuf *m, *next; /* - * Acceptance criteria: if the PREP was not generated by us and - * forwarding is disabled, discard this PREP. + * Acceptance criteria: if the corresponding PREQ was not generated + * by us and forwarding is disabled, discard this PREP. */ if (!IEEE80211_ADDR_EQ(vap->iv_myaddr, prep->prep_origaddr) && !(ms->ms_flags & IEEE80211_MESHFLAGS_FWD)) @@ -853,8 +894,21 @@ hwmp_recv_prep(struct ieee80211vap *vap, } rt = hwmp_rt_find(vap, prep->prep_origaddr); - if (rt == NULL) + if (rt == NULL) { + /* + * If we have no entry this could be a reply to a root PREQ. + */ + if (hs->hs_rootmode != IEEE80211_HWMP_ROOTMODE_DISABLED) { + printf("1\n"); + rt = hwmp_rt_add(vap, prep->prep_origaddr); + IEEE80211_ADDR_COPY(rt->rt_nexthop, wh->i_addr2); + rt->rt_nhops = prep->prep_hopcount; + rt->rt_lifetime = prep->prep_lifetime; + rt->rt_metric = prep->prep_metric; + return; + } return; + } if (prep->prep_targetseq == rt->rt_seq) { int useprep = 0; /* @@ -1124,7 +1178,7 @@ ieee80211_hwmp_discover(struct ieee80211 ("not a mesh vap, opmode %d", vap->iv_opmode)); KASSERT(!IEEE80211_ADDR_EQ(vap->iv_myaddr, dest), - ("discovering self!")); + ("%s: discovering self!", __func__)); ni = NULL; if (!IEEE80211_IS_MULTICAST(dest)) { @@ -1339,6 +1393,7 @@ hwmp_ioctl_set80211(struct ieee80211vap if (ireq->i_val < 0 || ireq->i_val > 3) return EINVAL; hs->hs_rootmode = ireq->i_val; + hwmp_rootmode_setup(vap); break; case IEEE80211_IOC_HWMP_MAXHOPS: if (ireq->i_val <= 0 || ireq->i_val > 255) Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.h Thu Jul 2 10:02:10 2009 (r195283) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h Thu Jul 2 12:41:21 2009 (r195284) @@ -64,6 +64,7 @@ struct ieee80211_hwmp_state { struct timeval hs_lastperr; /* last time we sent a PERR */ struct mtx hs_lock; /* lock for the fi table */ int hs_rootmode; /* proactive HWMP */ + struct callout hs_roottimer; uint8_t hs_maxhops; /* max hop count */ uint8_t hs_ttl; /* HWMP ttl */ }; Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ioctl.h Thu Jul 2 10:02:10 2009 (r195283) +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.h Thu Jul 2 12:41:21 2009 (r195284) @@ -233,6 +233,7 @@ struct ieee80211_stats { uint32_t is_mesh_fwd_nopath; /* mesh not fwd'd 'cuz path unknown */ uint32_t is_hwmp_wrongseq; /* wrong hwmp seq no. */ + uint32_t is_hwmp_rootreqs; /* root PREQs sent */ uint32_t is_spare[8]; }; From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 14:54:48 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F24231065674; Thu, 2 Jul 2009 14:54:48 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E07218FC08; Thu, 2 Jul 2009 14:54:48 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62Esma6047315; Thu, 2 Jul 2009 14:54:48 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62EsmuD047312; Thu, 2 Jul 2009 14:54:48 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907021454.n62EsmuD047312@svn.freebsd.org> From: Rui Paulo Date: Thu, 2 Jul 2009 14:54:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195286 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 14:54:49 -0000 Author: rpaulo Date: Thu Jul 2 14:54:48 2009 New Revision: 195286 URL: http://svn.freebsd.org/changeset/base/195286 Log: * use callout_drain instead of callout_stop * constify Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_hwmp.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Thu Jul 2 14:19:33 2009 (r195285) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Thu Jul 2 14:54:48 2009 (r195286) @@ -252,8 +252,8 @@ ieee80211_hwmp_vdetach(struct ieee80211v struct ieee80211_hwmp_state *hs = vap->iv_hwmp; hwmp_rt_flush(vap); - if (callout_pending(&hs->hs_roottimer)) - callout_stop(&hs->hs_roottimer); + if (callout_active(&hs->hs_roottimer)) + callout_drain(&hs->hs_roottimer); mtx_destroy(&hs->hs_lock); free(vap->iv_hwmp, M_80211_HWMP); } @@ -267,8 +267,8 @@ ieee80211_hwmp_newstate(struct ieee80211 /* Flush the table on INIT -> SCAN, e.g. interface down & up */ if (nstate == IEEE80211_S_SCAN && ostate == IEEE80211_S_INIT) { hwmp_rt_flush(vap); - if (callout_pending(&hs->hs_roottimer)) - callout_stop(&hs->hs_roottimer); + if (callout_active(&hs->hs_roottimer)) + callout_drain(&hs->hs_roottimer); } return 0; } @@ -678,13 +678,9 @@ hwmp_recv_preq(struct ieee80211vap *vap, * Build the reverse path, if we don't have it already. */ rt = hwmp_rt_find(vap, preq->preq_origaddr); - if (rt == NULL) { - /* XXX __packed requires this */ - uint8_t dest[IEEE80211_ADDR_LEN]; - - IEEE80211_ADDR_COPY(dest, preq->preq_origaddr); - ieee80211_hwmp_discover(vap, dest, NULL); - } else if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) + if (rt == NULL) + ieee80211_hwmp_discover(vap, preq->preq_origaddr, NULL); + else if (IEEE80211_ADDR_EQ(rt->rt_nexthop, invalidaddr)) ieee80211_hwmp_discover(vap, rt->rt_dest, NULL); return; } @@ -1166,7 +1162,7 @@ hwmp_send_rann(struct ieee80211_node *ni #define PREQ_TSEQ(n) preq.preq_targets[n].target_seq struct ieee80211_node * ieee80211_hwmp_discover(struct ieee80211vap *vap, - uint8_t dest[IEEE80211_ADDR_LEN], struct mbuf *m) + const uint8_t dest[IEEE80211_ADDR_LEN], struct mbuf *m) { struct ieee80211_hwmp_state *hs = vap->iv_hwmp; struct ieee80211_hwmp_route *rt = NULL; Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.h Thu Jul 2 14:19:33 2009 (r195285) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h Thu Jul 2 14:54:48 2009 (r195286) @@ -77,7 +77,7 @@ void ieee80211_hwmp_recv_action(struct struct ieee80211_node *, struct mbuf *); struct ieee80211_node * ieee80211_hwmp_discover(struct ieee80211vap *, - uint8_t [IEEE80211_ADDR_LEN], struct mbuf *); + const uint8_t [IEEE80211_ADDR_LEN], struct mbuf *); struct ieee80211_node * ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, uint8_t dest[IEEE80211_ADDR_LEN]); From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 14:56:05 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 621D81065674; Thu, 2 Jul 2009 14:56:05 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 506638FC25; Thu, 2 Jul 2009 14:56:05 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62Eu5IH047395; Thu, 2 Jul 2009 14:56:05 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62Eu5CP047392; Thu, 2 Jul 2009 14:56:05 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907021456.n62Eu5CP047392@svn.freebsd.org> From: Rui Paulo Date: Thu, 2 Jul 2009 14:56:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195287 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 14:56:05 -0000 Author: rpaulo Date: Thu Jul 2 14:56:05 2009 New Revision: 195287 URL: http://svn.freebsd.org/changeset/base/195287 Log: Constify Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_hwmp.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Thu Jul 2 14:54:48 2009 (r195286) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Thu Jul 2 14:56:05 2009 (r195287) @@ -1263,7 +1263,7 @@ done: */ struct ieee80211_node * ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, - uint8_t dest[IEEE80211_ADDR_LEN]) + const uint8_t dest[IEEE80211_ADDR_LEN]) { struct ieee80211_hwmp_route *rt; @@ -1275,7 +1275,7 @@ ieee80211_hwmp_find_txnode(struct ieee80 int ieee80211_hwmp_checkpseq(struct ieee80211vap *vap, - uint8_t source[IEEE80211_ADDR_LEN], uint32_t seq) + const uint8_t source[IEEE80211_ADDR_LEN], uint32_t seq) { struct ieee80211_hwmp_route *rt; Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.h Thu Jul 2 14:54:48 2009 (r195286) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h Thu Jul 2 14:56:05 2009 (r195287) @@ -80,9 +80,9 @@ struct ieee80211_node * const uint8_t [IEEE80211_ADDR_LEN], struct mbuf *); struct ieee80211_node * ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, - uint8_t dest[IEEE80211_ADDR_LEN]); + const uint8_t dest[IEEE80211_ADDR_LEN]); int ieee80211_hwmp_checkpseq(struct ieee80211vap *, - uint8_t [IEEE80211_ADDR_LEN], uint32_t); + const uint8_t [IEEE80211_ADDR_LEN], uint32_t); void ieee80211_hwmp_peerdown(struct ieee80211_node *); #endif /* _KERNEL */ From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 14:57:40 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B44AC106566C; Thu, 2 Jul 2009 14:57:40 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A2AB38FC0A; Thu, 2 Jul 2009 14:57:40 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62Eveat047455; Thu, 2 Jul 2009 14:57:40 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62Evems047453; Thu, 2 Jul 2009 14:57:40 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907021457.n62Evems047453@svn.freebsd.org> From: Rui Paulo Date: Thu, 2 Jul 2009 14:57:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195288 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 14:57:41 -0000 Author: rpaulo Date: Thu Jul 2 14:57:40 2009 New Revision: 195288 URL: http://svn.freebsd.org/changeset/base/195288 Log: Style. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.h Thu Jul 2 14:56:05 2009 (r195287) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.h Thu Jul 2 14:57:40 2009 (r195288) @@ -72,17 +72,17 @@ struct ieee80211_hwmp_state { void ieee80211_hwmp_vattach(struct ieee80211vap *); void ieee80211_hwmp_vdetach(struct ieee80211vap *); int ieee80211_hwmp_newstate(struct ieee80211vap *, - enum ieee80211_state, int); + enum ieee80211_state, int); void ieee80211_hwmp_recv_action(struct ieee80211vap *, - struct ieee80211_node *, struct mbuf *); + struct ieee80211_node *, struct mbuf *); struct ieee80211_node * ieee80211_hwmp_discover(struct ieee80211vap *, - const uint8_t [IEEE80211_ADDR_LEN], struct mbuf *); + const uint8_t [IEEE80211_ADDR_LEN], struct mbuf *); struct ieee80211_node * ieee80211_hwmp_find_txnode(struct ieee80211vap *vap, - const uint8_t dest[IEEE80211_ADDR_LEN]); + const uint8_t dest[IEEE80211_ADDR_LEN]); int ieee80211_hwmp_checkpseq(struct ieee80211vap *, - const uint8_t [IEEE80211_ADDR_LEN], uint32_t); + const uint8_t [IEEE80211_ADDR_LEN], uint32_t); void ieee80211_hwmp_peerdown(struct ieee80211_node *); #endif /* _KERNEL */ From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 15:49:28 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D3D1106566C; Thu, 2 Jul 2009 15:49:28 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 6BF0D8FC12; Thu, 2 Jul 2009 15:49:28 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62FnSaZ048413; Thu, 2 Jul 2009 15:49:28 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62FnS7Q048411; Thu, 2 Jul 2009 15:49:28 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907021549.n62FnS7Q048411@svn.freebsd.org> From: Sam Leffler Date: Thu, 2 Jul 2009 15:49:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195289 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 15:49:28 -0000 Author: sam Date: Thu Jul 2 15:49:28 2009 New Revision: 195289 URL: http://svn.freebsd.org/changeset/base/195289 Log: fix assert (age can be zero for 2nd and later packets) Modified: projects/mesh11s/sys/net80211/ieee80211_ageq.c Modified: projects/mesh11s/sys/net80211/ieee80211_ageq.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ageq.c Thu Jul 2 14:57:40 2009 (r195288) +++ projects/mesh11s/sys/net80211/ieee80211_ageq.c Thu Jul 2 15:49:28 2009 (r195289) @@ -91,7 +91,7 @@ ieee80211_ageq_append(struct ieee80211_a aq->aq_tail->m_nextpkt = m; age -= M_AGE_GET(aq->aq_head); } - KASSERT(age > 0, ("age %d", age)); + KASSERT(age >= 0, ("age %d", age)); M_AGE_SET(m, age); m->m_nextpkt = NULL; aq->aq_tail = m; From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 15:59:33 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 467FC106564A; Thu, 2 Jul 2009 15:59:33 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 351628FC1D; Thu, 2 Jul 2009 15:59:33 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62FxXKk048635; Thu, 2 Jul 2009 15:59:33 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62FxXZx048633; Thu, 2 Jul 2009 15:59:33 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907021559.n62FxXZx048633@svn.freebsd.org> From: Sam Leffler Date: Thu, 2 Jul 2009 15:59:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195290 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 15:59:33 -0000 Author: sam Date: Thu Jul 2 15:59:32 2009 New Revision: 195290 URL: http://svn.freebsd.org/changeset/base/195290 Log: add comments Modified: projects/mesh11s/sys/net80211/ieee80211_ageq.c Modified: projects/mesh11s/sys/net80211/ieee80211_ageq.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ageq.c Thu Jul 2 15:49:28 2009 (r195289) +++ projects/mesh11s/sys/net80211/ieee80211_ageq.c Thu Jul 2 15:59:32 2009 (r195290) @@ -43,14 +43,21 @@ __FBSDID("$FreeBSD$"); #include +/* + * Initialize an ageq. + */ void ieee80211_ageq_init(struct ieee80211_ageq *aq, int maxlen, const char *name) { memset(aq, 0, sizeof(aq)); aq->aq_maxlen = maxlen; - IEEE80211_AGEQ_INIT(aq, name); /* OS-dependent setup */ + IEEE80211_AGEQ_INIT(aq, name); /* OS-dependent setup */ } +/* + * Cleanup an ageq initialized with ieee80211_ageq_init. Note + * the queue is assumed empty; this can be done with ieee80211_ageq_drain. + */ void ieee80211_ageq_cleanup(struct ieee80211_ageq *aq) { @@ -58,6 +65,11 @@ ieee80211_ageq_cleanup(struct ieee80211_ IEEE80211_AGEQ_DESTROY(aq); /* OS-dependent cleanup */ } +/* + * Free an mbuf according to ageq rules: if marked as holding + * and 802.11 frame then also reclaim a node reference from + * the packet header; this handles packets q'd in the tx path. + */ static void ageq_mfree(struct mbuf *m) { @@ -69,6 +81,9 @@ ageq_mfree(struct mbuf *m) m_freem(m); } +/* + * Free a list of mbufs using ageq rules (see above). + */ void ieee80211_ageq_mfree(struct mbuf *m) { @@ -80,6 +95,11 @@ ieee80211_ageq_mfree(struct mbuf *m) } } +/* + * Append an mbuf to the ageq and mark it with the specified max age + * If the frame is not removed before the age (in seconds) expires + * then it is reclaimed (along with any node reference). + */ int ieee80211_ageq_append(struct ieee80211_ageq *aq, struct mbuf *m, int age) { @@ -110,12 +130,18 @@ ieee80211_ageq_append(struct ieee80211_a } } +/* + * Drain/reclaim all frames from an ageq. + */ void ieee80211_ageq_drain(struct ieee80211_ageq *aq) { ieee80211_ageq_mfree(ieee80211_ageq_remove(aq, NULL)); } +/* + * Drain/reclaim frames associated with a specific node from an ageq. + */ void ieee80211_ageq_drain_node(struct ieee80211_ageq *aq, struct ieee80211_node *ni) @@ -124,10 +150,11 @@ ieee80211_ageq_drain_node(struct ieee802 } /* - * Age frames on the stage queue. We store ages as time - * deltas so we can check and/or adjust only the head of the list. - * If a frame's age exceeds the tick then discard it. - * The number of frames discarded is returned to the caller. + * Age frames on the age queue. Ages are stored as time + * deltas (in seconds) so we can check and/or adjust only + * the head of the list. If a frame's age exceeds the time + * quanta then remove it. The list of removed frames is + * is returned to the caller joined by m_nextpkt. */ struct mbuf * ieee80211_ageq_age(struct ieee80211_ageq *aq, int quanta) @@ -155,6 +182,10 @@ ieee80211_ageq_age(struct ieee80211_ageq return head; } +/* + * Remove all frames matching the specified node identifier. + * Frames are returned as a list joined by m_nextpkt. + */ struct mbuf * ieee80211_ageq_remove(struct ieee80211_ageq *aq, struct ieee80211_node *match) From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 16:41:10 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F423106564A; Thu, 2 Jul 2009 16:41:10 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D83518FC08; Thu, 2 Jul 2009 16:41:09 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62Gf9G2049509; Thu, 2 Jul 2009 16:41:09 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62Gf9Ox049507; Thu, 2 Jul 2009 16:41:09 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907021641.n62Gf9Ox049507@svn.freebsd.org> From: Sam Leffler Date: Thu, 2 Jul 2009 16:41:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195292 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 16:41:10 -0000 Author: sam Date: Thu Jul 2 16:41:09 2009 New Revision: 195292 URL: http://svn.freebsd.org/changeset/base/195292 Log: o fix age on removal o correct comments Modified: projects/mesh11s/sys/net80211/ieee80211_ageq.c Modified: projects/mesh11s/sys/net80211/ieee80211_ageq.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ageq.c Thu Jul 2 16:33:38 2009 (r195291) +++ projects/mesh11s/sys/net80211/ieee80211_ageq.c Thu Jul 2 16:41:09 2009 (r195292) @@ -151,10 +151,10 @@ ieee80211_ageq_drain_node(struct ieee802 /* * Age frames on the age queue. Ages are stored as time - * deltas (in seconds) so we can check and/or adjust only - * the head of the list. If a frame's age exceeds the time - * quanta then remove it. The list of removed frames is - * is returned to the caller joined by m_nextpkt. + * deltas (in seconds) relative to the head so we can check + * and/or adjust only the head of the list. If a frame's age + * exceeds the time quanta then remove it. The list of removed + * frames is is returned to the caller joined by m_nextpkt. */ struct mbuf * ieee80211_ageq_age(struct ieee80211_ageq *aq, int quanta) @@ -183,17 +183,19 @@ ieee80211_ageq_age(struct ieee80211_ageq } /* - * Remove all frames matching the specified node identifier. - * Frames are returned as a list joined by m_nextpkt. + * Remove all frames matching the specified node identifier + * (NULL matches all). Frames are returned as a list joined + * by m_nextpkt. */ struct mbuf * ieee80211_ageq_remove(struct ieee80211_ageq *aq, struct ieee80211_node *match) { - struct mbuf *m, **prev; + struct mbuf *m, **prev, *ohead; struct mbuf *head, **phead; IEEE80211_AGEQ_LOCK(aq); + ohead = aq->aq_head; prev = &aq->aq_head; phead = &head; while ((m = *prev) != NULL) { @@ -225,7 +227,8 @@ ieee80211_ageq_remove(struct ieee80211_a *phead = m; phead = &m->m_nextpkt; } - /* XXX fix age */ + if (head == ohead && aq->aq_head != NULL) /* correct age */ + M_AGE_SET(aq->aq_head, M_AGE_GET(head)); IEEE80211_AGEQ_UNLOCK(aq); *phead = NULL; From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 16:41:46 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BE40E106566C; Thu, 2 Jul 2009 16:41:46 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AD8248FC16; Thu, 2 Jul 2009 16:41:46 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62Gfk3v049555; Thu, 2 Jul 2009 16:41:46 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62Gfk7L049553; Thu, 2 Jul 2009 16:41:46 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907021641.n62Gfk7L049553@svn.freebsd.org> From: Sam Leffler Date: Thu, 2 Jul 2009 16:41:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195293 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 16:41:47 -0000 Author: sam Date: Thu Jul 2 16:41:46 2009 New Revision: 195293 URL: http://svn.freebsd.org/changeset/base/195293 Log: we cannot depend on the node address being stable between q and remove; use the hash of the mac address instead Modified: projects/mesh11s/sys/net80211/ieee80211_wds.c Modified: projects/mesh11s/sys/net80211/ieee80211_wds.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_wds.c Thu Jul 2 16:41:09 2009 (r195292) +++ projects/mesh11s/sys/net80211/ieee80211_wds.c Thu Jul 2 16:41:46 2009 (r195293) @@ -104,7 +104,8 @@ wds_flush(struct ieee80211_node *ni) struct mbuf *m, *next; int8_t rssi, nf; - m = ieee80211_ageq_remove(&ic->ic_stageq, ni); + m = ieee80211_ageq_remove(&ic->ic_stageq, + (void *)(uintptr_t) ieee80211_mac_hash(ic, ni->ni_macaddr)); if (m == NULL) return; @@ -325,6 +326,8 @@ ieee80211_dwds_discover(struct ieee80211 * XXX handle overflow? * XXX per/vap beacon interval? */ + m->m_pkthdr.rcvif = (void *)(uintptr_t) + ieee80211_mac_hash(ic, ni->ni_macaddr); (void) ieee80211_ageq_append(&ic->ic_stageq, m, ((ni->ni_intval * ic->ic_lintval) << 2) / 1024); ieee80211_notify_wds_discover(ni); From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 22:34:43 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 39630106564A; Thu, 2 Jul 2009 22:34:43 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 258B68FC17; Thu, 2 Jul 2009 22:34:43 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62MYhgC058719; Thu, 2 Jul 2009 22:34:43 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62MYhiM058710; Thu, 2 Jul 2009 22:34:43 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907022234.n62MYhiM058710@svn.freebsd.org> From: Sam Leffler Date: Thu, 2 Jul 2009 22:34:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195298 - in projects/mesh11s/sys: conf dev/mwl net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 22:34:43 -0000 Author: sam Date: Thu Jul 2 22:34:42 2009 New Revision: 195298 URL: http://svn.freebsd.org/changeset/base/195298 Log: Overhaul send/recv action frame handling: o handlers are now registered; ieee80211_send_action_register for a send handler and ieee80211_recv_action_register for a recv handler o ieee80211_send_action and ieee80211_recv_action call any registered handler; otherwise return EINVAL o ic_send_action and ic_recv_action point to ieee80211_send_action and ieee80211_recv_action, respectively; drivers can still hook them to control operation o convert IEEE80211_ACTION_CAT_BA, IEEE80211_ACTION_CAT_HT, IEEE80211_ACTION_CAT_MESHPATH, IEEE80211_ACTION_CAT_MESHPEERING, and IEEE80211_ACTION_CAT_MESHLMETRIC handlers o change ic_recv_action api to return an error code o change ic_send_action api to pass a void * instead of the ieee80211_send_action_args union ref o expose getcapinfo as ieee80211_getcapinfo for mesh use o expose ieee80211_add_rates and ieee80211_add_xrates o fix various issues in mesh code related to parsing and constructing action frames (e.g. forcibly casting away const and then modifying the frame contents) o fixup mwl after api changes This compiles but has almost certainly broken mesh code. ADDBA support tested with mwl. Discussed with: rpaulo (who promises to cleanup after me) Added: projects/mesh11s/sys/net80211/ieee80211_action.c (contents, props changed) projects/mesh11s/sys/net80211/ieee80211_action.h (contents, props changed) Modified: projects/mesh11s/sys/conf/files projects/mesh11s/sys/dev/mwl/if_mwl.c projects/mesh11s/sys/dev/mwl/if_mwlvar.h projects/mesh11s/sys/net80211/ieee80211_ht.c projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_input.c projects/mesh11s/sys/net80211/ieee80211_input.h projects/mesh11s/sys/net80211/ieee80211_mesh.c projects/mesh11s/sys/net80211/ieee80211_output.c projects/mesh11s/sys/net80211/ieee80211_proto.h projects/mesh11s/sys/net80211/ieee80211_var.h Modified: projects/mesh11s/sys/conf/files ============================================================================== --- projects/mesh11s/sys/conf/files Thu Jul 2 20:52:23 2009 (r195297) +++ projects/mesh11s/sys/conf/files Thu Jul 2 22:34:42 2009 (r195298) @@ -2230,6 +2230,7 @@ net/zlib.c optional crypto | geom_uzip ddb_ctf net80211/ieee80211.c optional wlan net80211/ieee80211_acl.c optional wlan wlan_acl +net80211/ieee80211_action.c optional wlan net80211/ieee80211_adhoc.c optional wlan net80211/ieee80211_ageq.c optional wlan net80211/ieee80211_amrr.c optional wlan wlan_amrr Modified: projects/mesh11s/sys/dev/mwl/if_mwl.c ============================================================================== --- projects/mesh11s/sys/dev/mwl/if_mwl.c Thu Jul 2 20:52:23 2009 (r195297) +++ projects/mesh11s/sys/dev/mwl/if_mwl.c Thu Jul 2 22:34:42 2009 (r195298) @@ -144,7 +144,7 @@ static void mwl_tx_proc(void *, int); static int mwl_chan_set(struct mwl_softc *, struct ieee80211_channel *); static void mwl_draintxq(struct mwl_softc *); static void mwl_cleartxq(struct mwl_softc *, struct ieee80211vap *); -static void mwl_recv_action(struct ieee80211_node *, +static int mwl_recv_action(struct ieee80211_node *, const uint8_t *, const uint8_t *); static int mwl_addba_request(struct ieee80211_node *, struct ieee80211_tx_ampdu *, int dialogtoken, @@ -3651,7 +3651,7 @@ mwl_cleartxq(struct mwl_softc *sc, struc } } -static void +static int mwl_recv_action(struct ieee80211_node *ni, const uint8_t *frm, const uint8_t *efrm) { struct mwl_softc *sc = ni->ni_ic->ic_ifp->if_softc; @@ -3666,8 +3666,9 @@ mwl_recv_action(struct ieee80211_node *n mwl_hal_setmimops(sc->sc_mh, ni->ni_macaddr, mps->am_control & IEEE80211_A_HT_MIMOPWRSAVE_ENA, MS(mps->am_control, IEEE80211_A_HT_MIMOPWRSAVE_MODE)); + return 0; } else - sc->sc_recv_action(ni, frm, efrm); + return sc->sc_recv_action(ni, frm, efrm); } static int Modified: projects/mesh11s/sys/dev/mwl/if_mwlvar.h ============================================================================== --- projects/mesh11s/sys/dev/mwl/if_mwlvar.h Thu Jul 2 20:52:23 2009 (r195297) +++ projects/mesh11s/sys/dev/mwl/if_mwlvar.h Thu Jul 2 22:34:42 2009 (r195298) @@ -285,7 +285,7 @@ struct mwl_softc { enum ieee80211_state, int); void (*sc_node_cleanup)(struct ieee80211_node *); void (*sc_node_drain)(struct ieee80211_node *); - void (*sc_recv_action)(struct ieee80211_node *, + int (*sc_recv_action)(struct ieee80211_node *, const uint8_t *, const uint8_t *); int (*sc_addba_request)(struct ieee80211_node *, struct ieee80211_tx_ampdu *, Added: projects/mesh11s/sys/net80211/ieee80211_action.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/sys/net80211/ieee80211_action.c Thu Jul 2 22:34:42 2009 (r195298) @@ -0,0 +1,201 @@ +/*- + * Copyright (c) 2009 Sam Leffler, Errno Consulting + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#ifdef __FreeBSD__ +__FBSDID("$FreeBSD$"); +#endif + +/* + * IEEE 802.11 send/recv action frame support. + */ + +#include "opt_inet.h" +#include "opt_wlan.h" + +#include +#include +#include + +#include + +#include +#include +#include + +#include +#include + +static int +send_inval(struct ieee80211_node *ni, int cat, int act, void *sa) +{ + return EINVAL; +} + +static ieee80211_send_action_func *ba_send_action[8] = { + send_inval, send_inval, send_inval, send_inval, + send_inval, send_inval, send_inval, send_inval, +}; +static ieee80211_send_action_func *ht_send_action[8] = { + send_inval, send_inval, send_inval, send_inval, + send_inval, send_inval, send_inval, send_inval, +}; +static ieee80211_send_action_func *vendor_send_action[8] = { + send_inval, send_inval, send_inval, send_inval, + send_inval, send_inval, send_inval, send_inval, +}; + +int +ieee80211_send_action_register(int cat, int act, ieee80211_send_action_func *f) +{ +#define N(a) (sizeof(a) / sizeof(a[0])) + switch (cat) { + case IEEE80211_ACTION_CAT_BA: + if (act >= N(ba_send_action)) + break; + ba_send_action[act] = f; + return 0; + case IEEE80211_ACTION_CAT_HT: + if (act >= N(ht_send_action)) + break; + ht_send_action[act] = f; + return 0; + case IEEE80211_ACTION_CAT_VENDOR: + if (act >= N(vendor_send_action)) + break; + vendor_send_action[act] = f; + return 0; + } + return EINVAL; +#undef N +} + +void +ieee80211_send_action_unregister(int cat, int act) +{ + ieee80211_send_action_register(cat, act, send_inval); +} + +int +ieee80211_send_action(struct ieee80211_node *ni, int cat, int act, void *sa) +{ +#define N(a) (sizeof(a) / sizeof(a[0])) + ieee80211_send_action_func *f = send_inval; + + switch (cat) { + case IEEE80211_ACTION_CAT_BA: + if (act < N(ba_send_action)) + f = ba_send_action[act]; + break; + case IEEE80211_ACTION_CAT_HT: + if (act < N(ht_send_action)) + f = ht_send_action[act]; + break; + case IEEE80211_ACTION_CAT_VENDOR: + if (act < N(vendor_send_action)) + f = vendor_send_action[act]; + break; + } + return f(ni, cat, act, sa); +#undef N +} + +static int +recv_inval(struct ieee80211_node *ni, const uint8_t *frm, + const uint8_t *efrm) +{ + return EINVAL; +} + +static ieee80211_recv_action_func *ba_recv_action[8] = { + recv_inval, recv_inval, recv_inval, recv_inval, + recv_inval, recv_inval, recv_inval, recv_inval, +}; +static ieee80211_recv_action_func *ht_recv_action[8] = { + recv_inval, recv_inval, recv_inval, recv_inval, + recv_inval, recv_inval, recv_inval, recv_inval, +}; +static ieee80211_recv_action_func *vendor_recv_action[8] = { + recv_inval, recv_inval, recv_inval, recv_inval, + recv_inval, recv_inval, recv_inval, recv_inval, +}; + +int +ieee80211_recv_action_register(int cat, int act, ieee80211_recv_action_func *f) +{ +#define N(a) (sizeof(a) / sizeof(a[0])) + switch (cat) { + case IEEE80211_ACTION_CAT_BA: + if (act >= N(ba_recv_action)) + break; + ba_recv_action[act] = f; + return 0; + case IEEE80211_ACTION_CAT_HT: + if (act >= N(ht_recv_action)) + break; + ht_recv_action[act] = f; + return 0; + case IEEE80211_ACTION_CAT_VENDOR: + if (act >= N(vendor_recv_action)) + break; + vendor_recv_action[act] = f; + return 0; + } + return EINVAL; +#undef N +} + +void +ieee80211_recv_action_unregister(int cat, int act) +{ + ieee80211_recv_action_register(cat, act, recv_inval); +} + +int +ieee80211_recv_action(struct ieee80211_node *ni, const uint8_t *frm, + const uint8_t *efrm) +{ +#define N(a) (sizeof(a) / sizeof(a[0])) + ieee80211_recv_action_func *f = recv_inval; + const struct ieee80211_action *ia = + (const struct ieee80211_action *) frm; + + switch (ia->ia_category) { + case IEEE80211_ACTION_CAT_BA: + if (ia->ia_action < N(ba_recv_action)) + f = ba_recv_action[ia->ia_action]; + break; + case IEEE80211_ACTION_CAT_HT: + if (ia->ia_action < N(ht_recv_action)) + f = ht_recv_action[ia->ia_action]; + break; + case IEEE80211_ACTION_CAT_VENDOR: + if (ia->ia_action < N(vendor_recv_action)) + f = vendor_recv_action[ia->ia_action]; + break; + } + return f(ni, frm, efrm); +#undef N +} Added: projects/mesh11s/sys/net80211/ieee80211_action.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/sys/net80211/ieee80211_action.h Thu Jul 2 22:34:42 2009 (r195298) @@ -0,0 +1,50 @@ +/*- + * Copyright (c) 2009 Sam Leffler, Errno Consulting + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ +#ifndef _NET80211_IEEE80211_ACTION_H_ +#define _NET80211_IEEE80211_ACTION_H_ + +/* + * 802.11 send/recv action frame support. + */ + +struct ieee80211_node; + +typedef int ieee80211_send_action_func(struct ieee80211_node *, + int, int, void *); +int ieee80211_send_action_register(int cat, int act, + ieee80211_send_action_func *f); +void ieee80211_send_action_unregister(int cat, int act); +int ieee80211_send_action(struct ieee80211_node *, int, int, void *); + +typedef int ieee80211_recv_action_func(struct ieee80211_node *, + const uint8_t *, const uint8_t *); +int ieee80211_recv_action_register(int cat, int act, + ieee80211_recv_action_func *); +void ieee80211_recv_action_unregister(int cat, int act); +int ieee80211_recv_action(struct ieee80211_node *, + const uint8_t *, const uint8_t *); +#endif /* _NET80211_IEEE80211_ACTION_H_ */ Modified: projects/mesh11s/sys/net80211/ieee80211_ht.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ht.c Thu Jul 2 20:52:23 2009 (r195297) +++ projects/mesh11s/sys/net80211/ieee80211_ht.c Thu Jul 2 22:34:42 2009 (r195298) @@ -47,8 +47,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include -#include /* define here, used throughout file */ #define MS(_v, _f) (((_v) & _f) >> _f##_S) @@ -105,20 +105,52 @@ SYSCTL_INT(_net_wlan, OID_AUTO, addba_ma static int ieee80211_bar_timeout = -1; /* timeout waiting for BAR response */ static int ieee80211_bar_maxtries = 50;/* max BAR requests before DELBA */ -/* - * Setup HT parameters that depends on the clock frequency. - */ +static ieee80211_recv_action_func ht_recv_action_ba_addba_request; +static ieee80211_recv_action_func ht_recv_action_ba_addba_response; +static ieee80211_recv_action_func ht_recv_action_ba_delba; +static ieee80211_recv_action_func ht_recv_action_ht_mimopwrsave; +static ieee80211_recv_action_func ht_recv_action_ht_txchwidth; + +static ieee80211_send_action_func ht_send_action_ba_addba; +static ieee80211_send_action_func ht_send_action_ba_delba; +static ieee80211_send_action_func ht_send_action_ht_txchwidth; + static void -ieee80211_ht_setup(void) +ieee80211_ht_init(void) { + /* + * Setup HT parameters that depends on the clock frequency. + */ #ifdef IEEE80211_AMPDU_AGE ieee80211_ampdu_age = msecs_to_ticks(500); #endif ieee80211_addba_timeout = msecs_to_ticks(250); ieee80211_addba_backoff = msecs_to_ticks(10*1000); ieee80211_bar_timeout = msecs_to_ticks(250); + /* + * Register action frame handlers. + */ + ieee80211_recv_action_register(IEEE80211_ACTION_CAT_BA, + IEEE80211_ACTION_BA_ADDBA_REQUEST, ht_recv_action_ba_addba_request); + ieee80211_recv_action_register(IEEE80211_ACTION_CAT_BA, + IEEE80211_ACTION_BA_ADDBA_RESPONSE, ht_recv_action_ba_addba_response); + ieee80211_recv_action_register(IEEE80211_ACTION_CAT_BA, + IEEE80211_ACTION_BA_DELBA, ht_recv_action_ba_delba); + ieee80211_recv_action_register(IEEE80211_ACTION_CAT_HT, + IEEE80211_ACTION_HT_MIMOPWRSAVE, ht_recv_action_ht_mimopwrsave); + ieee80211_recv_action_register(IEEE80211_ACTION_CAT_HT, + IEEE80211_ACTION_HT_TXCHWIDTH, ht_recv_action_ht_txchwidth); + + ieee80211_send_action_register(IEEE80211_ACTION_CAT_BA, + IEEE80211_ACTION_BA_ADDBA_REQUEST, ht_send_action_ba_addba); + ieee80211_send_action_register(IEEE80211_ACTION_CAT_BA, + IEEE80211_ACTION_BA_ADDBA_RESPONSE, ht_send_action_ba_addba); + ieee80211_send_action_register(IEEE80211_ACTION_CAT_BA, + IEEE80211_ACTION_BA_DELBA, ht_send_action_ba_delba); + ieee80211_send_action_register(IEEE80211_ACTION_CAT_HT, + IEEE80211_ACTION_HT_TXCHWIDTH, ht_send_action_ht_txchwidth); } -SYSINIT(wlan_ht, SI_SUB_DRIVERS, SI_ORDER_FIRST, ieee80211_ht_setup, NULL); +SYSINIT(wlan_ht, SI_SUB_DRIVERS, SI_ORDER_FIRST, ieee80211_ht_init, NULL); static int ieee80211_ampdu_enable(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap); @@ -130,8 +162,6 @@ static int ieee80211_addba_response(stru int code, int baparamset, int batimeout); static void ieee80211_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap); -static void ieee80211_aggr_recv_action(struct ieee80211_node *ni, - const uint8_t *frm, const uint8_t *efrm); static void ieee80211_bar_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, int status); static void ampdu_tx_stop(struct ieee80211_tx_ampdu *tap); @@ -144,7 +174,7 @@ void ieee80211_ht_attach(struct ieee80211com *ic) { /* setup default aggregation policy */ - ic->ic_recv_action = ieee80211_aggr_recv_action; + ic->ic_recv_action = ieee80211_recv_action; ic->ic_send_action = ieee80211_send_action; ic->ic_ampdu_enable = ieee80211_ampdu_enable; ic->ic_addba_request = ieee80211_addba_request; @@ -1581,171 +1611,216 @@ ieee80211_addba_stop(struct ieee80211_no * update our aggregation state. All other frames are passed up * for processing by ieee80211_recv_action. */ -static void -ieee80211_aggr_recv_action(struct ieee80211_node *ni, +static int +ht_recv_action_ba_addba_request(struct ieee80211_node *ni, const uint8_t *frm, const uint8_t *efrm) { struct ieee80211com *ic = ni->ni_ic; struct ieee80211vap *vap = ni->ni_vap; - const struct ieee80211_action *ia; struct ieee80211_rx_ampdu *rap; + uint8_t dialogtoken; + uint16_t baparamset, batimeout, baseqctl; + uint16_t args[4]; + int tid; + + dialogtoken = frm[2]; + baparamset = LE_READ_2(frm+3); + batimeout = LE_READ_2(frm+5); + baseqctl = LE_READ_2(frm+7); + + tid = MS(baparamset, IEEE80211_BAPS_TID); + + IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, + "recv ADDBA request: dialogtoken %u baparamset 0x%x " + "(tid %d bufsiz %d) batimeout %d baseqctl %d:%d", + dialogtoken, baparamset, + tid, MS(baparamset, IEEE80211_BAPS_BUFSIZ), + batimeout, + MS(baseqctl, IEEE80211_BASEQ_START), + MS(baseqctl, IEEE80211_BASEQ_FRAG)); + + rap = &ni->ni_rx_ampdu[tid]; + + /* Send ADDBA response */ + args[0] = dialogtoken; + /* + * NB: We ack only if the sta associated with HT and + * the ap is configured to do AMPDU rx (the latter + * violates the 11n spec and is mostly for testing). + */ + if ((ni->ni_flags & IEEE80211_NODE_AMPDU_RX) && + (vap->iv_flags_ht & IEEE80211_FHT_AMPDU_RX)) { + /* XXX handle ampdu_rx_start failure */ + ic->ic_ampdu_rx_start(ni, rap, + baparamset, batimeout, baseqctl); + + args[1] = IEEE80211_STATUS_SUCCESS; + } else { + IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, + ni, "reject ADDBA request: %s", + ni->ni_flags & IEEE80211_NODE_AMPDU_RX ? + "administratively disabled" : + "not negotiated for station"); + vap->iv_stats.is_addba_reject++; + args[1] = IEEE80211_STATUS_UNSPECIFIED; + } + /* XXX honor rap flags? */ + args[2] = IEEE80211_BAPS_POLICY_IMMEDIATE + | SM(tid, IEEE80211_BAPS_TID) + | SM(rap->rxa_wnd, IEEE80211_BAPS_BUFSIZ) + ; + args[3] = 0; + ic->ic_send_action(ni, IEEE80211_ACTION_CAT_BA, + IEEE80211_ACTION_BA_ADDBA_RESPONSE, args); + return 0; +} + +static int +ht_recv_action_ba_addba_response(struct ieee80211_node *ni, + const uint8_t *frm, const uint8_t *efrm) +{ + struct ieee80211com *ic = ni->ni_ic; + struct ieee80211vap *vap = ni->ni_vap; struct ieee80211_tx_ampdu *tap; uint8_t dialogtoken, policy; - uint16_t baparamset, batimeout, baseqctl, code; - union ieee80211_send_action_args sargs; + uint16_t baparamset, batimeout, code; int tid, ac, bufsiz; - ia = (const struct ieee80211_action *) frm; - switch (ia->ia_category) { - case IEEE80211_ACTION_CAT_BA: - switch (ia->ia_action) { - case IEEE80211_ACTION_BA_ADDBA_REQUEST: - dialogtoken = frm[2]; - baparamset = LE_READ_2(frm+3); - batimeout = LE_READ_2(frm+5); - baseqctl = LE_READ_2(frm+7); + dialogtoken = frm[2]; + code = LE_READ_2(frm+3); + baparamset = LE_READ_2(frm+5); + tid = MS(baparamset, IEEE80211_BAPS_TID); + bufsiz = MS(baparamset, IEEE80211_BAPS_BUFSIZ); + policy = MS(baparamset, IEEE80211_BAPS_POLICY); + batimeout = LE_READ_2(frm+7); - tid = MS(baparamset, IEEE80211_BAPS_TID); + ac = TID_TO_WME_AC(tid); + tap = &ni->ni_tx_ampdu[ac]; + if ((tap->txa_flags & IEEE80211_AGGR_XCHGPEND) == 0) { + IEEE80211_DISCARD_MAC(vap, + IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, + ni->ni_macaddr, "ADDBA response", + "no pending ADDBA, tid %d dialogtoken %u " + "code %d", tid, dialogtoken, code); + vap->iv_stats.is_addba_norequest++; + return 0; + } + if (dialogtoken != tap->txa_token) { + IEEE80211_DISCARD_MAC(vap, + IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, + ni->ni_macaddr, "ADDBA response", + "dialogtoken mismatch: waiting for %d, " + "received %d, tid %d code %d", + tap->txa_token, dialogtoken, tid, code); + vap->iv_stats.is_addba_badtoken++; + return 0; + } + /* NB: assumes IEEE80211_AGGR_IMMEDIATE is 1 */ + if (policy != (tap->txa_flags & IEEE80211_AGGR_IMMEDIATE)) { + IEEE80211_DISCARD_MAC(vap, + IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, + ni->ni_macaddr, "ADDBA response", + "policy mismatch: expecting %s, " + "received %s, tid %d code %d", + tap->txa_flags & IEEE80211_AGGR_IMMEDIATE, + policy, tid, code); + vap->iv_stats.is_addba_badpolicy++; + return 0; + } +#if 0 + /* XXX we take MIN in ieee80211_addba_response */ + if (bufsiz > IEEE80211_AGGR_BAWMAX) { + IEEE80211_DISCARD_MAC(vap, + IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, + ni->ni_macaddr, "ADDBA response", + "BA window too large: max %d, " + "received %d, tid %d code %d", + bufsiz, IEEE80211_AGGR_BAWMAX, tid, code); + vap->iv_stats.is_addba_badbawinsize++; + return 0; + } +#endif + IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, + "recv ADDBA response: dialogtoken %u code %d " + "baparamset 0x%x (tid %d bufsiz %d) batimeout %d", + dialogtoken, code, baparamset, tid, bufsiz, + batimeout); + ic->ic_addba_response(ni, tap, code, baparamset, batimeout); + return 0; +} - IEEE80211_NOTE(vap, - IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, - "recv ADDBA request: dialogtoken %u " - "baparamset 0x%x (tid %d bufsiz %d) batimeout %d " - "baseqctl %d:%d", - dialogtoken, baparamset, - tid, MS(baparamset, IEEE80211_BAPS_BUFSIZ), - batimeout, - MS(baseqctl, IEEE80211_BASEQ_START), - MS(baseqctl, IEEE80211_BASEQ_FRAG)); +static int +ht_recv_action_ba_delba(struct ieee80211_node *ni, + const uint8_t *frm, const uint8_t *efrm) +{ + struct ieee80211com *ic = ni->ni_ic; + struct ieee80211_rx_ampdu *rap; + struct ieee80211_tx_ampdu *tap; + uint16_t baparamset, code; + int tid, ac; - rap = &ni->ni_rx_ampdu[tid]; + baparamset = LE_READ_2(frm+2); + code = LE_READ_2(frm+4); - /* Send ADDBA response */ - sargs.arg[0] = dialogtoken; - /* - * NB: We ack only if the sta associated with HT and - * the ap is configured to do AMPDU rx (the latter - * violates the 11n spec and is mostly for testing). - */ - if ((ni->ni_flags & IEEE80211_NODE_AMPDU_RX) && - (vap->iv_flags_ht & IEEE80211_FHT_AMPDU_RX)) { - /* XXX handle ampdu_rx_start failure */ - ic->ic_ampdu_rx_start(ni, rap, - baparamset, batimeout, baseqctl); + tid = MS(baparamset, IEEE80211_DELBAPS_TID); - sargs.arg[1] = IEEE80211_STATUS_SUCCESS; - } else { - IEEE80211_NOTE(vap, - IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, - ni, "reject ADDBA request: %s", - ni->ni_flags & IEEE80211_NODE_AMPDU_RX ? - "administratively disabled" : - "not negotiated for station"); - vap->iv_stats.is_addba_reject++; - sargs.arg[1] = - IEEE80211_STATUS_UNSPECIFIED; - } - /* XXX honor rap flags? */ - sargs.arg[2] = - IEEE80211_BAPS_POLICY_IMMEDIATE - | SM(tid, IEEE80211_BAPS_TID) - | SM(rap->rxa_wnd, IEEE80211_BAPS_BUFSIZ) - ; - sargs.arg[3] = 0; - ic->ic_send_action(ni, IEEE80211_ACTION_CAT_BA, - IEEE80211_ACTION_BA_ADDBA_RESPONSE, sargs); - return; - - case IEEE80211_ACTION_BA_ADDBA_RESPONSE: - dialogtoken = frm[2]; - code = LE_READ_2(frm+3); - baparamset = LE_READ_2(frm+5); - tid = MS(baparamset, IEEE80211_BAPS_TID); - bufsiz = MS(baparamset, IEEE80211_BAPS_BUFSIZ); - policy = MS(baparamset, IEEE80211_BAPS_POLICY); - batimeout = LE_READ_2(frm+7); - - ac = TID_TO_WME_AC(tid); - tap = &ni->ni_tx_ampdu[ac]; - if ((tap->txa_flags & IEEE80211_AGGR_XCHGPEND) == 0) { - IEEE80211_DISCARD_MAC(vap, - IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, - ni->ni_macaddr, "ADDBA response", - "no pending ADDBA, tid %d dialogtoken %u " - "code %d", tid, dialogtoken, code); - vap->iv_stats.is_addba_norequest++; - return; - } - if (dialogtoken != tap->txa_token) { - IEEE80211_DISCARD_MAC(vap, - IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, - ni->ni_macaddr, "ADDBA response", - "dialogtoken mismatch: waiting for %d, " - "received %d, tid %d code %d", - tap->txa_token, dialogtoken, tid, code); - vap->iv_stats.is_addba_badtoken++; - return; - } - /* NB: assumes IEEE80211_AGGR_IMMEDIATE is 1 */ - if (policy != (tap->txa_flags & IEEE80211_AGGR_IMMEDIATE)) { - IEEE80211_DISCARD_MAC(vap, - IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, - ni->ni_macaddr, "ADDBA response", - "policy mismatch: expecting %s, " - "received %s, tid %d code %d", - tap->txa_flags & IEEE80211_AGGR_IMMEDIATE, - policy, tid, code); - vap->iv_stats.is_addba_badpolicy++; - return; - } -#if 0 - /* XXX we take MIN in ieee80211_addba_response */ - if (bufsiz > IEEE80211_AGGR_BAWMAX) { - IEEE80211_DISCARD_MAC(vap, - IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, - ni->ni_macaddr, "ADDBA response", - "BA window too large: max %d, " - "received %d, tid %d code %d", - bufsiz, IEEE80211_AGGR_BAWMAX, tid, code); - vap->iv_stats.is_addba_badbawinsize++; - return; - } -#endif - IEEE80211_NOTE(vap, - IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, - "recv ADDBA response: dialogtoken %u code %d " - "baparamset 0x%x (tid %d bufsiz %d) batimeout %d", - dialogtoken, code, baparamset, tid, bufsiz, - batimeout); - ic->ic_addba_response(ni, tap, - code, baparamset, batimeout); - return; - - case IEEE80211_ACTION_BA_DELBA: - baparamset = LE_READ_2(frm+2); - code = LE_READ_2(frm+4); + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, + "recv DELBA: baparamset 0x%x (tid %d initiator %d) " + "code %d", baparamset, tid, + MS(baparamset, IEEE80211_DELBAPS_INIT), code); - tid = MS(baparamset, IEEE80211_DELBAPS_TID); + if ((baparamset & IEEE80211_DELBAPS_INIT) == 0) { + ac = TID_TO_WME_AC(tid); + tap = &ni->ni_tx_ampdu[ac]; + ic->ic_addba_stop(ni, tap); + } else { + rap = &ni->ni_rx_ampdu[tid]; + ic->ic_ampdu_rx_stop(ni, rap); + } + return 0; +} - IEEE80211_NOTE(vap, - IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, - "recv DELBA: baparamset 0x%x (tid %d initiator %d) " - "code %d", baparamset, tid, - MS(baparamset, IEEE80211_DELBAPS_INIT), code); - - if ((baparamset & IEEE80211_DELBAPS_INIT) == 0) { - ac = TID_TO_WME_AC(tid); - tap = &ni->ni_tx_ampdu[ac]; - ic->ic_addba_stop(ni, tap); - } else { - rap = &ni->ni_rx_ampdu[tid]; - ic->ic_ampdu_rx_stop(ni, rap); - } - return; - } - break; +static int +ht_recv_action_ht_txchwidth(struct ieee80211_node *ni, + const uint8_t *frm, const uint8_t *efrm) +{ + int chw; + + chw = (frm[2] == IEEE80211_A_HT_TXCHWIDTH_2040) ? 40 : 20; + + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, + "%s: HT txchwidth, width %d%s", + __func__, chw, ni->ni_chw != chw ? "*" : ""); + if (chw != ni->ni_chw) { + ni->ni_chw = chw; + /* XXX notify on change */ } - ieee80211_recv_action(ni, frm, efrm); + return 0; +} + +static int +ht_recv_action_ht_mimopwrsave(struct ieee80211_node *ni, + const uint8_t *frm, const uint8_t *efrm) +{ + const struct ieee80211_action_ht_mimopowersave *mps = + (const struct ieee80211_action_ht_mimopowersave *) frm; + + /* XXX check iv_htcaps */ + if (mps->am_control & IEEE80211_A_HT_MIMOPWRSAVE_ENA) + ni->ni_flags |= IEEE80211_NODE_MIMO_PS; + else + ni->ni_flags &= ~IEEE80211_NODE_MIMO_PS; + if (mps->am_control & IEEE80211_A_HT_MIMOPWRSAVE_MODE) + ni->ni_flags |= IEEE80211_NODE_MIMO_RTS; + else + ni->ni_flags &= ~IEEE80211_NODE_MIMO_RTS; + /* XXX notify on change */ + IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, + "%s: HT MIMO PS (%s%s)", __func__, + (ni->ni_flags & IEEE80211_NODE_MIMO_PS) ? "on" : "off", + (ni->ni_flags & IEEE80211_NODE_MIMO_RTS) ? "+rts" : "" + ); + return 0; } /* @@ -1794,9 +1869,9 @@ ieee80211_ampdu_request(struct ieee80211 struct ieee80211_tx_ampdu *tap) { struct ieee80211com *ic = ni->ni_ic; + uint16_t args[4]; int tid, dialogtoken; static int tokens = 0; /* XXX */ - union ieee80211_send_action_args sargs; /* XXX locking */ if ((tap->txa_flags & IEEE80211_AGGR_SETUP) == 0) { @@ -1810,15 +1885,14 @@ ieee80211_ampdu_request(struct ieee80211 tid = WME_AC_TO_TID(tap->txa_ac); tap->txa_start = ni->ni_txseqs[tid]; - sargs.arg[0] = dialogtoken; - sargs.arg[1] = IEEE80211_BAPS_POLICY_IMMEDIATE + args[0] = dialogtoken; + args[1] = IEEE80211_BAPS_POLICY_IMMEDIATE | SM(tid, IEEE80211_BAPS_TID) | SM(IEEE80211_AGGR_BAWMAX, IEEE80211_BAPS_BUFSIZ) ; - sargs.arg[2] = 0; /* batimeout */ + args[2] = 0; /* batimeout */ /* NB: do first so there's no race against reply */ - if (!ic->ic_addba_request(ni, tap, dialogtoken, sargs.arg[1], - sargs.arg[2])) { + if (!ic->ic_addba_request(ni, tap, dialogtoken, args[1], args[2])) { /* unable to setup state, don't make request */ IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni, "%s: could not setup BA stream for AC %d", @@ -1832,11 +1906,11 @@ ieee80211_ampdu_request(struct ieee80211 } tokens = dialogtoken; /* allocate token */ /* NB: after calling ic_addba_request so driver can set txa_start */ - sargs.arg[3] = SM(tap->txa_start, IEEE80211_BASEQ_START) + args[3] = SM(tap->txa_start, IEEE80211_BASEQ_START) | SM(0, IEEE80211_BASEQ_FRAG) ; return ic->ic_send_action(ni, IEEE80211_ACTION_CAT_BA, - IEEE80211_ACTION_BA_ADDBA_REQUEST, sargs); + IEEE80211_ACTION_BA_ADDBA_REQUEST, args); } /* @@ -1849,7 +1923,7 @@ ieee80211_ampdu_stop(struct ieee80211_no { struct ieee80211com *ic = ni->ni_ic; struct ieee80211vap *vap = ni->ni_vap; - union ieee80211_send_action_args sargs; + uint16_t args[4]; /* XXX locking */ tap->txa_flags &= ~IEEE80211_AGGR_BARPEND; @@ -1860,11 +1934,11 @@ ieee80211_ampdu_stop(struct ieee80211_no vap->iv_stats.is_ampdu_stop++; ic->ic_addba_stop(ni, tap); - sargs.arg[0] = WME_AC_TO_TID(tap->txa_ac); - sargs.arg[1] = IEEE80211_DELBAPS_INIT; - sargs.arg[2] = reason; /* XXX reason code */ - ieee80211_send_action(ni, IEEE80211_ACTION_CAT_BA, - IEEE80211_ACTION_BA_DELBA, sargs); + args[0] = WME_AC_TO_TID(tap->txa_ac); + args[1] = IEEE80211_DELBAPS_INIT; + args[2] = reason; /* XXX reason code */ + ic->ic_send_action(ni, IEEE80211_ACTION_CAT_BA, + IEEE80211_ACTION_BA_DELBA, args); } else { IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, "%s: BA stream for AC %d not running (reason %d)", @@ -2041,6 +2115,161 @@ bad: #undef senderr } +static int +ht_action_output(struct ieee80211_node *ni, struct mbuf *m) +{ + struct ieee80211_bpf_params params; + + memset(¶ms, 0, sizeof(params)); + params.ibp_pri = WME_AC_VO; + params.ibp_rate0 = ni->ni_txparms->mgmtrate; + /* NB: we know all frames are unicast */ + params.ibp_try0 = ni->ni_txparms->maxretry; + params.ibp_power = ni->ni_txpower; + return ieee80211_mgmt_output(ni, m, IEEE80211_FC0_SUBTYPE_ACTION, + ¶ms); +} + +#define ADDSHORT(frm, v) do { \ + frm[0] = (v) & 0xff; \ + frm[1] = (v) >> 8; \ + frm += 2; \ +} while (0) + +/* + * Send an action management frame. The arguments are stuff + * into a frame without inspection; the caller is assumed to + * prepare them carefully (e.g. based on the aggregation state). + */ +static int +ht_send_action_ba_addba(struct ieee80211_node *ni, + int category, int action, void *arg0) +{ + struct ieee80211vap *vap = ni->ni_vap; + struct ieee80211com *ic = ni->ni_ic; + uint16_t *args = arg0; + struct mbuf *m; + uint8_t *frm; + + IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, + "send ADDBA %s: dialogtoken %d " + "baparamset 0x%x (tid %d) batimeout 0x%x baseqctl 0x%x", + (action == IEEE80211_ACTION_BA_ADDBA_REQUEST) ? + "request" : "response", + args[0], args[1], MS(args[1], IEEE80211_BAPS_TID), + args[2], args[3]); + + IEEE80211_DPRINTF(vap, IEEE80211_MSG_NODE, + "ieee80211_ref_node (%s:%u) %p<%s> refcnt %d\n", __func__, __LINE__, + ni, ether_sprintf(ni->ni_macaddr), ieee80211_node_refcnt(ni)+1); + ieee80211_ref_node(ni); + + m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), + sizeof(uint16_t) /* action+category */ + /* XXX may action payload */ + + sizeof(struct ieee80211_action_ba_addbaresponse) + ); + if (m != NULL) { + *frm++ = category; + *frm++ = action; + *frm++ = args[0]; /* dialog token */ + ADDSHORT(frm, args[1]); /* baparamset */ + ADDSHORT(frm, args[2]); /* batimeout */ + if (action == IEEE80211_ACTION_BA_ADDBA_REQUEST) + ADDSHORT(frm, args[3]); /* baseqctl */ + m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *); + return ht_action_output(ni, m); + } else { + vap->iv_stats.is_tx_nobuf++; + ieee80211_free_node(ni); + return ENOMEM; + } +} + +static int +ht_send_action_ba_delba(struct ieee80211_node *ni, + int category, int action, void *arg0) +{ + struct ieee80211vap *vap = ni->ni_vap; + struct ieee80211com *ic = ni->ni_ic; + uint16_t *args = arg0; + struct mbuf *m; + uint16_t baparamset; + uint8_t *frm; + + baparamset = SM(args[0], IEEE80211_DELBAPS_TID) + | args[1] + ; + IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, + "send DELBA action: tid %d, initiator %d reason %d", + args[0], args[1], args[2]); + + IEEE80211_DPRINTF(vap, IEEE80211_MSG_NODE, + "ieee80211_ref_node (%s:%u) %p<%s> refcnt %d\n", __func__, __LINE__, + ni, ether_sprintf(ni->ni_macaddr), ieee80211_node_refcnt(ni)+1); + ieee80211_ref_node(ni); + + m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), + sizeof(uint16_t) /* action+category */ + /* XXX may action payload */ + + sizeof(struct ieee80211_action_ba_addbaresponse) + ); + if (m != NULL) { + *frm++ = category; + *frm++ = action; + ADDSHORT(frm, baparamset); + ADDSHORT(frm, args[2]); /* reason code */ + m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *); + return ht_action_output(ni, m); + } else { + vap->iv_stats.is_tx_nobuf++; + ieee80211_free_node(ni); + return ENOMEM; + } +} + +static int +ht_send_action_ht_txchwidth(struct ieee80211_node *ni, + int category, int action, void *arg0) +{ + struct ieee80211vap *vap = ni->ni_vap; + struct ieee80211com *ic = ni->ni_ic; + struct mbuf *m; + uint8_t *frm; + + IEEE80211_NOTE(vap, IEEE80211_MSG_ACTION | IEEE80211_MSG_11N, ni, + "send HT txchwidth: width %d", + IEEE80211_IS_CHAN_HT40(ni->ni_chan) ? 40 : 20); + + IEEE80211_DPRINTF(vap, IEEE80211_MSG_NODE, + "ieee80211_ref_node (%s:%u) %p<%s> refcnt %d\n", __func__, __LINE__, + ni, ether_sprintf(ni->ni_macaddr), ieee80211_node_refcnt(ni)+1); + ieee80211_ref_node(ni); + + m = ieee80211_getmgtframe(&frm, + ic->ic_headroom + sizeof(struct ieee80211_frame), + sizeof(uint16_t) /* action+category */ + /* XXX may action payload */ + + sizeof(struct ieee80211_action_ba_addbaresponse) + ); + if (m != NULL) { + *frm++ = category; + *frm++ = action; + *frm++ = IEEE80211_IS_CHAN_HT40(ni->ni_chan) ? + IEEE80211_A_HT_TXCHWIDTH_2040 : + IEEE80211_A_HT_TXCHWIDTH_20; + m->m_pkthdr.len = m->m_len = frm - mtod(m, uint8_t *); + return ht_action_output(ni, m); + } else { + vap->iv_stats.is_tx_nobuf++; + ieee80211_free_node(ni); + return ENOMEM; + } +} +#undef ADDSHORT + /* * Construct the MCS bit mask for inclusion * in an HT information element. Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Thu Jul 2 20:52:23 2009 (r195297) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Thu Jul 2 22:34:42 2009 (r195298) @@ -60,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Jul 2 23:33:35 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F9AD106564A; Thu, 2 Jul 2009 23:33:35 +0000 (UTC) (envelope-from jb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7D1198FC12; Thu, 2 Jul 2009 23:33:35 +0000 (UTC) (envelope-from jb@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n62NXZD7060787; Thu, 2 Jul 2009 23:33:35 GMT (envelope-from jb@svn.freebsd.org) Received: (from jb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n62NXZeM060783; Thu, 2 Jul 2009 23:33:35 GMT (envelope-from jb@svn.freebsd.org) Message-Id: <200907022333.n62NXZeM060783@svn.freebsd.org> From: John Birrell Date: Thu, 2 Jul 2009 23:33:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195300 - projects/jbuild/usr.bin/make X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 23:33:35 -0000 Author: jb Date: Thu Jul 2 23:33:34 2009 New Revision: 195300 URL: http://svn.freebsd.org/changeset/base/195300 Log: Add an extra debug level (w) to make it easier to determine what thing in the meta data caused a target to be out of date. Previously this was part of 'm', but that is very verbose. Modified: projects/jbuild/usr.bin/make/main.c projects/jbuild/usr.bin/make/make.c projects/jbuild/usr.bin/make/util.h Modified: projects/jbuild/usr.bin/make/main.c ============================================================================== --- projects/jbuild/usr.bin/make/main.c Thu Jul 2 22:52:10 2009 (r195299) +++ projects/jbuild/usr.bin/make/main.c Thu Jul 2 23:33:34 2009 (r195300) @@ -458,6 +458,11 @@ rearg: case 'v': debug |= DEBUG_VAR; break; +#ifdef MAKE_IS_BUILD + case 'w': + debug |= DEBUG_WHY; + break; +#endif default: warnx("illegal argument to d option " "-- %c", *modules); Modified: projects/jbuild/usr.bin/make/make.c ============================================================================== --- projects/jbuild/usr.bin/make/make.c Thu Jul 2 22:52:10 2009 (r195299) +++ projects/jbuild/usr.bin/make/make.c Thu Jul 2 23:33:34 2009 (r195300) @@ -350,7 +350,7 @@ Make_OODate(GNode *gn) if (stat(p, &fs) == 0 && !S_ISDIR(fs.st_mode) && fs.st_mtime > gn->mtime) { - DEBUGF(MAKE, ("File '%s' is newer than the target...", p)); + DEBUGF(WHY, ("File '%s' is newer than the target...", p)); oodate = TRUE; } break; @@ -364,13 +364,13 @@ Make_OODate(GNode *gn) */ } else if (strcmp(bufr, "CMD") == 0) { if (lnp == NULL) { - DEBUGF(MAKE, ("There were more build commands in the meta data file than there are now...")); + DEBUGF(WHY, ("There were more build commands in the meta data file than there are now...")); oodate = TRUE; } else { char *cmd = Buf_Peel(Var_Subst(lnp->datum, gn, TRUE)); if (strcmp(p, cmd) != 0) { - DEBUGF(MAKE, ("A build command has changed\n%s\nvs\n%s\n... ", p, cmd)); + DEBUGF(WHY, ("A build command has changed\n%s\nvs\n%s\n... ", p, cmd)); oodate = TRUE; } @@ -379,7 +379,7 @@ Make_OODate(GNode *gn) } else if (strcmp(bufr, "CWD") == 0) { char curdir[MAXPATHLEN]; if (strcmp(p, getcwd(curdir, sizeof(curdir))) != 0) { - DEBUGF(MAKE, ("The current working directory has changed from '%s' to '%s'.. ", p, curdir)); + DEBUGF(WHY, ("The current working directory has changed from '%s' to '%s'.. ", p, curdir)); oodate = TRUE; } } @@ -390,7 +390,7 @@ Make_OODate(GNode *gn) * data file. */ if (!oodate && lnp != NULL) { - DEBUGF(MAKE, ("There are extra build commands now that weren't in the meta data file")); + DEBUGF(WHY, ("There are extra build commands now that weren't in the meta data file")); oodate = TRUE; } Modified: projects/jbuild/usr.bin/make/util.h ============================================================================== --- projects/jbuild/usr.bin/make/util.h Thu Jul 2 22:52:10 2009 (r195299) +++ projects/jbuild/usr.bin/make/util.h Thu Jul 2 23:33:34 2009 (r195300) @@ -79,6 +79,9 @@ struct flag2str { #define DEBUG_VAR 0x0200 #define DEBUG_FOR 0x0400 #define DEBUG_LOUD 0x0800 +#ifdef MAKE_IS_BUILD +#define DEBUG_WHY 0x1000 +#endif #define DEBUG(module) (debug & CONCAT(DEBUG_,module)) #define DEBUGF(module,args) \ From owner-svn-src-projects@FreeBSD.ORG Fri Jul 3 03:10:59 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 06B56106566C; Fri, 3 Jul 2009 03:10:59 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E5E2A8FC08; Fri, 3 Jul 2009 03:10:58 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n633AwWS065109; Fri, 3 Jul 2009 03:10:58 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n633AwHi065107; Fri, 3 Jul 2009 03:10:58 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200907030310.n633AwHi065107@svn.freebsd.org> From: Sam Leffler Date: Fri, 3 Jul 2009 03:10:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195302 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 03:10:59 -0000 Author: sam Date: Fri Jul 3 03:10:58 2009 New Revision: 195302 URL: http://svn.freebsd.org/changeset/base/195302 Log: remove c&p copyright; not my work Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_mesh.c Fri Jul 3 02:51:14 2009 (r195301) +++ projects/mesh11s/sys/net80211/ieee80211_mesh.c Fri Jul 3 03:10:58 2009 (r195302) @@ -1,5 +1,4 @@ /*- - * Copyright (c) 2007-2009 Sam Leffler, Errno Consulting * Copyright (c) 2009 The FreeBSD Foundation * All rights reserved. * From owner-svn-src-projects@FreeBSD.ORG Fri Jul 3 04:39:21 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53876106564A; Fri, 3 Jul 2009 04:39:21 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3AFAE8FC1A; Fri, 3 Jul 2009 04:39:21 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n634dLWt066697; Fri, 3 Jul 2009 04:39:21 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n634dK8k066674; Fri, 3 Jul 2009 04:39:20 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <200907030439.n634dK8k066674@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Fri, 3 Jul 2009 04:39:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195303 - in projects/mips: . bin/chflags bin/chmod bin/df bin/hostname bin/sh cddl/contrib/opensolaris contrib/bind9 contrib/bind9/bin/check contrib/bind9/bin/dnssec contrib/bind9/doc/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 04:39:21 -0000 Author: gonzo Date: Fri Jul 3 04:39:18 2009 New Revision: 195303 URL: http://svn.freebsd.org/changeset/base/195303 Log: - MFC Added: projects/mips/contrib/bind9/KNOWN-DEFECTS - copied unchanged from r195300, head/contrib/bind9/KNOWN-DEFECTS projects/mips/crypto/openssl/apps/cms.c - copied unchanged from r195300, head/crypto/openssl/apps/cms.c projects/mips/crypto/openssl/apps/genpkey.c - copied unchanged from r195300, head/crypto/openssl/apps/genpkey.c projects/mips/crypto/openssl/apps/md4.c - copied unchanged from r195300, head/crypto/openssl/apps/md4.c projects/mips/crypto/openssl/apps/pkey.c - copied unchanged from r195300, head/crypto/openssl/apps/pkey.c projects/mips/crypto/openssl/apps/pkeyparam.c - copied unchanged from r195300, head/crypto/openssl/apps/pkeyparam.c projects/mips/crypto/openssl/apps/pkeyutl.c - copied unchanged from r195300, head/crypto/openssl/apps/pkeyutl.c projects/mips/crypto/openssl/apps/ts.c - copied unchanged from r195300, head/crypto/openssl/apps/ts.c projects/mips/crypto/openssl/apps/tsget - copied unchanged from r195300, head/crypto/openssl/apps/tsget projects/mips/crypto/openssl/certs/README.RootCerts - copied unchanged from r195300, head/crypto/openssl/certs/README.RootCerts projects/mips/crypto/openssl/crypto/aes/aes_wrap.c - copied unchanged from r195300, head/crypto/openssl/crypto/aes/aes_wrap.c projects/mips/crypto/openssl/crypto/aes/aes_x86core.c - copied unchanged from r195300, head/crypto/openssl/crypto/aes/aes_x86core.c projects/mips/crypto/openssl/crypto/aes/asm/aes-armv4.pl - copied unchanged from r195300, head/crypto/openssl/crypto/aes/asm/aes-armv4.pl projects/mips/crypto/openssl/crypto/aes/asm/aes-ppc.pl - copied unchanged from r195300, head/crypto/openssl/crypto/aes/asm/aes-ppc.pl projects/mips/crypto/openssl/crypto/aes/asm/aes-s390x.pl - copied unchanged from r195300, head/crypto/openssl/crypto/aes/asm/aes-s390x.pl projects/mips/crypto/openssl/crypto/aes/asm/aes-sparcv9.pl - copied unchanged from r195300, head/crypto/openssl/crypto/aes/asm/aes-sparcv9.pl projects/mips/crypto/openssl/crypto/aes/asm/aes-x86_64.pl - copied unchanged from r195300, head/crypto/openssl/crypto/aes/asm/aes-x86_64.pl projects/mips/crypto/openssl/crypto/asn1/ameth_lib.c - copied unchanged from r195300, head/crypto/openssl/crypto/asn1/ameth_lib.c projects/mips/crypto/openssl/crypto/asn1/asn1_locl.h - copied unchanged from r195300, head/crypto/openssl/crypto/asn1/asn1_locl.h projects/mips/crypto/openssl/crypto/asn1/asn_mime.c - copied unchanged from r195300, head/crypto/openssl/crypto/asn1/asn_mime.c projects/mips/crypto/openssl/crypto/asn1/bio_asn1.c - copied unchanged from r195300, head/crypto/openssl/crypto/asn1/bio_asn1.c projects/mips/crypto/openssl/crypto/asn1/bio_ndef.c - copied unchanged from r195300, head/crypto/openssl/crypto/asn1/bio_ndef.c projects/mips/crypto/openssl/crypto/asn1/x_nx509.c - copied unchanged from r195300, head/crypto/openssl/crypto/asn1/x_nx509.c projects/mips/crypto/openssl/crypto/bn/asm/alpha-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/alpha-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/armv4-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/armv4-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/mips3-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/mips3-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/mo-586.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/mo-586.pl projects/mips/crypto/openssl/crypto/bn/asm/ppc-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/ppc-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/ppc64-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/ppc64-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/s390x-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/s390x-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/s390x.S - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/s390x.S projects/mips/crypto/openssl/crypto/bn/asm/sparcv9-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/sparcv9-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/sparcv9a-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/sparcv9a-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/via-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/via-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/x86-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/x86-mont.pl projects/mips/crypto/openssl/crypto/bn/asm/x86_64-mont.pl - copied unchanged from r195300, head/crypto/openssl/crypto/bn/asm/x86_64-mont.pl projects/mips/crypto/openssl/crypto/bn/bn_opt.c - copied unchanged from r195300, head/crypto/openssl/crypto/bn/bn_opt.c projects/mips/crypto/openssl/crypto/bn/bn_x931p.c - copied unchanged from r195300, head/crypto/openssl/crypto/bn/bn_x931p.c projects/mips/crypto/openssl/crypto/buffer/buf_str.c - copied unchanged from r195300, head/crypto/openssl/crypto/buffer/buf_str.c projects/mips/crypto/openssl/crypto/camellia/asm/ - copied from r195300, head/crypto/openssl/crypto/camellia/asm/ projects/mips/crypto/openssl/crypto/cms/ - copied from r195300, head/crypto/openssl/crypto/cms/ projects/mips/crypto/openssl/crypto/des/des_lib.c - copied unchanged from r195300, head/crypto/openssl/crypto/des/des_lib.c projects/mips/crypto/openssl/crypto/dsa/dsa_utl.c - copied unchanged from r195300, head/crypto/openssl/crypto/dsa/dsa_utl.c projects/mips/crypto/openssl/crypto/dyn_lck.c - copied unchanged from r195300, head/crypto/openssl/crypto/dyn_lck.c projects/mips/crypto/openssl/crypto/err/err_bio.c - copied unchanged from r195300, head/crypto/openssl/crypto/err/err_bio.c projects/mips/crypto/openssl/crypto/err/err_def.c - copied unchanged from r195300, head/crypto/openssl/crypto/err/err_def.c projects/mips/crypto/openssl/crypto/err/err_str.c - copied unchanged from r195300, head/crypto/openssl/crypto/err/err_str.c projects/mips/crypto/openssl/crypto/evp/dig_eng.c - copied unchanged from r195300, head/crypto/openssl/crypto/evp/dig_eng.c projects/mips/crypto/openssl/crypto/evp/e_seed.c - copied unchanged from r195300, head/crypto/openssl/crypto/evp/e_seed.c projects/mips/crypto/openssl/crypto/evp/enc_min.c - copied unchanged from r195300, head/crypto/openssl/crypto/evp/enc_min.c projects/mips/crypto/openssl/crypto/evp/evp_cnf.c - copied unchanged from r195300, head/crypto/openssl/crypto/evp/evp_cnf.c projects/mips/crypto/openssl/crypto/fips_err.c - copied unchanged from r195300, head/crypto/openssl/crypto/fips_err.c projects/mips/crypto/openssl/crypto/fips_err.h - copied unchanged from r195300, head/crypto/openssl/crypto/fips_err.h projects/mips/crypto/openssl/crypto/jpake/ - copied from r195300, head/crypto/openssl/crypto/jpake/ projects/mips/crypto/openssl/crypto/o_init.c - copied unchanged from r195300, head/crypto/openssl/crypto/o_init.c projects/mips/crypto/openssl/crypto/ppccpuid.pl - copied unchanged from r195300, head/crypto/openssl/crypto/ppccpuid.pl projects/mips/crypto/openssl/crypto/rand/rand_eng.c - copied unchanged from r195300, head/crypto/openssl/crypto/rand/rand_eng.c projects/mips/crypto/openssl/crypto/rc4/rc4_fblk.c - copied unchanged from r195300, head/crypto/openssl/crypto/rc4/rc4_fblk.c projects/mips/crypto/openssl/crypto/rsa/rsa_eng.c - copied unchanged from r195300, head/crypto/openssl/crypto/rsa/rsa_eng.c projects/mips/crypto/openssl/crypto/rsa/rsa_x931g.c - copied unchanged from r195300, head/crypto/openssl/crypto/rsa/rsa_x931g.c projects/mips/crypto/openssl/crypto/s390xcpuid.S - copied unchanged from r195300, head/crypto/openssl/crypto/s390xcpuid.S projects/mips/crypto/openssl/crypto/seed/ - copied from r195300, head/crypto/openssl/crypto/seed/ projects/mips/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl - copied unchanged from r195300, head/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl projects/mips/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl - copied unchanged from r195300, head/crypto/openssl/crypto/sha/asm/sha512-x86_64.pl projects/mips/crypto/openssl/crypto/sparcv9cap.c - copied unchanged from r195300, head/crypto/openssl/crypto/sparcv9cap.c projects/mips/crypto/openssl/demos/jpake/ - copied from r195300, head/crypto/openssl/demos/jpake/ projects/mips/crypto/openssl/engines/e_capi.c - copied unchanged from r195300, head/crypto/openssl/engines/e_capi.c projects/mips/crypto/openssl/engines/e_capi.ec - copied unchanged from r195300, head/crypto/openssl/engines/e_capi.ec projects/mips/crypto/openssl/engines/e_capi_err.c - copied unchanged from r195300, head/crypto/openssl/engines/e_capi_err.c projects/mips/crypto/openssl/engines/e_capi_err.h - copied unchanged from r195300, head/crypto/openssl/engines/e_capi_err.h projects/mips/crypto/openssl/fips/ - copied from r195300, head/crypto/openssl/fips/ projects/mips/crypto/openssl/test/SHAmix.r - copied unchanged from r195300, head/crypto/openssl/test/SHAmix.r projects/mips/crypto/openssl/test/SHAmix.x - copied unchanged from r195300, head/crypto/openssl/test/SHAmix.x projects/mips/crypto/openssl/test/bftest.c - copied unchanged from r195300, head/crypto/openssl/test/bftest.c projects/mips/crypto/openssl/test/bntest.c - copied unchanged from r195300, head/crypto/openssl/test/bntest.c projects/mips/crypto/openssl/test/casttest.c - copied unchanged from r195300, head/crypto/openssl/test/casttest.c projects/mips/crypto/openssl/test/cms-examples.pl - copied unchanged from r195300, head/crypto/openssl/test/cms-examples.pl projects/mips/crypto/openssl/test/cms-test.pl - copied unchanged from r195300, head/crypto/openssl/test/cms-test.pl projects/mips/crypto/openssl/test/destest.c - copied unchanged from r195300, head/crypto/openssl/test/destest.c projects/mips/crypto/openssl/test/dhtest.c - copied unchanged from r195300, head/crypto/openssl/test/dhtest.c projects/mips/crypto/openssl/test/dsatest.c - copied unchanged from r195300, head/crypto/openssl/test/dsatest.c projects/mips/crypto/openssl/test/ecdhtest.c - copied unchanged from r195300, head/crypto/openssl/test/ecdhtest.c projects/mips/crypto/openssl/test/ecdsatest.c - copied unchanged from r195300, head/crypto/openssl/test/ecdsatest.c projects/mips/crypto/openssl/test/ectest.c - copied unchanged from r195300, head/crypto/openssl/test/ectest.c projects/mips/crypto/openssl/test/enginetest.c - copied unchanged from r195300, head/crypto/openssl/test/enginetest.c projects/mips/crypto/openssl/test/evp_test.c - copied unchanged from r195300, head/crypto/openssl/test/evp_test.c projects/mips/crypto/openssl/test/exptest.c - copied unchanged from r195300, head/crypto/openssl/test/exptest.c projects/mips/crypto/openssl/test/fips_aesavs.c - copied unchanged from r195300, head/crypto/openssl/test/fips_aesavs.c projects/mips/crypto/openssl/test/fips_desmovs.c - copied unchanged from r195300, head/crypto/openssl/test/fips_desmovs.c projects/mips/crypto/openssl/test/fips_dsatest.c - copied unchanged from r195300, head/crypto/openssl/test/fips_dsatest.c projects/mips/crypto/openssl/test/fips_dssvs.c - copied unchanged from r195300, head/crypto/openssl/test/fips_dssvs.c projects/mips/crypto/openssl/test/fips_hmactest.c - copied unchanged from r195300, head/crypto/openssl/test/fips_hmactest.c projects/mips/crypto/openssl/test/fips_randtest.c - copied unchanged from r195300, head/crypto/openssl/test/fips_randtest.c projects/mips/crypto/openssl/test/fips_rngvs.c - copied unchanged from r195300, head/crypto/openssl/test/fips_rngvs.c projects/mips/crypto/openssl/test/fips_rsagtest.c - copied unchanged from r195300, head/crypto/openssl/test/fips_rsagtest.c projects/mips/crypto/openssl/test/fips_rsastest.c - copied unchanged from r195300, head/crypto/openssl/test/fips_rsastest.c projects/mips/crypto/openssl/test/fips_rsavtest.c - copied unchanged from r195300, head/crypto/openssl/test/fips_rsavtest.c projects/mips/crypto/openssl/test/fips_shatest.c - copied unchanged from r195300, head/crypto/openssl/test/fips_shatest.c projects/mips/crypto/openssl/test/fips_test_suite.c - copied unchanged from r195300, head/crypto/openssl/test/fips_test_suite.c projects/mips/crypto/openssl/test/hmactest.c - copied unchanged from r195300, head/crypto/openssl/test/hmactest.c projects/mips/crypto/openssl/test/ideatest.c - copied unchanged from r195300, head/crypto/openssl/test/ideatest.c projects/mips/crypto/openssl/test/jpaketest.c - copied unchanged from r195300, head/crypto/openssl/test/jpaketest.c projects/mips/crypto/openssl/test/md2test.c - copied unchanged from r195300, head/crypto/openssl/test/md2test.c projects/mips/crypto/openssl/test/md4test.c - copied unchanged from r195300, head/crypto/openssl/test/md4test.c projects/mips/crypto/openssl/test/md5test.c - copied unchanged from r195300, head/crypto/openssl/test/md5test.c projects/mips/crypto/openssl/test/mdc2test.c - copied unchanged from r195300, head/crypto/openssl/test/mdc2test.c projects/mips/crypto/openssl/test/randtest.c - copied unchanged from r195300, head/crypto/openssl/test/randtest.c projects/mips/crypto/openssl/test/rc2test.c - copied unchanged from r195300, head/crypto/openssl/test/rc2test.c projects/mips/crypto/openssl/test/rc4test.c - copied unchanged from r195300, head/crypto/openssl/test/rc4test.c projects/mips/crypto/openssl/test/rc5test.c - copied unchanged from r195300, head/crypto/openssl/test/rc5test.c projects/mips/crypto/openssl/test/rmdtest.c - copied unchanged from r195300, head/crypto/openssl/test/rmdtest.c projects/mips/crypto/openssl/test/rsa_test.c - copied unchanged from r195300, head/crypto/openssl/test/rsa_test.c projects/mips/crypto/openssl/test/sha1test.c - copied unchanged from r195300, head/crypto/openssl/test/sha1test.c projects/mips/crypto/openssl/test/sha256t.c - copied unchanged from r195300, head/crypto/openssl/test/sha256t.c projects/mips/crypto/openssl/test/sha512t.c - copied unchanged from r195300, head/crypto/openssl/test/sha512t.c projects/mips/crypto/openssl/test/shatest.c - copied unchanged from r195300, head/crypto/openssl/test/shatest.c projects/mips/crypto/openssl/test/smcont.txt - copied unchanged from r195300, head/crypto/openssl/test/smcont.txt projects/mips/crypto/openssl/test/smime-certs/ - copied from r195300, head/crypto/openssl/test/smime-certs/ projects/mips/crypto/openssl/test/ssltest.c - copied unchanged from r195300, head/crypto/openssl/test/ssltest.c projects/mips/crypto/openssl/test/testfipsssl - copied unchanged from r195300, head/crypto/openssl/test/testfipsssl projects/mips/crypto/openssl/util/arx.pl - copied unchanged from r195300, head/crypto/openssl/util/arx.pl projects/mips/crypto/openssl/util/fipslink.pl - copied unchanged from r195300, head/crypto/openssl/util/fipslink.pl projects/mips/crypto/openssl/util/mksdef.pl - copied unchanged from r195300, head/crypto/openssl/util/mksdef.pl projects/mips/lib/libc/include/compat.h - copied unchanged from r195300, head/lib/libc/include/compat.h projects/mips/lib/libc/posix1e/acl_add_flag_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_add_flag_np.3 projects/mips/lib/libc/posix1e/acl_branding.c - copied unchanged from r195300, head/lib/libc/posix1e/acl_branding.c projects/mips/lib/libc/posix1e/acl_clear_flags_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_clear_flags_np.3 projects/mips/lib/libc/posix1e/acl_delete_flag_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_delete_flag_np.3 projects/mips/lib/libc/posix1e/acl_flag.c - copied unchanged from r195300, head/lib/libc/posix1e/acl_flag.c projects/mips/lib/libc/posix1e/acl_from_text_nfs4.c - copied unchanged from r195300, head/lib/libc/posix1e/acl_from_text_nfs4.c projects/mips/lib/libc/posix1e/acl_get_brand_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_get_brand_np.3 projects/mips/lib/libc/posix1e/acl_get_entry_type_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_get_entry_type_np.3 projects/mips/lib/libc/posix1e/acl_get_flag_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_get_flag_np.3 projects/mips/lib/libc/posix1e/acl_get_flagset_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_get_flagset_np.3 projects/mips/lib/libc/posix1e/acl_is_trivial_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_is_trivial_np.3 projects/mips/lib/libc/posix1e/acl_set_entry_type_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_set_entry_type_np.3 projects/mips/lib/libc/posix1e/acl_set_flagset_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_set_flagset_np.3 projects/mips/lib/libc/posix1e/acl_strip.c - copied unchanged from r195300, head/lib/libc/posix1e/acl_strip.c projects/mips/lib/libc/posix1e/acl_strip_np.3 - copied unchanged from r195300, head/lib/libc/posix1e/acl_strip_np.3 projects/mips/lib/libc/posix1e/acl_support_nfs4.c - copied unchanged from r195300, head/lib/libc/posix1e/acl_support_nfs4.c projects/mips/lib/libc/posix1e/acl_to_text_nfs4.c - copied unchanged from r195300, head/lib/libc/posix1e/acl_to_text_nfs4.c projects/mips/lib/libc/sys/closefrom.2 - copied unchanged from r195300, head/lib/libc/sys/closefrom.2 projects/mips/lib/libjail/ - copied from r195300, head/lib/libjail/ projects/mips/lib/libkiconv/kiconv_sysctl.c - copied unchanged from r195300, head/lib/libkiconv/kiconv_sysctl.c projects/mips/lib/libusb/libusb.h - copied unchanged from r195300, head/lib/libusb/libusb.h projects/mips/lib/libusb/libusb10.c - copied unchanged from r195300, head/lib/libusb/libusb10.c projects/mips/lib/libusb/libusb10.h - copied unchanged from r195300, head/lib/libusb/libusb10.h projects/mips/lib/libusb/libusb10_desc.c - copied unchanged from r195300, head/lib/libusb/libusb10_desc.c projects/mips/lib/libusb/libusb10_io.c - copied unchanged from r195300, head/lib/libusb/libusb10_io.c projects/mips/lib/libusb/libusb20.3 - copied unchanged from r195300, head/lib/libusb/libusb20.3 projects/mips/share/man/man4/acpi_hp.4 - copied unchanged from r195300, head/share/man/man4/acpi_hp.4 projects/mips/share/man/man4/acpi_wmi.4 - copied unchanged from r195300, head/share/man/man4/acpi_wmi.4 projects/mips/share/man/man4/bridge.4 - copied unchanged from r195300, head/share/man/man4/bridge.4 projects/mips/share/man/man4/cas.4 - copied unchanged from r195300, head/share/man/man4/cas.4 projects/mips/share/man/man4/epair.4 - copied unchanged from r195300, head/share/man/man4/epair.4 projects/mips/share/syscons/keymaps/danish.iso.acc.kbd - copied unchanged from r195300, head/share/syscons/keymaps/danish.iso.acc.kbd projects/mips/share/syscons/keymaps/pl_PL.dvorak.kbd - copied unchanged from r195300, head/share/syscons/keymaps/pl_PL.dvorak.kbd projects/mips/share/syscons/keymaps/uk.dvorak.kbd - copied unchanged from r195300, head/share/syscons/keymaps/uk.dvorak.kbd projects/mips/sys/amd64/include/vm.h - copied unchanged from r195300, head/sys/amd64/include/vm.h projects/mips/sys/arm/include/vm.h - copied unchanged from r195300, head/sys/arm/include/vm.h projects/mips/sys/arm/mv/mv_sata.c - copied unchanged from r195300, head/sys/arm/mv/mv_sata.c projects/mips/sys/arm/mv/mvwin.h - copied unchanged from r195300, head/sys/arm/mv/mvwin.h projects/mips/sys/arm/xscale/ixp425/cambria_exp_space.c - copied unchanged from r195300, head/sys/arm/xscale/ixp425/cambria_exp_space.c projects/mips/sys/dev/acpi_support/acpi_hp.c - copied unchanged from r195300, head/sys/dev/acpi_support/acpi_hp.c projects/mips/sys/dev/acpi_support/acpi_wmi.c - copied unchanged from r195300, head/sys/dev/acpi_support/acpi_wmi.c projects/mips/sys/dev/acpi_support/acpi_wmi_if.m - copied unchanged from r195300, head/sys/dev/acpi_support/acpi_wmi_if.m projects/mips/sys/dev/cas/ - copied from r195300, head/sys/dev/cas/ projects/mips/sys/dev/gem/if_gem_sbus.c - copied unchanged from r195300, head/sys/dev/gem/if_gem_sbus.c projects/mips/sys/dev/usb/usb_freebsd.h - copied unchanged from r195300, head/sys/dev/usb/usb_freebsd.h projects/mips/sys/dev/usb/usbdi.h - copied unchanged from r195300, head/sys/dev/usb/usbdi.h projects/mips/sys/dev/usb/usbdi_util.h - copied unchanged from r195300, head/sys/dev/usb/usbdi_util.h projects/mips/sys/geom/label/g_label_gpt.c - copied unchanged from r195300, head/sys/geom/label/g_label_gpt.c projects/mips/sys/i386/include/vm.h - copied unchanged from r195300, head/sys/i386/include/vm.h projects/mips/sys/ia64/include/vm.h - copied unchanged from r195300, head/sys/ia64/include/vm.h projects/mips/sys/mips/conf/.cvsignore - copied unchanged from r195300, head/sys/mips/conf/.cvsignore projects/mips/sys/mips/include/vm.h - copied unchanged from r195300, head/sys/mips/include/vm.h projects/mips/sys/modules/acpi/acpi_hp/ - copied from r195300, head/sys/modules/acpi/acpi_hp/ projects/mips/sys/modules/acpi/acpi_wmi/ - copied from r195300, head/sys/modules/acpi/acpi_wmi/ projects/mips/sys/modules/cas/ - copied from r195300, head/sys/modules/cas/ projects/mips/sys/modules/netgraph/pipe/ - copied from r195300, head/sys/modules/netgraph/pipe/ projects/mips/sys/net/if_epair.c - copied unchanged from r195300, head/sys/net/if_epair.c projects/mips/sys/pc98/include/vm.h - copied unchanged from r195300, head/sys/pc98/include/vm.h projects/mips/sys/powerpc/cpufreq/pcr.c - copied unchanged from r195300, head/sys/powerpc/cpufreq/pcr.c projects/mips/sys/powerpc/include/vm.h - copied unchanged from r195300, head/sys/powerpc/include/vm.h projects/mips/sys/powerpc/mpc85xx/ds1553_bus_lbc.c - copied unchanged from r195300, head/sys/powerpc/mpc85xx/ds1553_bus_lbc.c projects/mips/sys/powerpc/mpc85xx/ds1553_core.c - copied unchanged from r195300, head/sys/powerpc/mpc85xx/ds1553_core.c projects/mips/sys/powerpc/mpc85xx/ds1553_reg.h - copied unchanged from r195300, head/sys/powerpc/mpc85xx/ds1553_reg.h projects/mips/sys/powerpc/mpc85xx/i2c.c - copied unchanged from r195300, head/sys/powerpc/mpc85xx/i2c.c projects/mips/sys/powerpc/powermac/smu.c - copied unchanged from r195300, head/sys/powerpc/powermac/smu.c projects/mips/sys/sparc64/include/vm.h - copied unchanged from r195300, head/sys/sparc64/include/vm.h projects/mips/sys/sun4v/include/vm.h - copied unchanged from r195300, head/sys/sun4v/include/vm.h projects/mips/tools/regression/bin/sh/builtins/eval2.0 - copied unchanged from r195300, head/tools/regression/bin/sh/builtins/eval2.0 projects/mips/tools/regression/bin/sh/builtins/trap1.0 - copied unchanged from r195300, head/tools/regression/bin/sh/builtins/trap1.0 projects/mips/tools/regression/bin/sh/builtins/trap2.0 - copied unchanged from r195300, head/tools/regression/bin/sh/builtins/trap2.0 projects/mips/tools/regression/bin/sh/errors/backquote-error1.0 - copied unchanged from r195300, head/tools/regression/bin/sh/errors/backquote-error1.0 projects/mips/tools/regression/bin/sh/execution/ - copied from r195300, head/tools/regression/bin/sh/execution/ projects/mips/tools/regression/bin/sh/expansion/ - copied from r195300, head/tools/regression/bin/sh/expansion/ projects/mips/tools/regression/file/closefrom/ - copied from r195300, head/tools/regression/file/closefrom/ projects/mips/tools/tools/termcap/ - copied from r195300, head/tools/tools/termcap/ projects/mips/usr.bin/gzip/unpack.c - copied unchanged from r195300, head/usr.bin/gzip/unpack.c projects/mips/usr.bin/revoke/ - copied from r195300, head/usr.bin/revoke/ projects/mips/usr.sbin/sysinstall/usb.c - copied unchanged from r195300, head/usr.sbin/sysinstall/usb.c projects/mips/usr.sbin/wake/ - copied from r195300, head/usr.sbin/wake/ Deleted: projects/mips/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head projects/mips/crypto/openssl/ChangeLog.0_9_7-stable_not-in-head_FIPS projects/mips/crypto/openssl/certs/RegTP-5R.pem projects/mips/crypto/openssl/certs/RegTP-6R.pem projects/mips/crypto/openssl/certs/aol1.pem projects/mips/crypto/openssl/certs/aol2.pem projects/mips/crypto/openssl/certs/aoltw1.pem projects/mips/crypto/openssl/certs/aoltw2.pem projects/mips/crypto/openssl/certs/argena.pem projects/mips/crypto/openssl/certs/argeng.pem projects/mips/crypto/openssl/certs/demo/nortelCA.pem projects/mips/crypto/openssl/certs/demo/timCA.pem projects/mips/crypto/openssl/certs/demo/tjhCA.pem projects/mips/crypto/openssl/certs/demo/vsigntca.pem projects/mips/crypto/openssl/certs/eng1.pem projects/mips/crypto/openssl/certs/eng2.pem projects/mips/crypto/openssl/certs/eng3.pem projects/mips/crypto/openssl/certs/eng4.pem projects/mips/crypto/openssl/certs/eng5.pem projects/mips/crypto/openssl/certs/expired/ICE-CA.pem projects/mips/crypto/openssl/certs/expired/ICE-root.pem projects/mips/crypto/openssl/certs/expired/ICE-user.pem projects/mips/crypto/openssl/certs/expired/RegTP-4R.pem projects/mips/crypto/openssl/certs/expired/factory.pem projects/mips/crypto/openssl/certs/expired/rsa-cca.pem projects/mips/crypto/openssl/certs/expired/rsa-ssca.pem projects/mips/crypto/openssl/certs/expired/vsign2.pem projects/mips/crypto/openssl/certs/expired/vsign3.pem projects/mips/crypto/openssl/certs/thawteCb.pem projects/mips/crypto/openssl/certs/thawteCp.pem projects/mips/crypto/openssl/certs/vsign1.pem projects/mips/crypto/openssl/certs/vsign3.pem projects/mips/crypto/openssl/certs/vsignss.pem projects/mips/crypto/openssl/certs/wellsfgo.pem projects/mips/crypto/openssl/crypto/md5/asm/md5-sparcv9.S projects/mips/lib/libc/arm/stdlib/ projects/mips/lib/libc/i386/stdlib/abs.S projects/mips/lib/libc/i386/stdlib/labs.S projects/mips/lib/libc/ia64/stdlib/ projects/mips/lib/libc/mips/stdlib/ projects/mips/lib/libc/sparc64/stdlib/ projects/mips/lib/libusb/libusb20_compat10.c projects/mips/lib/libusb/libusb20_compat10.h projects/mips/share/man/man4/if_bridge.4 projects/mips/sys/dev/cxgb/cxgb_multiq.c projects/mips/sys/dev/cxgb/sys/cxgb_support.c projects/mips/sys/dev/usb/usb_defs.h projects/mips/sys/dev/usb/usb_error.h projects/mips/sys/dev/usb/usb_handle_request.h projects/mips/sys/dev/usb/usb_hid.h projects/mips/sys/dev/usb/usb_lookup.h projects/mips/sys/dev/usb/usb_mfunc.h projects/mips/sys/dev/usb/usb_parse.h projects/mips/sys/dev/usb/usb_revision.h projects/mips/sys/modules/if_ppp/ projects/mips/sys/modules/if_sl/ projects/mips/sys/nfs/rpcv2.h projects/mips/sys/nfsclient/nfs_socket.c projects/mips/sys/nfsserver/nfs_srvcache.c projects/mips/sys/nfsserver/nfs_srvsock.c projects/mips/sys/nfsserver/nfs_syscalls.c Modified: projects/mips/ (props changed) projects/mips/MAINTAINERS projects/mips/Makefile.inc1 projects/mips/ObsoleteFiles.inc projects/mips/UPDATING projects/mips/bin/chflags/chflags.c projects/mips/bin/chmod/chmod.c projects/mips/bin/df/df.c projects/mips/bin/hostname/hostname.c projects/mips/bin/sh/eval.c projects/mips/bin/sh/eval.h projects/mips/bin/sh/exec.c projects/mips/bin/sh/expand.c projects/mips/bin/sh/histedit.c projects/mips/bin/sh/input.c projects/mips/bin/sh/input.h projects/mips/bin/sh/main.c projects/mips/bin/sh/miscbltin.c projects/mips/bin/sh/output.c projects/mips/bin/sh/parser.c projects/mips/bin/sh/redir.c projects/mips/bin/sh/sh.1 projects/mips/bin/sh/trap.c projects/mips/bin/sh/trap.h projects/mips/bin/sh/var.c projects/mips/cddl/contrib/opensolaris/ (props changed) projects/mips/contrib/bind9/ (props changed) projects/mips/contrib/bind9/CHANGES projects/mips/contrib/bind9/bin/check/named-checkzone.c projects/mips/contrib/bind9/bin/dnssec/dnssec-signzone.8 projects/mips/contrib/bind9/bin/dnssec/dnssec-signzone.c projects/mips/contrib/bind9/bin/dnssec/dnssec-signzone.docbook projects/mips/contrib/bind9/bin/dnssec/dnssec-signzone.html projects/mips/contrib/bind9/bin/dnssec/dnssectool.c projects/mips/contrib/bind9/doc/arm/Bv9ARM-book.xml projects/mips/contrib/bind9/doc/arm/Bv9ARM.ch06.html projects/mips/contrib/bind9/doc/arm/Bv9ARM.ch07.html projects/mips/contrib/bind9/doc/arm/Bv9ARM.ch08.html projects/mips/contrib/bind9/doc/arm/Bv9ARM.ch09.html projects/mips/contrib/bind9/doc/arm/Bv9ARM.html projects/mips/contrib/bind9/doc/arm/man.dig.html projects/mips/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html projects/mips/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html projects/mips/contrib/bind9/doc/arm/man.dnssec-keygen.html projects/mips/contrib/bind9/doc/arm/man.dnssec-signzone.html projects/mips/contrib/bind9/doc/arm/man.host.html projects/mips/contrib/bind9/doc/arm/man.named-checkconf.html projects/mips/contrib/bind9/doc/arm/man.named-checkzone.html projects/mips/contrib/bind9/doc/arm/man.named.html projects/mips/contrib/bind9/doc/arm/man.nsupdate.html projects/mips/contrib/bind9/doc/arm/man.rndc-confgen.html projects/mips/contrib/bind9/doc/arm/man.rndc.conf.html projects/mips/contrib/bind9/doc/arm/man.rndc.html projects/mips/contrib/bind9/lib/bind9/api projects/mips/contrib/bind9/lib/bind9/check.c projects/mips/contrib/bind9/lib/dns/api projects/mips/contrib/bind9/lib/dns/dnssec.c projects/mips/contrib/bind9/lib/dns/include/dns/dnssec.h projects/mips/contrib/bind9/lib/dns/include/dns/keyvalues.h projects/mips/contrib/bind9/lib/dns/nsec3.c projects/mips/contrib/bind9/lib/dns/resolver.c projects/mips/contrib/bind9/lib/isc/ia64/include/isc/atomic.h projects/mips/contrib/bind9/version projects/mips/contrib/cpio/ (props changed) projects/mips/contrib/csup/ (props changed) projects/mips/contrib/csup/rcsfile.c projects/mips/contrib/ee/ (props changed) projects/mips/contrib/file/ (props changed) projects/mips/contrib/gdb/ (props changed) projects/mips/contrib/gdb/gdb/stack.c projects/mips/contrib/gdtoa/ (props changed) projects/mips/contrib/ipfilter/tools/ipfcomp.c projects/mips/contrib/less/ (props changed) projects/mips/contrib/libpcap/ (props changed) projects/mips/contrib/ncurses/ (props changed) projects/mips/contrib/netcat/ (props changed) projects/mips/contrib/ntp/ (props changed) projects/mips/contrib/openbsm/ (props changed) projects/mips/contrib/openpam/ (props changed) projects/mips/contrib/pf/ (props changed) projects/mips/contrib/sendmail/ (props changed) projects/mips/contrib/tcpdump/ (props changed) projects/mips/contrib/tcsh/sh.func.c projects/mips/contrib/tcsh/tcsh.man projects/mips/contrib/top/ (props changed) projects/mips/contrib/top/install-sh (props changed) projects/mips/crypto/openssh/ (props changed) projects/mips/crypto/openssh/config.h projects/mips/crypto/openssh/ssh_namespace.h projects/mips/crypto/openssl/ (props changed) projects/mips/crypto/openssl/CHANGES projects/mips/crypto/openssl/Configure projects/mips/crypto/openssl/FAQ projects/mips/crypto/openssl/INSTALL projects/mips/crypto/openssl/LICENSE projects/mips/crypto/openssl/Makefile projects/mips/crypto/openssl/Makefile.org projects/mips/crypto/openssl/Makefile.shared projects/mips/crypto/openssl/NEWS projects/mips/crypto/openssl/README projects/mips/crypto/openssl/apps/Makefile projects/mips/crypto/openssl/apps/apps.c projects/mips/crypto/openssl/apps/apps.h projects/mips/crypto/openssl/apps/asn1pars.c projects/mips/crypto/openssl/apps/ca.c projects/mips/crypto/openssl/apps/crl.c projects/mips/crypto/openssl/apps/dgst.c projects/mips/crypto/openssl/apps/dsa.c projects/mips/crypto/openssl/apps/ec.c projects/mips/crypto/openssl/apps/enc.c projects/mips/crypto/openssl/apps/engine.c projects/mips/crypto/openssl/apps/gendsa.c projects/mips/crypto/openssl/apps/genrsa.c projects/mips/crypto/openssl/apps/nseq.c projects/mips/crypto/openssl/apps/ocsp.c projects/mips/crypto/openssl/apps/openssl.c projects/mips/crypto/openssl/apps/pkcs12.c projects/mips/crypto/openssl/apps/pkcs8.c projects/mips/crypto/openssl/apps/progs.h projects/mips/crypto/openssl/apps/progs.pl projects/mips/crypto/openssl/apps/rand.c projects/mips/crypto/openssl/apps/req.c projects/mips/crypto/openssl/apps/rsa.c projects/mips/crypto/openssl/apps/rsautl.c projects/mips/crypto/openssl/apps/s_apps.h projects/mips/crypto/openssl/apps/s_cb.c projects/mips/crypto/openssl/apps/s_client.c projects/mips/crypto/openssl/apps/s_server.c projects/mips/crypto/openssl/apps/smime.c projects/mips/crypto/openssl/apps/speed.c projects/mips/crypto/openssl/apps/spkac.c projects/mips/crypto/openssl/apps/version.c projects/mips/crypto/openssl/apps/x509.c projects/mips/crypto/openssl/config projects/mips/crypto/openssl/crypto/Makefile projects/mips/crypto/openssl/crypto/aes/Makefile projects/mips/crypto/openssl/crypto/aes/aes.h projects/mips/crypto/openssl/crypto/aes/aes_cbc.c projects/mips/crypto/openssl/crypto/aes/aes_core.c projects/mips/crypto/openssl/crypto/aes/aes_ige.c projects/mips/crypto/openssl/crypto/aes/asm/aes-586.pl projects/mips/crypto/openssl/crypto/aes/asm/aes-ia64.S projects/mips/crypto/openssl/crypto/asn1/Makefile projects/mips/crypto/openssl/crypto/asn1/a_bytes.c projects/mips/crypto/openssl/crypto/asn1/a_mbstr.c projects/mips/crypto/openssl/crypto/asn1/a_object.c projects/mips/crypto/openssl/crypto/asn1/a_sign.c projects/mips/crypto/openssl/crypto/asn1/a_strex.c projects/mips/crypto/openssl/crypto/asn1/a_strnid.c projects/mips/crypto/openssl/crypto/asn1/a_type.c projects/mips/crypto/openssl/crypto/asn1/a_verify.c projects/mips/crypto/openssl/crypto/asn1/asn1.h projects/mips/crypto/openssl/crypto/asn1/asn1_err.c projects/mips/crypto/openssl/crypto/asn1/asn1_gen.c projects/mips/crypto/openssl/crypto/asn1/asn1_lib.c projects/mips/crypto/openssl/crypto/asn1/asn1_par.c projects/mips/crypto/openssl/crypto/asn1/asn1t.h projects/mips/crypto/openssl/crypto/asn1/asn_moid.c projects/mips/crypto/openssl/crypto/asn1/asn_pack.c projects/mips/crypto/openssl/crypto/asn1/nsseq.c projects/mips/crypto/openssl/crypto/asn1/p5_pbe.c projects/mips/crypto/openssl/crypto/asn1/p5_pbev2.c projects/mips/crypto/openssl/crypto/asn1/p8_pkey.c projects/mips/crypto/openssl/crypto/asn1/t_bitst.c projects/mips/crypto/openssl/crypto/asn1/t_crl.c projects/mips/crypto/openssl/crypto/asn1/t_req.c projects/mips/crypto/openssl/crypto/asn1/t_spki.c projects/mips/crypto/openssl/crypto/asn1/t_x509.c projects/mips/crypto/openssl/crypto/asn1/t_x509a.c projects/mips/crypto/openssl/crypto/asn1/tasn_dec.c projects/mips/crypto/openssl/crypto/asn1/tasn_enc.c projects/mips/crypto/openssl/crypto/asn1/tasn_fre.c projects/mips/crypto/openssl/crypto/asn1/tasn_new.c projects/mips/crypto/openssl/crypto/asn1/tasn_prn.c projects/mips/crypto/openssl/crypto/asn1/tasn_typ.c projects/mips/crypto/openssl/crypto/asn1/tasn_utl.c projects/mips/crypto/openssl/crypto/asn1/x_algor.c projects/mips/crypto/openssl/crypto/asn1/x_bignum.c projects/mips/crypto/openssl/crypto/asn1/x_crl.c projects/mips/crypto/openssl/crypto/asn1/x_exten.c projects/mips/crypto/openssl/crypto/asn1/x_long.c projects/mips/crypto/openssl/crypto/asn1/x_name.c projects/mips/crypto/openssl/crypto/asn1/x_x509a.c projects/mips/crypto/openssl/crypto/bf/Makefile projects/mips/crypto/openssl/crypto/bf/bf_skey.c projects/mips/crypto/openssl/crypto/bf/blowfish.h projects/mips/crypto/openssl/crypto/bio/Makefile projects/mips/crypto/openssl/crypto/bio/b_print.c projects/mips/crypto/openssl/crypto/bio/b_sock.c projects/mips/crypto/openssl/crypto/bio/bio.h projects/mips/crypto/openssl/crypto/bio/bss_bio.c projects/mips/crypto/openssl/crypto/bio/bss_dgram.c projects/mips/crypto/openssl/crypto/bio/bss_file.c projects/mips/crypto/openssl/crypto/bio/bss_mem.c projects/mips/crypto/openssl/crypto/bio/bss_sock.c projects/mips/crypto/openssl/crypto/bn/Makefile projects/mips/crypto/openssl/crypto/bn/asm/ia64.S projects/mips/crypto/openssl/crypto/bn/bn.h projects/mips/crypto/openssl/crypto/bn/bn_blind.c projects/mips/crypto/openssl/crypto/bn/bn_div.c projects/mips/crypto/openssl/crypto/bn/bn_err.c projects/mips/crypto/openssl/crypto/bn/bn_exp.c projects/mips/crypto/openssl/crypto/bn/bn_gcd.c projects/mips/crypto/openssl/crypto/bn/bn_gf2m.c projects/mips/crypto/openssl/crypto/bn/bn_lcl.h projects/mips/crypto/openssl/crypto/bn/bn_lib.c projects/mips/crypto/openssl/crypto/bn/bn_mont.c projects/mips/crypto/openssl/crypto/bn/bn_mul.c projects/mips/crypto/openssl/crypto/bn/bn_nist.c projects/mips/crypto/openssl/crypto/bn/bn_prime.c projects/mips/crypto/openssl/crypto/bn/bn_prime.h projects/mips/crypto/openssl/crypto/bn/bn_prime.pl projects/mips/crypto/openssl/crypto/bn/bn_rand.c projects/mips/crypto/openssl/crypto/bn/bn_shift.c projects/mips/crypto/openssl/crypto/bn/bntest.c projects/mips/crypto/openssl/crypto/buffer/Makefile projects/mips/crypto/openssl/crypto/buffer/buffer.c projects/mips/crypto/openssl/crypto/camellia/Makefile projects/mips/crypto/openssl/crypto/camellia/camellia.h projects/mips/crypto/openssl/crypto/camellia/cmll_misc.c projects/mips/crypto/openssl/crypto/cast/Makefile projects/mips/crypto/openssl/crypto/cast/c_skey.c projects/mips/crypto/openssl/crypto/cast/cast.h projects/mips/crypto/openssl/crypto/comp/Makefile projects/mips/crypto/openssl/crypto/comp/c_zlib.c projects/mips/crypto/openssl/crypto/comp/comp.h projects/mips/crypto/openssl/crypto/comp/comp_err.c projects/mips/crypto/openssl/crypto/conf/Makefile projects/mips/crypto/openssl/crypto/conf/conf.h projects/mips/crypto/openssl/crypto/conf/conf_api.c projects/mips/crypto/openssl/crypto/conf/conf_mall.c projects/mips/crypto/openssl/crypto/conf/conf_mod.c projects/mips/crypto/openssl/crypto/conf/conf_sap.c projects/mips/crypto/openssl/crypto/cryptlib.c projects/mips/crypto/openssl/crypto/cryptlib.h projects/mips/crypto/openssl/crypto/crypto.h projects/mips/crypto/openssl/crypto/des/Makefile projects/mips/crypto/openssl/crypto/des/asm/des_enc.m4 projects/mips/crypto/openssl/crypto/des/des.h projects/mips/crypto/openssl/crypto/des/des_enc.c projects/mips/crypto/openssl/crypto/des/des_old.c projects/mips/crypto/openssl/crypto/des/des_old.h projects/mips/crypto/openssl/crypto/des/ecb_enc.c projects/mips/crypto/openssl/crypto/des/enc_read.c projects/mips/crypto/openssl/crypto/des/enc_writ.c projects/mips/crypto/openssl/crypto/des/set_key.c projects/mips/crypto/openssl/crypto/des/times/usparc.cc projects/mips/crypto/openssl/crypto/des/xcbc_enc.c projects/mips/crypto/openssl/crypto/dh/Makefile projects/mips/crypto/openssl/crypto/dh/dh.h projects/mips/crypto/openssl/crypto/dh/dh_asn1.c projects/mips/crypto/openssl/crypto/dh/dh_check.c projects/mips/crypto/openssl/crypto/dh/dh_err.c projects/mips/crypto/openssl/crypto/dh/dh_gen.c projects/mips/crypto/openssl/crypto/dh/dh_key.c projects/mips/crypto/openssl/crypto/dsa/Makefile projects/mips/crypto/openssl/crypto/dsa/dsa.h projects/mips/crypto/openssl/crypto/dsa/dsa_asn1.c projects/mips/crypto/openssl/crypto/dsa/dsa_err.c projects/mips/crypto/openssl/crypto/dsa/dsa_gen.c projects/mips/crypto/openssl/crypto/dsa/dsa_key.c projects/mips/crypto/openssl/crypto/dsa/dsa_lib.c projects/mips/crypto/openssl/crypto/dsa/dsa_ossl.c projects/mips/crypto/openssl/crypto/dsa/dsa_sign.c projects/mips/crypto/openssl/crypto/dsa/dsa_vrf.c projects/mips/crypto/openssl/crypto/dso/Makefile projects/mips/crypto/openssl/crypto/ec/Makefile projects/mips/crypto/openssl/crypto/ec/ec.h projects/mips/crypto/openssl/crypto/ec/ec_err.c projects/mips/crypto/openssl/crypto/ec/ec_key.c projects/mips/crypto/openssl/crypto/ec/ec_mult.c projects/mips/crypto/openssl/crypto/ec/ectest.c projects/mips/crypto/openssl/crypto/ecdh/Makefile projects/mips/crypto/openssl/crypto/ecdh/ecdhtest.c projects/mips/crypto/openssl/crypto/ecdsa/Makefile projects/mips/crypto/openssl/crypto/ecdsa/ecdsatest.c projects/mips/crypto/openssl/crypto/ecdsa/ecs_ossl.c projects/mips/crypto/openssl/crypto/engine/Makefile projects/mips/crypto/openssl/crypto/engine/eng_all.c projects/mips/crypto/openssl/crypto/engine/eng_cnf.c projects/mips/crypto/openssl/crypto/engine/eng_err.c projects/mips/crypto/openssl/crypto/engine/eng_int.h projects/mips/crypto/openssl/crypto/engine/eng_padlock.c projects/mips/crypto/openssl/crypto/engine/eng_pkey.c projects/mips/crypto/openssl/crypto/engine/eng_table.c projects/mips/crypto/openssl/crypto/engine/engine.h projects/mips/crypto/openssl/crypto/engine/enginetest.c projects/mips/crypto/openssl/crypto/err/Makefile projects/mips/crypto/openssl/crypto/err/err.c projects/mips/crypto/openssl/crypto/err/err.h projects/mips/crypto/openssl/crypto/err/err_all.c projects/mips/crypto/openssl/crypto/err/err_prn.c projects/mips/crypto/openssl/crypto/err/openssl.ec projects/mips/crypto/openssl/crypto/evp/Makefile projects/mips/crypto/openssl/crypto/evp/bio_md.c projects/mips/crypto/openssl/crypto/evp/c_allc.c projects/mips/crypto/openssl/crypto/evp/digest.c projects/mips/crypto/openssl/crypto/evp/e_aes.c projects/mips/crypto/openssl/crypto/evp/e_camellia.c projects/mips/crypto/openssl/crypto/evp/e_des.c projects/mips/crypto/openssl/crypto/evp/e_des3.c projects/mips/crypto/openssl/crypto/evp/e_null.c projects/mips/crypto/openssl/crypto/evp/e_rc4.c projects/mips/crypto/openssl/crypto/evp/evp.h projects/mips/crypto/openssl/crypto/evp/evp_acnf.c projects/mips/crypto/openssl/crypto/evp/evp_enc.c projects/mips/crypto/openssl/crypto/evp/evp_err.c projects/mips/crypto/openssl/crypto/evp/evp_lib.c projects/mips/crypto/openssl/crypto/evp/evp_locl.h projects/mips/crypto/openssl/crypto/evp/evp_pbe.c projects/mips/crypto/openssl/crypto/evp/evp_pkey.c projects/mips/crypto/openssl/crypto/evp/evp_test.c projects/mips/crypto/openssl/crypto/evp/evptests.txt projects/mips/crypto/openssl/crypto/evp/m_dss.c projects/mips/crypto/openssl/crypto/evp/m_dss1.c projects/mips/crypto/openssl/crypto/evp/m_md2.c projects/mips/crypto/openssl/crypto/evp/m_md4.c projects/mips/crypto/openssl/crypto/evp/m_md5.c projects/mips/crypto/openssl/crypto/evp/m_mdc2.c projects/mips/crypto/openssl/crypto/evp/m_sha.c projects/mips/crypto/openssl/crypto/evp/m_sha1.c projects/mips/crypto/openssl/crypto/evp/names.c projects/mips/crypto/openssl/crypto/evp/p5_crpt.c projects/mips/crypto/openssl/crypto/evp/p5_crpt2.c projects/mips/crypto/openssl/crypto/evp/p_sign.c projects/mips/crypto/openssl/crypto/evp/p_verify.c projects/mips/crypto/openssl/crypto/ex_data.c projects/mips/crypto/openssl/crypto/hmac/Makefile projects/mips/crypto/openssl/crypto/hmac/hmac.c projects/mips/crypto/openssl/crypto/hmac/hmac.h projects/mips/crypto/openssl/crypto/idea/Makefile projects/mips/crypto/openssl/crypto/idea/i_skey.c projects/mips/crypto/openssl/crypto/idea/idea.h projects/mips/crypto/openssl/crypto/krb5/Makefile projects/mips/crypto/openssl/crypto/lhash/Makefile projects/mips/crypto/openssl/crypto/md2/Makefile projects/mips/crypto/openssl/crypto/md2/md2.h projects/mips/crypto/openssl/crypto/md2/md2_dgst.c projects/mips/crypto/openssl/crypto/md32_common.h projects/mips/crypto/openssl/crypto/md4/Makefile projects/mips/crypto/openssl/crypto/md4/md4.h projects/mips/crypto/openssl/crypto/md4/md4_dgst.c projects/mips/crypto/openssl/crypto/md4/md4_locl.h projects/mips/crypto/openssl/crypto/md4/md4test.c projects/mips/crypto/openssl/crypto/md5/Makefile projects/mips/crypto/openssl/crypto/md5/asm/md5-586.pl projects/mips/crypto/openssl/crypto/md5/asm/md5-x86_64.pl projects/mips/crypto/openssl/crypto/md5/md5.h projects/mips/crypto/openssl/crypto/md5/md5_dgst.c projects/mips/crypto/openssl/crypto/md5/md5_locl.h projects/mips/crypto/openssl/crypto/md5/md5test.c projects/mips/crypto/openssl/crypto/mdc2/Makefile projects/mips/crypto/openssl/crypto/mdc2/mdc2.h projects/mips/crypto/openssl/crypto/mdc2/mdc2dgst.c projects/mips/crypto/openssl/crypto/mem.c projects/mips/crypto/openssl/crypto/mem_clr.c projects/mips/crypto/openssl/crypto/mem_dbg.c projects/mips/crypto/openssl/crypto/o_str.c projects/mips/crypto/openssl/crypto/objects/Makefile projects/mips/crypto/openssl/crypto/objects/obj_dat.c projects/mips/crypto/openssl/crypto/objects/obj_dat.h projects/mips/crypto/openssl/crypto/objects/obj_dat.pl projects/mips/crypto/openssl/crypto/objects/obj_mac.h projects/mips/crypto/openssl/crypto/objects/obj_mac.num projects/mips/crypto/openssl/crypto/objects/objects.txt projects/mips/crypto/openssl/crypto/ocsp/Makefile projects/mips/crypto/openssl/crypto/ocsp/ocsp.h projects/mips/crypto/openssl/crypto/ocsp/ocsp_asn.c projects/mips/crypto/openssl/crypto/ocsp/ocsp_err.c projects/mips/crypto/openssl/crypto/ocsp/ocsp_ht.c projects/mips/crypto/openssl/crypto/ocsp/ocsp_srv.c projects/mips/crypto/openssl/crypto/ocsp/ocsp_vfy.c projects/mips/crypto/openssl/crypto/opensslconf.h projects/mips/crypto/openssl/crypto/opensslconf.h.in projects/mips/crypto/openssl/crypto/opensslv.h projects/mips/crypto/openssl/crypto/ossl_typ.h projects/mips/crypto/openssl/crypto/pem/Makefile projects/mips/crypto/openssl/crypto/pem/pem.h projects/mips/crypto/openssl/crypto/pem/pem_all.c projects/mips/crypto/openssl/crypto/pem/pem_info.c projects/mips/crypto/openssl/crypto/pem/pem_lib.c projects/mips/crypto/openssl/crypto/pem/pem_x509.c projects/mips/crypto/openssl/crypto/pem/pem_xaux.c projects/mips/crypto/openssl/crypto/perlasm/x86_64-xlate.pl projects/mips/crypto/openssl/crypto/perlasm/x86ms.pl projects/mips/crypto/openssl/crypto/perlasm/x86nasm.pl projects/mips/crypto/openssl/crypto/perlasm/x86unix.pl projects/mips/crypto/openssl/crypto/pkcs12/Makefile projects/mips/crypto/openssl/crypto/pkcs12/p12_add.c projects/mips/crypto/openssl/crypto/pkcs12/p12_asn.c projects/mips/crypto/openssl/crypto/pkcs12/p12_attr.c projects/mips/crypto/openssl/crypto/pkcs12/p12_crpt.c projects/mips/crypto/openssl/crypto/pkcs12/p12_crt.c projects/mips/crypto/openssl/crypto/pkcs12/p12_decr.c projects/mips/crypto/openssl/crypto/pkcs12/p12_init.c projects/mips/crypto/openssl/crypto/pkcs12/p12_key.c projects/mips/crypto/openssl/crypto/pkcs12/p12_kiss.c projects/mips/crypto/openssl/crypto/pkcs12/p12_mutl.c projects/mips/crypto/openssl/crypto/pkcs12/p12_npas.c projects/mips/crypto/openssl/crypto/pkcs12/p12_p8d.c projects/mips/crypto/openssl/crypto/pkcs12/p12_p8e.c projects/mips/crypto/openssl/crypto/pkcs12/p12_utl.c projects/mips/crypto/openssl/crypto/pkcs12/pkcs12.h projects/mips/crypto/openssl/crypto/pkcs7/Makefile projects/mips/crypto/openssl/crypto/pkcs7/p7/a1 (props changed) projects/mips/crypto/openssl/crypto/pkcs7/p7/a2 (props changed) projects/mips/crypto/openssl/crypto/pkcs7/p7/cert.p7c (props changed) projects/mips/crypto/openssl/crypto/pkcs7/p7/smime.p7m (props changed) projects/mips/crypto/openssl/crypto/pkcs7/p7/smime.p7s (props changed) projects/mips/crypto/openssl/crypto/pkcs7/pk7_asn1.c projects/mips/crypto/openssl/crypto/pkcs7/pk7_attr.c projects/mips/crypto/openssl/crypto/pkcs7/pk7_mime.c projects/mips/crypto/openssl/crypto/pkcs7/pk7_smime.c projects/mips/crypto/openssl/crypto/pqueue/Makefile projects/mips/crypto/openssl/crypto/pqueue/pq_compat.h projects/mips/crypto/openssl/crypto/rand/Makefile projects/mips/crypto/openssl/crypto/rand/md_rand.c projects/mips/crypto/openssl/crypto/rand/rand.h projects/mips/crypto/openssl/crypto/rand/rand_err.c projects/mips/crypto/openssl/crypto/rand/rand_lcl.h projects/mips/crypto/openssl/crypto/rand/rand_lib.c projects/mips/crypto/openssl/crypto/rand/rand_nw.c projects/mips/crypto/openssl/crypto/rand/rand_unix.c projects/mips/crypto/openssl/crypto/rand/randfile.c projects/mips/crypto/openssl/crypto/rc2/Makefile projects/mips/crypto/openssl/crypto/rc2/rc2.h projects/mips/crypto/openssl/crypto/rc2/rc2_skey.c projects/mips/crypto/openssl/crypto/rc4/Makefile projects/mips/crypto/openssl/crypto/rc4/asm/rc4-586.pl projects/mips/crypto/openssl/crypto/rc4/asm/rc4-ia64.S projects/mips/crypto/openssl/crypto/rc4/asm/rc4-x86_64.pl projects/mips/crypto/openssl/crypto/rc4/rc4.h projects/mips/crypto/openssl/crypto/rc4/rc4_skey.c projects/mips/crypto/openssl/crypto/rc5/Makefile projects/mips/crypto/openssl/crypto/rc5/rc5.h projects/mips/crypto/openssl/crypto/rc5/rc5_skey.c projects/mips/crypto/openssl/crypto/ripemd/Makefile projects/mips/crypto/openssl/crypto/ripemd/README projects/mips/crypto/openssl/crypto/ripemd/asm/rmd-586.pl projects/mips/crypto/openssl/crypto/ripemd/ripemd.h projects/mips/crypto/openssl/crypto/ripemd/rmd_dgst.c projects/mips/crypto/openssl/crypto/ripemd/rmd_locl.h projects/mips/crypto/openssl/crypto/ripemd/rmdtest.c projects/mips/crypto/openssl/crypto/rsa/Makefile projects/mips/crypto/openssl/crypto/rsa/rsa.h projects/mips/crypto/openssl/crypto/rsa/rsa_asn1.c projects/mips/crypto/openssl/crypto/rsa/rsa_eay.c projects/mips/crypto/openssl/crypto/rsa/rsa_err.c projects/mips/crypto/openssl/crypto/rsa/rsa_gen.c projects/mips/crypto/openssl/crypto/rsa/rsa_lib.c projects/mips/crypto/openssl/crypto/rsa/rsa_null.c projects/mips/crypto/openssl/crypto/rsa/rsa_oaep.c projects/mips/crypto/openssl/crypto/rsa/rsa_pss.c projects/mips/crypto/openssl/crypto/rsa/rsa_sign.c projects/mips/crypto/openssl/crypto/rsa/rsa_ssl.c projects/mips/crypto/openssl/crypto/rsa/rsa_test.c projects/mips/crypto/openssl/crypto/rsa/rsa_x931.c projects/mips/crypto/openssl/crypto/sha/Makefile projects/mips/crypto/openssl/crypto/sha/asm/sha1-586.pl projects/mips/crypto/openssl/crypto/sha/asm/sha1-ia64.pl projects/mips/crypto/openssl/crypto/sha/asm/sha512-ia64.pl projects/mips/crypto/openssl/crypto/sha/sha.h projects/mips/crypto/openssl/crypto/sha/sha1_one.c projects/mips/crypto/openssl/crypto/sha/sha1dgst.c projects/mips/crypto/openssl/crypto/sha/sha1test.c projects/mips/crypto/openssl/crypto/sha/sha256.c projects/mips/crypto/openssl/crypto/sha/sha512.c projects/mips/crypto/openssl/crypto/sha/sha_dgst.c projects/mips/crypto/openssl/crypto/sha/sha_locl.h projects/mips/crypto/openssl/crypto/sha/shatest.c projects/mips/crypto/openssl/crypto/stack/Makefile projects/mips/crypto/openssl/crypto/stack/safestack.h projects/mips/crypto/openssl/crypto/store/Makefile projects/mips/crypto/openssl/crypto/store/str_lib.c projects/mips/crypto/openssl/crypto/symhacks.h projects/mips/crypto/openssl/crypto/txt_db/Makefile projects/mips/crypto/openssl/crypto/ui/Makefile projects/mips/crypto/openssl/crypto/ui/ui_lib.c projects/mips/crypto/openssl/crypto/ui/ui_openssl.c projects/mips/crypto/openssl/crypto/x509/Makefile projects/mips/crypto/openssl/crypto/x509/by_dir.c projects/mips/crypto/openssl/crypto/x509/x509.h projects/mips/crypto/openssl/crypto/x509/x509_att.c projects/mips/crypto/openssl/crypto/x509/x509_cmp.c projects/mips/crypto/openssl/crypto/x509/x509_trs.c projects/mips/crypto/openssl/crypto/x509/x509_txt.c projects/mips/crypto/openssl/crypto/x509/x509_vfy.c projects/mips/crypto/openssl/crypto/x509/x509_vpm.c projects/mips/crypto/openssl/crypto/x509/x509cset.c projects/mips/crypto/openssl/crypto/x509/x509spki.c projects/mips/crypto/openssl/crypto/x509v3/Makefile projects/mips/crypto/openssl/crypto/x509v3/ext_dat.h projects/mips/crypto/openssl/crypto/x509v3/pcy_cache.c projects/mips/crypto/openssl/crypto/x509v3/pcy_data.c projects/mips/crypto/openssl/crypto/x509v3/pcy_int.h projects/mips/crypto/openssl/crypto/x509v3/pcy_lib.c projects/mips/crypto/openssl/crypto/x509v3/pcy_map.c projects/mips/crypto/openssl/crypto/x509v3/pcy_node.c projects/mips/crypto/openssl/crypto/x509v3/pcy_tree.c projects/mips/crypto/openssl/crypto/x509v3/tabtest.c projects/mips/crypto/openssl/crypto/x509v3/v3_addr.c projects/mips/crypto/openssl/crypto/x509v3/v3_akey.c projects/mips/crypto/openssl/crypto/x509v3/v3_akeya.c projects/mips/crypto/openssl/crypto/x509v3/v3_alt.c projects/mips/crypto/openssl/crypto/x509v3/v3_asid.c projects/mips/crypto/openssl/crypto/x509v3/v3_bcons.c projects/mips/crypto/openssl/crypto/x509v3/v3_bitst.c projects/mips/crypto/openssl/crypto/x509v3/v3_conf.c projects/mips/crypto/openssl/crypto/x509v3/v3_cpols.c projects/mips/crypto/openssl/crypto/x509v3/v3_crld.c projects/mips/crypto/openssl/crypto/x509v3/v3_enum.c projects/mips/crypto/openssl/crypto/x509v3/v3_extku.c projects/mips/crypto/openssl/crypto/x509v3/v3_genn.c projects/mips/crypto/openssl/crypto/x509v3/v3_ia5.c projects/mips/crypto/openssl/crypto/x509v3/v3_info.c projects/mips/crypto/openssl/crypto/x509v3/v3_int.c projects/mips/crypto/openssl/crypto/x509v3/v3_lib.c projects/mips/crypto/openssl/crypto/x509v3/v3_ncons.c projects/mips/crypto/openssl/crypto/x509v3/v3_ocsp.c projects/mips/crypto/openssl/crypto/x509v3/v3_pci.c projects/mips/crypto/openssl/crypto/x509v3/v3_pcons.c projects/mips/crypto/openssl/crypto/x509v3/v3_pku.c projects/mips/crypto/openssl/crypto/x509v3/v3_pmaps.c projects/mips/crypto/openssl/crypto/x509v3/v3_prn.c projects/mips/crypto/openssl/crypto/x509v3/v3_purp.c projects/mips/crypto/openssl/crypto/x509v3/v3_skey.c projects/mips/crypto/openssl/crypto/x509v3/v3_sxnet.c projects/mips/crypto/openssl/crypto/x509v3/v3_utl.c projects/mips/crypto/openssl/crypto/x509v3/v3conf.c projects/mips/crypto/openssl/crypto/x509v3/v3prin.c projects/mips/crypto/openssl/crypto/x509v3/x509v3.h projects/mips/crypto/openssl/crypto/x86_64cpuid.pl projects/mips/crypto/openssl/crypto/x86cpuid.pl projects/mips/crypto/openssl/demos/asn1/ocsp.c projects/mips/crypto/openssl/demos/engines/cluster_labs/hw_cluster_labs_err.h projects/mips/crypto/openssl/demos/engines/ibmca/hw_ibmca_err.h projects/mips/crypto/openssl/demos/engines/zencod/hw_zencod_err.h projects/mips/crypto/openssl/doc/apps/ciphers.pod projects/mips/crypto/openssl/doc/apps/dgst.pod projects/mips/crypto/openssl/doc/apps/enc.pod projects/mips/crypto/openssl/doc/apps/ocsp.pod projects/mips/crypto/openssl/doc/apps/openssl.pod projects/mips/crypto/openssl/doc/apps/rand.pod projects/mips/crypto/openssl/doc/apps/rsautl.pod projects/mips/crypto/openssl/doc/apps/s_client.pod projects/mips/crypto/openssl/doc/apps/s_server.pod projects/mips/crypto/openssl/doc/apps/verify.pod projects/mips/crypto/openssl/doc/apps/x509.pod projects/mips/crypto/openssl/doc/c-indentation.el projects/mips/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod projects/mips/crypto/openssl/doc/crypto/DH_set_method.pod projects/mips/crypto/openssl/doc/crypto/DSA_set_method.pod projects/mips/crypto/openssl/doc/crypto/OPENSSL_ia32cap.pod projects/mips/crypto/openssl/doc/crypto/RAND_bytes.pod projects/mips/crypto/openssl/doc/crypto/RAND_egd.pod projects/mips/crypto/openssl/doc/crypto/RAND_set_rand_method.pod projects/mips/crypto/openssl/doc/crypto/RSA_set_method.pod projects/mips/crypto/openssl/doc/crypto/X509_NAME_print_ex.pod projects/mips/crypto/openssl/doc/crypto/des_modes.pod projects/mips/crypto/openssl/doc/crypto/engine.pod projects/mips/crypto/openssl/doc/openssl_button.gif (props changed) projects/mips/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod projects/mips/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod projects/mips/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod projects/mips/crypto/openssl/doc/ssl/SSL_SESSION_free.pod projects/mips/crypto/openssl/doc/ssl/SSL_free.pod projects/mips/crypto/openssl/doc/ssl/SSL_read.pod projects/mips/crypto/openssl/doc/ssleay.txt projects/mips/crypto/openssl/doc/standards.txt projects/mips/crypto/openssl/e_os.h projects/mips/crypto/openssl/engines/Makefile projects/mips/crypto/openssl/engines/e_4758cca_err.h projects/mips/crypto/openssl/engines/e_aep.c projects/mips/crypto/openssl/engines/e_aep_err.h projects/mips/crypto/openssl/engines/e_atalla_err.h projects/mips/crypto/openssl/engines/e_chil.c projects/mips/crypto/openssl/engines/e_chil_err.c projects/mips/crypto/openssl/engines/e_chil_err.h projects/mips/crypto/openssl/engines/e_cswift_err.h projects/mips/crypto/openssl/engines/e_gmp.c projects/mips/crypto/openssl/engines/e_gmp_err.h projects/mips/crypto/openssl/engines/e_nuron_err.h projects/mips/crypto/openssl/engines/e_sureware_err.h projects/mips/crypto/openssl/engines/e_ubsec.c projects/mips/crypto/openssl/engines/e_ubsec_err.h projects/mips/crypto/openssl/openssl.spec projects/mips/crypto/openssl/ssl/Makefile projects/mips/crypto/openssl/ssl/d1_both.c projects/mips/crypto/openssl/ssl/d1_clnt.c projects/mips/crypto/openssl/ssl/d1_enc.c projects/mips/crypto/openssl/ssl/d1_lib.c projects/mips/crypto/openssl/ssl/d1_pkt.c projects/mips/crypto/openssl/ssl/d1_srvr.c projects/mips/crypto/openssl/ssl/dtls1.h projects/mips/crypto/openssl/ssl/kssl.c projects/mips/crypto/openssl/ssl/s23_clnt.c projects/mips/crypto/openssl/ssl/s23_srvr.c projects/mips/crypto/openssl/ssl/s2_clnt.c projects/mips/crypto/openssl/ssl/s2_srvr.c projects/mips/crypto/openssl/ssl/s3_clnt.c projects/mips/crypto/openssl/ssl/s3_enc.c projects/mips/crypto/openssl/ssl/s3_lib.c projects/mips/crypto/openssl/ssl/s3_pkt.c projects/mips/crypto/openssl/ssl/s3_srvr.c projects/mips/crypto/openssl/ssl/ssl.h projects/mips/crypto/openssl/ssl/ssl3.h projects/mips/crypto/openssl/ssl/ssl_algs.c projects/mips/crypto/openssl/ssl/ssl_asn1.c projects/mips/crypto/openssl/ssl/ssl_cert.c projects/mips/crypto/openssl/ssl/ssl_ciph.c projects/mips/crypto/openssl/ssl/ssl_err.c projects/mips/crypto/openssl/ssl/ssl_lib.c projects/mips/crypto/openssl/ssl/ssl_locl.h projects/mips/crypto/openssl/ssl/ssl_rsa.c projects/mips/crypto/openssl/ssl/ssl_sess.c projects/mips/crypto/openssl/ssl/ssl_stat.c projects/mips/crypto/openssl/ssl/ssl_txt.c projects/mips/crypto/openssl/ssl/ssltest.c projects/mips/crypto/openssl/ssl/t1_enc.c projects/mips/crypto/openssl/ssl/t1_lib.c projects/mips/crypto/openssl/ssl/tls1.h projects/mips/crypto/openssl/test/CAss.cnf projects/mips/crypto/openssl/test/Makefile projects/mips/crypto/openssl/test/Uss.cnf projects/mips/crypto/openssl/test/evptests.txt projects/mips/crypto/openssl/test/igetest.c projects/mips/crypto/openssl/test/times projects/mips/crypto/openssl/util/clean-depend.pl projects/mips/crypto/openssl/util/copy.pl projects/mips/crypto/openssl/util/domd projects/mips/crypto/openssl/util/libeay.num projects/mips/crypto/openssl/util/mk1mf.pl projects/mips/crypto/openssl/util/mkdef.pl projects/mips/crypto/openssl/util/mkerr.pl projects/mips/crypto/openssl/util/mkfiles.pl projects/mips/crypto/openssl/util/mklink.pl projects/mips/crypto/openssl/util/opensslwrap.sh projects/mips/crypto/openssl/util/pl/VC-32.pl projects/mips/crypto/openssl/util/pl/netware.pl projects/mips/crypto/openssl/util/shlib_wrap.sh projects/mips/crypto/openssl/util/ssleay.num projects/mips/etc/crontab projects/mips/etc/etc.amd64/ttys projects/mips/etc/etc.arm/ttys projects/mips/etc/etc.i386/ttys projects/mips/etc/etc.ia64/ttys projects/mips/etc/etc.mips/ttys projects/mips/etc/etc.powerpc/ttys projects/mips/etc/etc.sparc64/ttys projects/mips/etc/login.conf projects/mips/etc/network.subr projects/mips/etc/rc.d/NETWORKING projects/mips/etc/rc.d/ipfw projects/mips/etc/rc.d/netif projects/mips/etc/rc.d/pf projects/mips/etc/rc.d/pflog projects/mips/etc/rc.d/pfsync projects/mips/etc/termcap.small projects/mips/gnu/lib/libgcov/Makefile projects/mips/gnu/usr.bin/groff/tmac/mdoc.local projects/mips/gnu/usr.bin/man/apropos/apropos.sh projects/mips/include/rpc/svc_dg.h projects/mips/include/stdio.h projects/mips/include/unistd.h projects/mips/kerberos5/include/config.h projects/mips/kerberos5/lib/libroken/Makefile projects/mips/lib/Makefile projects/mips/lib/libarchive/archive_read.c projects/mips/lib/libc/ (props changed) projects/mips/lib/libc/arm/string/strncmp.S projects/mips/lib/libc/db/btree/bt_split.c projects/mips/lib/libc/db/mpool/mpool.c projects/mips/lib/libc/gen/Symbol.map projects/mips/lib/libc/gen/fmtcheck.c projects/mips/lib/libc/gen/initgroups.3 projects/mips/lib/libc/gen/initgroups.c projects/mips/lib/libc/gen/msgctl.3 projects/mips/lib/libc/gen/semctl.c projects/mips/lib/libc/i386/stdlib/Makefile.inc projects/mips/lib/libc/i386/stdlib/div.S projects/mips/lib/libc/i386/stdlib/ldiv.S projects/mips/lib/libc/posix1e/Makefile.inc projects/mips/lib/libc/posix1e/Symbol.map projects/mips/lib/libc/posix1e/acl.3 projects/mips/lib/libc/posix1e/acl_add_perm.3 projects/mips/lib/libc/posix1e/acl_calc_mask.c projects/mips/lib/libc/posix1e/acl_copy.c projects/mips/lib/libc/posix1e/acl_create_entry.3 projects/mips/lib/libc/posix1e/acl_delete_entry.3 projects/mips/lib/libc/posix1e/acl_delete_entry.c projects/mips/lib/libc/posix1e/acl_entry.c projects/mips/lib/libc/posix1e/acl_from_text.c projects/mips/lib/libc/posix1e/acl_get.3 projects/mips/lib/libc/posix1e/acl_get.c projects/mips/lib/libc/posix1e/acl_init.c projects/mips/lib/libc/posix1e/acl_set.3 projects/mips/lib/libc/posix1e/acl_set.c projects/mips/lib/libc/posix1e/acl_set_tag_type.3 projects/mips/lib/libc/posix1e/acl_support.c projects/mips/lib/libc/posix1e/acl_support.h projects/mips/lib/libc/posix1e/acl_to_text.3 projects/mips/lib/libc/posix1e/acl_to_text.c projects/mips/lib/libc/posix1e/acl_valid.c projects/mips/lib/libc/rpc/auth_unix.c projects/mips/lib/libc/rpc/getnetconfig.c projects/mips/lib/libc/rpc/netname.c projects/mips/lib/libc/rpc/netnamer.c projects/mips/lib/libc/rpc/svc_dg.c projects/mips/lib/libc/rpc/svc_generic.c projects/mips/lib/libc/stdio/asprintf.c (props changed) projects/mips/lib/libc/stdlib/Makefile.inc projects/mips/lib/libc/stdtime/ (props changed) projects/mips/lib/libc/stdtime/localtime.c projects/mips/lib/libc/stdtime/strptime.c projects/mips/lib/libc/string/ffsll.c (props changed) projects/mips/lib/libc/string/flsll.c (props changed) projects/mips/lib/libc/string/wcpcpy.c (props changed) projects/mips/lib/libc/sys/Makefile.inc projects/mips/lib/libc/sys/Symbol.map projects/mips/lib/libc/sys/close.2 projects/mips/lib/libc/sys/getgroups.2 projects/mips/lib/libc/sys/getrlimit.2 projects/mips/lib/libc/sys/getsockopt.2 projects/mips/lib/libc/sys/jail.2 projects/mips/lib/libc/sys/pathconf.2 projects/mips/lib/libc/sys/revoke.2 projects/mips/lib/libc/sys/semctl.2 projects/mips/lib/libc/sys/setgroups.2 projects/mips/lib/libc/sys/shmctl.2 projects/mips/lib/libcompat/4.3/cfree.c projects/mips/lib/libcompat/4.3/regex.c projects/mips/lib/libcompat/4.4/cuserid.c projects/mips/lib/libdisk/change.c projects/mips/lib/libdisk/libdisk.3 projects/mips/lib/libkiconv/Makefile projects/mips/lib/libkiconv/quirks.c projects/mips/lib/libkiconv/xlat16_iconv.c projects/mips/lib/libkiconv/xlat16_sysctl.c projects/mips/lib/libkvm/kvm_amd64.c projects/mips/lib/libkvm/kvm_arm.c projects/mips/lib/libkvm/kvm_cptime.c projects/mips/lib/libkvm/kvm_file.c projects/mips/lib/libkvm/kvm_i386.c projects/mips/lib/libkvm/kvm_minidump_amd64.c projects/mips/lib/libkvm/kvm_minidump_i386.c projects/mips/lib/libkvm/kvm_proc.c projects/mips/lib/libpam/modules/pam_exec/pam_exec.c projects/mips/lib/libpam/modules/pam_unix/pam_unix.8 projects/mips/lib/libusb/ (props changed) projects/mips/lib/libusb/Makefile projects/mips/lib/libusb/libusb.3 projects/mips/lib/libusb/libusb20.c projects/mips/lib/libusb/libusb20.h projects/mips/lib/libusb/libusb20_compat01.c projects/mips/lib/libusb/libusb20_int.h projects/mips/lib/libusb/libusb20_ugen20.c projects/mips/lib/libusb/usb.h (props changed) projects/mips/lib/libutil/ (props changed) projects/mips/lib/libutil/humanize_number.c projects/mips/lib/libutil/kinfo_getfile.3 projects/mips/lib/libutil/kinfo_getvmmap.3 projects/mips/lib/libutil/login_class.c projects/mips/lib/ncurses/ncurses/pathnames.h projects/mips/libexec/rtld-elf/rtld.c projects/mips/libexec/rtld-elf/rtld.h projects/mips/release/Makefile projects/mips/release/amd64/boot_crunch.conf projects/mips/release/doc/en_US.ISO8859-1/hardware/article.sgml projects/mips/release/i386/boot_crunch.conf projects/mips/release/ia64/boot_crunch.conf projects/mips/release/pc98/boot_crunch.conf projects/mips/release/picobsd/build/picobsd projects/mips/release/picobsd/mfs_tree/etc/motd (contents, props changed) projects/mips/release/powerpc/boot_crunch.conf projects/mips/release/scripts/package-split.py projects/mips/release/sparc64/boot_crunch.conf projects/mips/release/sun4v/boot_crunch.conf projects/mips/rescue/rescue/Makefile projects/mips/sbin/ (props changed) projects/mips/sbin/geom/class/label/glabel.8 projects/mips/sbin/ifconfig/Makefile projects/mips/sbin/ifconfig/af_atalk.c projects/mips/sbin/ifconfig/af_inet.c projects/mips/sbin/ifconfig/af_inet6.c projects/mips/sbin/ifconfig/ifclone.c projects/mips/sbin/ifconfig/ifconfig.8 projects/mips/sbin/ifconfig/ifconfig.c projects/mips/sbin/ifconfig/ifconfig.h projects/mips/sbin/ifconfig/ifgif.c projects/mips/sbin/ifconfig/ifgre.c projects/mips/sbin/ifconfig/ifieee80211.c projects/mips/sbin/ifconfig/ifmac.c projects/mips/sbin/ifconfig/ifmedia.c projects/mips/sbin/ifconfig/ifvlan.c projects/mips/sbin/init/init.c projects/mips/sbin/ipfw/ (props changed) projects/mips/sbin/ipfw/Makefile projects/mips/sbin/ipfw/dummynet.c projects/mips/sbin/ipfw/ipfw.8 projects/mips/sbin/ipfw/ipfw2.h projects/mips/sbin/kldload/kldload.8 projects/mips/sbin/mount_nfs/mount_nfs.c projects/mips/sbin/sysctl/sysctl.c projects/mips/sbin/umount/umount.c projects/mips/secure/lib/libcrypto/Makefile projects/mips/secure/lib/libcrypto/Makefile.inc projects/mips/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 projects/mips/secure/lib/libcrypto/man/ASN1_STRING_length.3 projects/mips/secure/lib/libcrypto/man/ASN1_STRING_new.3 projects/mips/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 projects/mips/secure/lib/libcrypto/man/ASN1_generate_nconf.3 projects/mips/secure/lib/libcrypto/man/BIO_ctrl.3 projects/mips/secure/lib/libcrypto/man/BIO_f_base64.3 projects/mips/secure/lib/libcrypto/man/BIO_f_buffer.3 projects/mips/secure/lib/libcrypto/man/BIO_f_cipher.3 projects/mips/secure/lib/libcrypto/man/BIO_f_md.3 projects/mips/secure/lib/libcrypto/man/BIO_f_null.3 projects/mips/secure/lib/libcrypto/man/BIO_f_ssl.3 projects/mips/secure/lib/libcrypto/man/BIO_find_type.3 projects/mips/secure/lib/libcrypto/man/BIO_new.3 projects/mips/secure/lib/libcrypto/man/BIO_push.3 projects/mips/secure/lib/libcrypto/man/BIO_read.3 projects/mips/secure/lib/libcrypto/man/BIO_s_accept.3 projects/mips/secure/lib/libcrypto/man/BIO_s_bio.3 projects/mips/secure/lib/libcrypto/man/BIO_s_connect.3 projects/mips/secure/lib/libcrypto/man/BIO_s_fd.3 projects/mips/secure/lib/libcrypto/man/BIO_s_file.3 projects/mips/secure/lib/libcrypto/man/BIO_s_mem.3 projects/mips/secure/lib/libcrypto/man/BIO_s_null.3 projects/mips/secure/lib/libcrypto/man/BIO_s_socket.3 projects/mips/secure/lib/libcrypto/man/BIO_set_callback.3 projects/mips/secure/lib/libcrypto/man/BIO_should_retry.3 projects/mips/secure/lib/libcrypto/man/BN_BLINDING_new.3 projects/mips/secure/lib/libcrypto/man/BN_CTX_new.3 projects/mips/secure/lib/libcrypto/man/BN_CTX_start.3 projects/mips/secure/lib/libcrypto/man/BN_add.3 projects/mips/secure/lib/libcrypto/man/BN_add_word.3 projects/mips/secure/lib/libcrypto/man/BN_bn2bin.3 projects/mips/secure/lib/libcrypto/man/BN_cmp.3 projects/mips/secure/lib/libcrypto/man/BN_copy.3 projects/mips/secure/lib/libcrypto/man/BN_generate_prime.3 projects/mips/secure/lib/libcrypto/man/BN_mod_inverse.3 projects/mips/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 projects/mips/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 projects/mips/secure/lib/libcrypto/man/BN_new.3 projects/mips/secure/lib/libcrypto/man/BN_num_bytes.3 projects/mips/secure/lib/libcrypto/man/BN_rand.3 projects/mips/secure/lib/libcrypto/man/BN_set_bit.3 projects/mips/secure/lib/libcrypto/man/BN_swap.3 projects/mips/secure/lib/libcrypto/man/BN_zero.3 projects/mips/secure/lib/libcrypto/man/CONF_modules_free.3 projects/mips/secure/lib/libcrypto/man/CONF_modules_load_file.3 projects/mips/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 projects/mips/secure/lib/libcrypto/man/DH_generate_key.3 projects/mips/secure/lib/libcrypto/man/DH_generate_parameters.3 projects/mips/secure/lib/libcrypto/man/DH_get_ex_new_index.3 projects/mips/secure/lib/libcrypto/man/DH_new.3 projects/mips/secure/lib/libcrypto/man/DH_set_method.3 projects/mips/secure/lib/libcrypto/man/DH_size.3 projects/mips/secure/lib/libcrypto/man/DSA_SIG_new.3 projects/mips/secure/lib/libcrypto/man/DSA_do_sign.3 projects/mips/secure/lib/libcrypto/man/DSA_dup_DH.3 projects/mips/secure/lib/libcrypto/man/DSA_generate_key.3 projects/mips/secure/lib/libcrypto/man/DSA_generate_parameters.3 projects/mips/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 projects/mips/secure/lib/libcrypto/man/DSA_new.3 projects/mips/secure/lib/libcrypto/man/DSA_set_method.3 projects/mips/secure/lib/libcrypto/man/DSA_sign.3 projects/mips/secure/lib/libcrypto/man/DSA_size.3 projects/mips/secure/lib/libcrypto/man/ERR_GET_LIB.3 projects/mips/secure/lib/libcrypto/man/ERR_clear_error.3 projects/mips/secure/lib/libcrypto/man/ERR_error_string.3 projects/mips/secure/lib/libcrypto/man/ERR_get_error.3 projects/mips/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 projects/mips/secure/lib/libcrypto/man/ERR_load_strings.3 projects/mips/secure/lib/libcrypto/man/ERR_print_errors.3 projects/mips/secure/lib/libcrypto/man/ERR_put_error.3 projects/mips/secure/lib/libcrypto/man/ERR_remove_state.3 projects/mips/secure/lib/libcrypto/man/ERR_set_mark.3 projects/mips/secure/lib/libcrypto/man/EVP_BytesToKey.3 projects/mips/secure/lib/libcrypto/man/EVP_DigestInit.3 projects/mips/secure/lib/libcrypto/man/EVP_EncryptInit.3 projects/mips/secure/lib/libcrypto/man/EVP_OpenInit.3 projects/mips/secure/lib/libcrypto/man/EVP_PKEY_new.3 projects/mips/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 projects/mips/secure/lib/libcrypto/man/EVP_SealInit.3 projects/mips/secure/lib/libcrypto/man/EVP_SignInit.3 projects/mips/secure/lib/libcrypto/man/EVP_VerifyInit.3 projects/mips/secure/lib/libcrypto/man/OBJ_nid2obj.3 projects/mips/secure/lib/libcrypto/man/OPENSSL_Applink.3 projects/mips/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 projects/mips/secure/lib/libcrypto/man/OPENSSL_config.3 projects/mips/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 projects/mips/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 projects/mips/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 projects/mips/secure/lib/libcrypto/man/PKCS12_create.3 projects/mips/secure/lib/libcrypto/man/PKCS12_parse.3 projects/mips/secure/lib/libcrypto/man/PKCS7_decrypt.3 projects/mips/secure/lib/libcrypto/man/PKCS7_encrypt.3 projects/mips/secure/lib/libcrypto/man/PKCS7_sign.3 projects/mips/secure/lib/libcrypto/man/PKCS7_verify.3 projects/mips/secure/lib/libcrypto/man/RAND_add.3 projects/mips/secure/lib/libcrypto/man/RAND_bytes.3 projects/mips/secure/lib/libcrypto/man/RAND_cleanup.3 projects/mips/secure/lib/libcrypto/man/RAND_egd.3 projects/mips/secure/lib/libcrypto/man/RAND_load_file.3 projects/mips/secure/lib/libcrypto/man/RAND_set_rand_method.3 projects/mips/secure/lib/libcrypto/man/RSA_blinding_on.3 projects/mips/secure/lib/libcrypto/man/RSA_check_key.3 projects/mips/secure/lib/libcrypto/man/RSA_generate_key.3 projects/mips/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 projects/mips/secure/lib/libcrypto/man/RSA_new.3 projects/mips/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 projects/mips/secure/lib/libcrypto/man/RSA_print.3 projects/mips/secure/lib/libcrypto/man/RSA_private_encrypt.3 projects/mips/secure/lib/libcrypto/man/RSA_public_encrypt.3 projects/mips/secure/lib/libcrypto/man/RSA_set_method.3 projects/mips/secure/lib/libcrypto/man/RSA_sign.3 projects/mips/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 projects/mips/secure/lib/libcrypto/man/RSA_size.3 projects/mips/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 projects/mips/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 projects/mips/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 projects/mips/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 projects/mips/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 projects/mips/secure/lib/libcrypto/man/X509_NAME_print_ex.3 projects/mips/secure/lib/libcrypto/man/X509_new.3 projects/mips/secure/lib/libcrypto/man/bio.3 projects/mips/secure/lib/libcrypto/man/blowfish.3 projects/mips/secure/lib/libcrypto/man/bn.3 projects/mips/secure/lib/libcrypto/man/bn_internal.3 projects/mips/secure/lib/libcrypto/man/buffer.3 projects/mips/secure/lib/libcrypto/man/crypto.3 projects/mips/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 projects/mips/secure/lib/libcrypto/man/d2i_DHparams.3 projects/mips/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 projects/mips/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 projects/mips/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 projects/mips/secure/lib/libcrypto/man/d2i_X509.3 projects/mips/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 projects/mips/secure/lib/libcrypto/man/d2i_X509_CRL.3 projects/mips/secure/lib/libcrypto/man/d2i_X509_NAME.3 projects/mips/secure/lib/libcrypto/man/d2i_X509_REQ.3 projects/mips/secure/lib/libcrypto/man/d2i_X509_SIG.3 projects/mips/secure/lib/libcrypto/man/des.3 projects/mips/secure/lib/libcrypto/man/dh.3 projects/mips/secure/lib/libcrypto/man/dsa.3 projects/mips/secure/lib/libcrypto/man/ecdsa.3 projects/mips/secure/lib/libcrypto/man/engine.3 projects/mips/secure/lib/libcrypto/man/err.3 projects/mips/secure/lib/libcrypto/man/evp.3 projects/mips/secure/lib/libcrypto/man/hmac.3 projects/mips/secure/lib/libcrypto/man/lh_stats.3 projects/mips/secure/lib/libcrypto/man/lhash.3 projects/mips/secure/lib/libcrypto/man/md5.3 projects/mips/secure/lib/libcrypto/man/mdc2.3 projects/mips/secure/lib/libcrypto/man/pem.3 projects/mips/secure/lib/libcrypto/man/rand.3 projects/mips/secure/lib/libcrypto/man/rc4.3 projects/mips/secure/lib/libcrypto/man/ripemd.3 projects/mips/secure/lib/libcrypto/man/rsa.3 projects/mips/secure/lib/libcrypto/man/sha.3 projects/mips/secure/lib/libcrypto/man/threads.3 projects/mips/secure/lib/libcrypto/man/ui.3 projects/mips/secure/lib/libcrypto/man/ui_compat.3 projects/mips/secure/lib/libcrypto/man/x509.3 projects/mips/secure/lib/libcrypto/opensslconf-amd64.h projects/mips/secure/lib/libcrypto/opensslconf-arm.h projects/mips/secure/lib/libcrypto/opensslconf-i386.h projects/mips/secure/lib/libcrypto/opensslconf-ia64.h projects/mips/secure/lib/libcrypto/opensslconf-mips.h projects/mips/secure/lib/libcrypto/opensslconf-powerpc.h projects/mips/secure/lib/libcrypto/opensslconf-sparc64.h projects/mips/secure/lib/libssh/Makefile projects/mips/secure/lib/libssl/man/SSL_CIPHER_get_name.3 projects/mips/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 projects/mips/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 projects/mips/secure/lib/libssl/man/SSL_CTX_add_session.3 projects/mips/secure/lib/libssl/man/SSL_CTX_ctrl.3 projects/mips/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 projects/mips/secure/lib/libssl/man/SSL_CTX_free.3 projects/mips/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 projects/mips/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 projects/mips/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 projects/mips/secure/lib/libssl/man/SSL_CTX_new.3 projects/mips/secure/lib/libssl/man/SSL_CTX_sess_number.3 projects/mips/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 projects/mips/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 projects/mips/secure/lib/libssl/man/SSL_CTX_sessions.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_mode.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_options.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_timeout.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 projects/mips/secure/lib/libssl/man/SSL_CTX_set_verify.3 projects/mips/secure/lib/libssl/man/SSL_CTX_use_certificate.3 projects/mips/secure/lib/libssl/man/SSL_SESSION_free.3 projects/mips/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 projects/mips/secure/lib/libssl/man/SSL_SESSION_get_time.3 projects/mips/secure/lib/libssl/man/SSL_accept.3 projects/mips/secure/lib/libssl/man/SSL_alert_type_string.3 projects/mips/secure/lib/libssl/man/SSL_clear.3 projects/mips/secure/lib/libssl/man/SSL_connect.3 projects/mips/secure/lib/libssl/man/SSL_do_handshake.3 projects/mips/secure/lib/libssl/man/SSL_free.3 projects/mips/secure/lib/libssl/man/SSL_get_SSL_CTX.3 projects/mips/secure/lib/libssl/man/SSL_get_ciphers.3 projects/mips/secure/lib/libssl/man/SSL_get_client_CA_list.3 projects/mips/secure/lib/libssl/man/SSL_get_current_cipher.3 projects/mips/secure/lib/libssl/man/SSL_get_default_timeout.3 projects/mips/secure/lib/libssl/man/SSL_get_error.3 projects/mips/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 projects/mips/secure/lib/libssl/man/SSL_get_ex_new_index.3 projects/mips/secure/lib/libssl/man/SSL_get_fd.3 projects/mips/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 projects/mips/secure/lib/libssl/man/SSL_get_peer_certificate.3 projects/mips/secure/lib/libssl/man/SSL_get_rbio.3 projects/mips/secure/lib/libssl/man/SSL_get_session.3 projects/mips/secure/lib/libssl/man/SSL_get_verify_result.3 projects/mips/secure/lib/libssl/man/SSL_get_version.3 projects/mips/secure/lib/libssl/man/SSL_library_init.3 projects/mips/secure/lib/libssl/man/SSL_load_client_CA_file.3 projects/mips/secure/lib/libssl/man/SSL_new.3 projects/mips/secure/lib/libssl/man/SSL_pending.3 projects/mips/secure/lib/libssl/man/SSL_read.3 projects/mips/secure/lib/libssl/man/SSL_rstate_string.3 projects/mips/secure/lib/libssl/man/SSL_session_reused.3 projects/mips/secure/lib/libssl/man/SSL_set_bio.3 projects/mips/secure/lib/libssl/man/SSL_set_connect_state.3 projects/mips/secure/lib/libssl/man/SSL_set_fd.3 projects/mips/secure/lib/libssl/man/SSL_set_session.3 projects/mips/secure/lib/libssl/man/SSL_set_shutdown.3 projects/mips/secure/lib/libssl/man/SSL_set_verify_result.3 projects/mips/secure/lib/libssl/man/SSL_shutdown.3 projects/mips/secure/lib/libssl/man/SSL_state_string.3 projects/mips/secure/lib/libssl/man/SSL_want.3 projects/mips/secure/lib/libssl/man/SSL_write.3 projects/mips/secure/lib/libssl/man/d2i_SSL_SESSION.3 projects/mips/secure/lib/libssl/man/ssl.3 projects/mips/secure/usr.bin/openssl/Makefile projects/mips/secure/usr.bin/openssl/man/CA.pl.1 projects/mips/secure/usr.bin/openssl/man/asn1parse.1 projects/mips/secure/usr.bin/openssl/man/ca.1 projects/mips/secure/usr.bin/openssl/man/ciphers.1 projects/mips/secure/usr.bin/openssl/man/crl.1 projects/mips/secure/usr.bin/openssl/man/crl2pkcs7.1 projects/mips/secure/usr.bin/openssl/man/dgst.1 projects/mips/secure/usr.bin/openssl/man/dhparam.1 projects/mips/secure/usr.bin/openssl/man/dsa.1 projects/mips/secure/usr.bin/openssl/man/dsaparam.1 projects/mips/secure/usr.bin/openssl/man/ec.1 projects/mips/secure/usr.bin/openssl/man/ecparam.1 projects/mips/secure/usr.bin/openssl/man/enc.1 projects/mips/secure/usr.bin/openssl/man/errstr.1 projects/mips/secure/usr.bin/openssl/man/gendsa.1 projects/mips/secure/usr.bin/openssl/man/genrsa.1 projects/mips/secure/usr.bin/openssl/man/nseq.1 projects/mips/secure/usr.bin/openssl/man/ocsp.1 projects/mips/secure/usr.bin/openssl/man/openssl.1 projects/mips/secure/usr.bin/openssl/man/passwd.1 projects/mips/secure/usr.bin/openssl/man/pkcs12.1 projects/mips/secure/usr.bin/openssl/man/pkcs7.1 projects/mips/secure/usr.bin/openssl/man/pkcs8.1 projects/mips/secure/usr.bin/openssl/man/rand.1 projects/mips/secure/usr.bin/openssl/man/req.1 projects/mips/secure/usr.bin/openssl/man/rsa.1 projects/mips/secure/usr.bin/openssl/man/rsautl.1 projects/mips/secure/usr.bin/openssl/man/s_client.1 projects/mips/secure/usr.bin/openssl/man/s_server.1 projects/mips/secure/usr.bin/openssl/man/s_time.1 projects/mips/secure/usr.bin/openssl/man/sess_id.1 projects/mips/secure/usr.bin/openssl/man/smime.1 projects/mips/secure/usr.bin/openssl/man/speed.1 projects/mips/secure/usr.bin/openssl/man/spkac.1 projects/mips/secure/usr.bin/openssl/man/verify.1 projects/mips/secure/usr.bin/openssl/man/version.1 projects/mips/secure/usr.bin/openssl/man/x509.1 projects/mips/secure/usr.bin/openssl/man/x509v3_config.1 projects/mips/share/doc/bind9/Makefile projects/mips/share/man/man4/Makefile projects/mips/share/man/man4/altq.4 projects/mips/share/man/man4/ata.4 projects/mips/share/man/man4/cpuctl.4 projects/mips/share/man/man4/gem.4 projects/mips/share/man/man4/hme.4 projects/mips/share/man/man4/miibus.4 projects/mips/share/man/man4/pcm.4 projects/mips/share/man/man4/pts.4 projects/mips/share/man/man4/usb.4 projects/mips/share/man/man4/vlan.4 projects/mips/share/man/man7/tuning.7 projects/mips/share/man/man8/picobsd.8 projects/mips/share/man/man8/yp.8 projects/mips/share/man/man9/Makefile projects/mips/share/man/man9/lock.9 projects/mips/share/man/man9/netisr.9 projects/mips/share/man/man9/stack.9 projects/mips/share/man/man9/ucred.9 projects/mips/share/man/man9/usbdi.9 projects/mips/share/man/man9/vm_map.9 projects/mips/share/misc/bsd-family-tree projects/mips/share/misc/committers-src.dot projects/mips/share/mk/bsd.libnames.mk projects/mips/share/mklocale/ja_JP.SJIS.src projects/mips/share/mklocale/ja_JP.eucJP.src projects/mips/share/syscons/keymaps/INDEX.keymaps projects/mips/share/syscons/keymaps/Makefile projects/mips/share/termcap/termcap.src projects/mips/share/timedef/de_DE.ISO8859-1.src projects/mips/share/timedef/de_DE.UTF-8.src projects/mips/share/timedef/ko_KR.UTF-8.src (contents, props changed) projects/mips/share/timedef/ko_KR.eucKR.src (contents, props changed) projects/mips/share/zoneinfo/ (props changed) projects/mips/share/zoneinfo/asia projects/mips/sys/ (props changed) projects/mips/sys/amd64/amd64/genassym.c projects/mips/sys/amd64/amd64/identcpu.c projects/mips/sys/amd64/amd64/intr_machdep.c projects/mips/sys/amd64/amd64/io_apic.c projects/mips/sys/amd64/amd64/local_apic.c projects/mips/sys/amd64/amd64/machdep.c projects/mips/sys/amd64/amd64/mp_machdep.c projects/mips/sys/amd64/amd64/msi.c projects/mips/sys/amd64/amd64/pmap.c projects/mips/sys/amd64/amd64/sys_machdep.c projects/mips/sys/amd64/conf/GENERIC projects/mips/sys/amd64/conf/GENERIC.hints projects/mips/sys/amd64/include/intr_machdep.h projects/mips/sys/amd64/include/pmap.h projects/mips/sys/amd64/include/xen/ (props changed) projects/mips/sys/amd64/isa/atpic.c projects/mips/sys/amd64/isa/clock.c projects/mips/sys/arm/arm/elf_machdep.c projects/mips/sys/arm/arm/elf_trampoline.c projects/mips/sys/arm/arm/pmap.c projects/mips/sys/arm/arm/vm_machdep.c projects/mips/sys/arm/at91/at91_machdep.c projects/mips/sys/arm/at91/if_ate.c projects/mips/sys/arm/conf/AVILA.hints projects/mips/sys/arm/conf/CAMBRIA.hints projects/mips/sys/arm/conf/DB-78XXX projects/mips/sys/arm/conf/DB-88F5XXX projects/mips/sys/arm/conf/DB-88F6XXX projects/mips/sys/arm/include/pmap.h projects/mips/sys/arm/mv/common.c projects/mips/sys/arm/mv/discovery/db78xxx.c projects/mips/sys/arm/mv/discovery/discovery.c projects/mips/sys/arm/mv/files.mv projects/mips/sys/arm/mv/kirkwood/db88f6xxx.c projects/mips/sys/arm/mv/kirkwood/kirkwood.c projects/mips/sys/arm/mv/mv_machdep.c projects/mips/sys/arm/mv/mvreg.h projects/mips/sys/arm/mv/orion/db88f5xxx.c projects/mips/sys/arm/mv/orion/orion.c projects/mips/sys/arm/sa11x0/assabet_machdep.c projects/mips/sys/arm/xscale/i80321/ep80219_machdep.c projects/mips/sys/arm/xscale/i80321/iq31244_machdep.c projects/mips/sys/arm/xscale/i8134x/crb_machdep.c projects/mips/sys/arm/xscale/ixp425/avila_ata.c projects/mips/sys/arm/xscale/ixp425/avila_machdep.c projects/mips/sys/arm/xscale/ixp425/files.avila projects/mips/sys/arm/xscale/ixp425/if_npe.c projects/mips/sys/arm/xscale/ixp425/ixp425.c projects/mips/sys/arm/xscale/ixp425/ixp425_npe.c projects/mips/sys/arm/xscale/ixp425/ixp425_npereg.h projects/mips/sys/arm/xscale/ixp425/ixp425reg.h projects/mips/sys/arm/xscale/ixp425/ixp425var.h projects/mips/sys/arm/xscale/ixp425/uart_bus_ixp425.c projects/mips/sys/arm/xscale/pxa/pxa_machdep.c projects/mips/sys/boot/forth/loader.conf projects/mips/sys/boot/i386/libi386/biosdisk.c projects/mips/sys/boot/powerpc/uboot/version projects/mips/sys/cam/cam.c projects/mips/sys/cam/cam_periph.c projects/mips/sys/cam/cam_periph.h projects/mips/sys/cam/scsi/scsi_target.c projects/mips/sys/cddl/compat/opensolaris/kern/opensolaris.c projects/mips/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c projects/mips/sys/cddl/compat/opensolaris/sys/vnode.h projects/mips/sys/cddl/contrib/opensolaris/ (props changed) projects/mips/sys/cddl/contrib/opensolaris/common/atomic/amd64/opensolaris_atomic.S (props changed) projects/mips/sys/cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S (props changed) projects/mips/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S (props changed) projects/mips/sys/cddl/contrib/opensolaris/common/atomic/sparc64/opensolaris_atomic.S (props changed) projects/mips/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_history.c projects/mips/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/mips/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr.c (props changed) projects/mips/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_array.c (props changed) projects/mips/sys/cddl/contrib/opensolaris/uts/common/rpc/opensolaris_xdr_mem.c (props changed) projects/mips/sys/cddl/contrib/opensolaris/uts/common/zmod/opensolaris_crc32.c (props changed) projects/mips/sys/cddl/dev/dtrace/amd64/dtrace_isa.c projects/mips/sys/cddl/dev/dtrace/amd64/dtrace_subr.c projects/mips/sys/compat/freebsd32/freebsd32_ipc.h projects/mips/sys/compat/freebsd32/freebsd32_misc.c projects/mips/sys/compat/freebsd32/freebsd32_proto.h projects/mips/sys/compat/freebsd32/freebsd32_syscall.h projects/mips/sys/compat/freebsd32/freebsd32_syscalls.c projects/mips/sys/compat/freebsd32/freebsd32_sysent.c projects/mips/sys/compat/freebsd32/syscalls.master projects/mips/sys/compat/linprocfs/linprocfs.c projects/mips/sys/compat/linux/linux_futex.c projects/mips/sys/compat/linux/linux_ioctl.c projects/mips/sys/compat/linux/linux_ipc.c projects/mips/sys/compat/linux/linux_misc.c projects/mips/sys/compat/linux/linux_signal.c projects/mips/sys/compat/linux/linux_uid16.c projects/mips/sys/compat/ndis/kern_ndis.c projects/mips/sys/compat/ndis/subr_ndis.c projects/mips/sys/compat/ndis/subr_usbd.c projects/mips/sys/compat/svr4/svr4_ipc.c projects/mips/sys/compat/svr4/svr4_sockio.c projects/mips/sys/compat/svr4/svr4_stat.c projects/mips/sys/conf/NOTES projects/mips/sys/conf/files projects/mips/sys/conf/files.amd64 projects/mips/sys/conf/files.i386 projects/mips/sys/conf/files.powerpc projects/mips/sys/conf/kmod.mk projects/mips/sys/conf/options projects/mips/sys/contrib/altq/altq/altq_subr.c projects/mips/sys/contrib/dev/acpica/ (props changed) projects/mips/sys/contrib/dev/mwl/mw88W8363.fw.uu projects/mips/sys/contrib/ngatm/netnatm/sig/sig_uni.c projects/mips/sys/contrib/pf/ (props changed) projects/mips/sys/contrib/pf/net/pf_if.c projects/mips/sys/contrib/pf/net/pf_ioctl.c projects/mips/sys/contrib/rdma/rdma_addr.c projects/mips/sys/contrib/rdma/rdma_cma.c projects/mips/sys/dev/acpica/Osd/OsdSynch.c projects/mips/sys/dev/ae/if_ae.c projects/mips/sys/dev/age/if_age.c projects/mips/sys/dev/alc/if_alc.c projects/mips/sys/dev/ale/if_ale.c projects/mips/sys/dev/asmc/asmc.c projects/mips/sys/dev/asmc/asmcvar.h projects/mips/sys/dev/ata/ (props changed) projects/mips/sys/dev/ata/ata-all.h projects/mips/sys/dev/ata/ata-dma.c projects/mips/sys/dev/ata/ata-pci.h projects/mips/sys/dev/ata/ata-sata.c projects/mips/sys/dev/ata/ata-usb.c (contents, props changed) projects/mips/sys/dev/ata/chipsets/ata-acard.c projects/mips/sys/dev/ata/chipsets/ata-acerlabs.c projects/mips/sys/dev/ata/chipsets/ata-adaptec.c projects/mips/sys/dev/ata/chipsets/ata-amd.c projects/mips/sys/dev/ata/chipsets/ata-ati.c projects/mips/sys/dev/ata/chipsets/ata-cenatek.c projects/mips/sys/dev/ata/chipsets/ata-cypress.c projects/mips/sys/dev/ata/chipsets/ata-cyrix.c projects/mips/sys/dev/ata/chipsets/ata-highpoint.c projects/mips/sys/dev/ata/chipsets/ata-intel.c projects/mips/sys/dev/ata/chipsets/ata-ite.c projects/mips/sys/dev/ata/chipsets/ata-jmicron.c projects/mips/sys/dev/ata/chipsets/ata-marvell.c projects/mips/sys/dev/ata/chipsets/ata-micron.c projects/mips/sys/dev/ata/chipsets/ata-national.c projects/mips/sys/dev/ata/chipsets/ata-netcell.c projects/mips/sys/dev/ata/chipsets/ata-nvidia.c projects/mips/sys/dev/ata/chipsets/ata-promise.c projects/mips/sys/dev/ata/chipsets/ata-serverworks.c projects/mips/sys/dev/ata/chipsets/ata-siliconimage.c projects/mips/sys/dev/ata/chipsets/ata-sis.c projects/mips/sys/dev/ata/chipsets/ata-via.c projects/mips/sys/dev/ath/ath_hal/ah.c projects/mips/sys/dev/ath/ath_hal/ah.h projects/mips/sys/dev/ath/ath_hal/ah_desc.h projects/mips/sys/dev/ath/ath_hal/ah_internal.h projects/mips/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/mips/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c projects/mips/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c projects/mips/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/mips/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c projects/mips/sys/dev/ath/ath_rate/sample/sample.c projects/mips/sys/dev/ath/if_ath.c projects/mips/sys/dev/ath/if_athvar.h projects/mips/sys/dev/bce/if_bce.c projects/mips/sys/dev/bce/if_bcereg.h projects/mips/sys/dev/bfe/if_bfe.c projects/mips/sys/dev/bge/if_bge.c projects/mips/sys/dev/bm/if_bm.c projects/mips/sys/dev/cpuctl/cpuctl.c projects/mips/sys/dev/cs/if_cs.c projects/mips/sys/dev/cxgb/ (props changed) projects/mips/sys/dev/cxgb/common/cxgb_t3_cpl.h projects/mips/sys/dev/cxgb/cxgb_adapter.h projects/mips/sys/dev/cxgb/cxgb_main.c projects/mips/sys/dev/cxgb/cxgb_osdep.h projects/mips/sys/dev/cxgb/cxgb_sge.c projects/mips/sys/dev/cxgb/sys/mvec.h projects/mips/sys/dev/cxgb/sys/uipc_mvec.c projects/mips/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c projects/mips/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c projects/mips/sys/dev/dc/if_dc.c projects/mips/sys/dev/de/if_de.c projects/mips/sys/dev/drm/drmP.h projects/mips/sys/dev/drm/drm_bufs.c projects/mips/sys/dev/drm/drm_context.c projects/mips/sys/dev/drm/drm_drv.c projects/mips/sys/dev/drm/drm_irq.c projects/mips/sys/dev/drm/drm_sysctl.c projects/mips/sys/dev/drm/i915_dma.c projects/mips/sys/dev/drm/i915_drv.c projects/mips/sys/dev/drm/i915_drv.h projects/mips/sys/dev/drm/i915_irq.c projects/mips/sys/dev/drm/radeon_cp.c projects/mips/sys/dev/drm/radeon_irq.c projects/mips/sys/dev/e1000/e1000_82540.c projects/mips/sys/dev/e1000/e1000_82541.c projects/mips/sys/dev/e1000/e1000_82571.c projects/mips/sys/dev/e1000/e1000_82575.c projects/mips/sys/dev/e1000/e1000_82575.h projects/mips/sys/dev/e1000/e1000_api.c projects/mips/sys/dev/e1000/e1000_defines.h projects/mips/sys/dev/e1000/e1000_hw.h projects/mips/sys/dev/e1000/e1000_ich8lan.c projects/mips/sys/dev/e1000/e1000_ich8lan.h projects/mips/sys/dev/e1000/e1000_mac.c projects/mips/sys/dev/e1000/e1000_osdep.c projects/mips/sys/dev/e1000/e1000_phy.c projects/mips/sys/dev/e1000/e1000_phy.h projects/mips/sys/dev/e1000/e1000_regs.h projects/mips/sys/dev/e1000/if_em.c projects/mips/sys/dev/e1000/if_em.h projects/mips/sys/dev/e1000/if_igb.c projects/mips/sys/dev/e1000/if_igb.h projects/mips/sys/dev/ed/if_ed.c projects/mips/sys/dev/et/if_et.c projects/mips/sys/dev/ex/if_ex.c projects/mips/sys/dev/fdc/fdc.c projects/mips/sys/dev/fe/if_fe.c projects/mips/sys/dev/firewire/firewire.c projects/mips/sys/dev/firewire/fwdev.c projects/mips/sys/dev/fxp/if_fxp.c projects/mips/sys/dev/fxp/if_fxpvar.h projects/mips/sys/dev/gem/if_gem.c projects/mips/sys/dev/gem/if_gem_pci.c projects/mips/sys/dev/gem/if_gemreg.h projects/mips/sys/dev/gem/if_gemvar.h projects/mips/sys/dev/hme/if_hme.c projects/mips/sys/dev/hptmv/atapi.h projects/mips/sys/dev/hwpmc/hwpmc_logging.c projects/mips/sys/dev/hwpmc/hwpmc_mod.c projects/mips/sys/dev/ic/ns16550.h projects/mips/sys/dev/ie/if_ie.c projects/mips/sys/dev/if_ndis/if_ndis.c projects/mips/sys/dev/if_ndis/if_ndis_pccard.c projects/mips/sys/dev/if_ndis/if_ndis_pci.c projects/mips/sys/dev/if_ndis/if_ndis_usb.c projects/mips/sys/dev/iscsi/initiator/isc_soc.c projects/mips/sys/dev/ixgb/if_ixgb.c projects/mips/sys/dev/ixgbe/ixgbe.c projects/mips/sys/dev/ixgbe/ixgbe.h projects/mips/sys/dev/ixgbe/ixgbe_82598.c projects/mips/sys/dev/ixgbe/ixgbe_82599.c projects/mips/sys/dev/ixgbe/ixgbe_api.c projects/mips/sys/dev/ixgbe/ixgbe_api.h projects/mips/sys/dev/ixgbe/ixgbe_common.c projects/mips/sys/dev/ixgbe/ixgbe_osdep.h projects/mips/sys/dev/ixgbe/ixgbe_phy.c projects/mips/sys/dev/ixgbe/ixgbe_phy.h projects/mips/sys/dev/ixgbe/ixgbe_type.h projects/mips/sys/dev/jme/if_jme.c projects/mips/sys/dev/le/lance.c projects/mips/sys/dev/lge/if_lge.c projects/mips/sys/dev/malo/if_malo.c projects/mips/sys/dev/md/md.c projects/mips/sys/dev/mfi/mfi.c projects/mips/sys/dev/mge/if_mge.c projects/mips/sys/dev/mii/miidevs projects/mips/sys/dev/mii/nsgphy.c projects/mips/sys/dev/mpt/mpt_cam.c projects/mips/sys/dev/msk/if_msk.c projects/mips/sys/dev/mwl/if_mwl.c projects/mips/sys/dev/mwl/if_mwlvar.h projects/mips/sys/dev/mwl/mwlhal.c projects/mips/sys/dev/mwl/mwlhal.h projects/mips/sys/dev/mwl/mwlreg.h projects/mips/sys/dev/mxge/eth_z8e.h projects/mips/sys/dev/mxge/ethp_z8e.h projects/mips/sys/dev/mxge/if_mxge.c projects/mips/sys/dev/mxge/if_mxge_var.h projects/mips/sys/dev/mxge/mxge_lro.c projects/mips/sys/dev/mxge/rss_eth_z8e.h projects/mips/sys/dev/mxge/rss_ethp_z8e.h projects/mips/sys/dev/my/if_my.c projects/mips/sys/dev/nfe/if_nfe.c projects/mips/sys/dev/nge/if_nge.c projects/mips/sys/dev/nve/if_nve.c projects/mips/sys/dev/nxge/if_nxge.c projects/mips/sys/dev/ofw/ofw_bus_subr.c projects/mips/sys/dev/ofw/ofw_bus_subr.h projects/mips/sys/dev/ofw/ofw_disk.c projects/mips/sys/dev/ofw/ofw_if.m projects/mips/sys/dev/ofw/ofw_iicbus.c projects/mips/sys/dev/ofw/ofw_standard.c projects/mips/sys/dev/ofw/ofwvar.h projects/mips/sys/dev/ofw/openfirm.c projects/mips/sys/dev/ofw/openfirm.h projects/mips/sys/dev/ofw/openfirmio.c projects/mips/sys/dev/pci/pci.c projects/mips/sys/dev/pcn/if_pcn.c projects/mips/sys/dev/pdq/pdq_ifsubr.c projects/mips/sys/dev/puc/pucdata.c projects/mips/sys/dev/re/if_re.c projects/mips/sys/dev/sec/sec.c projects/mips/sys/dev/sf/if_sf.c projects/mips/sys/dev/sis/if_sis.c projects/mips/sys/dev/sk/if_sk.c projects/mips/sys/dev/sn/if_sn.c projects/mips/sys/dev/snc/dp83932.c projects/mips/sys/dev/sound/midi/midi.c projects/mips/sys/dev/sound/midi/sequencer.c projects/mips/sys/dev/sound/pci/hda/hdac.c projects/mips/sys/dev/sound/pcm/feeder_rate.c projects/mips/sys/dev/sound/usb/uaudio.c (contents, props changed) projects/mips/sys/dev/sound/usb/uaudio.h (props changed) projects/mips/sys/dev/sound/usb/uaudio_pcm.c (props changed) projects/mips/sys/dev/sound/usb/uaudioreg.h (props changed) projects/mips/sys/dev/sound/version.h projects/mips/sys/dev/speaker/spkr.c projects/mips/sys/dev/ste/if_ste.c projects/mips/sys/dev/stge/if_stge.c projects/mips/sys/dev/syscons/daemon/daemon_saver.c projects/mips/sys/dev/syscons/scterm-teken.c projects/mips/sys/dev/syscons/teken/teken.c projects/mips/sys/dev/ti/if_ti.c projects/mips/sys/dev/tl/if_tl.c projects/mips/sys/dev/tsec/if_tsec.c projects/mips/sys/dev/tsec/if_tsec.h projects/mips/sys/dev/tx/if_tx.c projects/mips/sys/dev/txp/if_txp.c projects/mips/sys/dev/uart/uart_cpu_mv.c projects/mips/sys/dev/usb/controller/at91dci.c (contents, props changed) projects/mips/sys/dev/usb/controller/at91dci.h (props changed) projects/mips/sys/dev/usb/controller/at91dci_atmelarm.c (contents, props changed) projects/mips/sys/dev/usb/controller/atmegadci.c projects/mips/sys/dev/usb/controller/atmegadci_atmelarm.c projects/mips/sys/dev/usb/controller/avr32dci.c projects/mips/sys/dev/usb/controller/ehci.c (contents, props changed) projects/mips/sys/dev/usb/controller/ehci.h (props changed) projects/mips/sys/dev/usb/controller/ehci_ixp4xx.c projects/mips/sys/dev/usb/controller/ehci_mbus.c projects/mips/sys/dev/usb/controller/ehci_pci.c (contents, props changed) projects/mips/sys/dev/usb/controller/musb_otg.c (contents, props changed) projects/mips/sys/dev/usb/controller/musb_otg.h (props changed) projects/mips/sys/dev/usb/controller/musb_otg_atmelarm.c (contents, props changed) projects/mips/sys/dev/usb/controller/ohci.c (contents, props changed) projects/mips/sys/dev/usb/controller/ohci.h (props changed) projects/mips/sys/dev/usb/controller/ohci_atmelarm.c (contents, props changed) projects/mips/sys/dev/usb/controller/ohci_pci.c (contents, props changed) projects/mips/sys/dev/usb/controller/uhci.c (contents, props changed) projects/mips/sys/dev/usb/controller/uhci.h (props changed) projects/mips/sys/dev/usb/controller/uhci_pci.c (contents, props changed) projects/mips/sys/dev/usb/controller/usb_controller.c (contents, props changed) projects/mips/sys/dev/usb/controller/uss820dci.c (contents, props changed) projects/mips/sys/dev/usb/controller/uss820dci.h (props changed) projects/mips/sys/dev/usb/controller/uss820dci_atmelarm.c (contents, props changed) projects/mips/sys/dev/usb/input/uhid.c (contents, props changed) projects/mips/sys/dev/usb/input/ukbd.c (contents, props changed) projects/mips/sys/dev/usb/input/ums.c (contents, props changed) projects/mips/sys/dev/usb/input/usb_rdesc.h (props changed) projects/mips/sys/dev/usb/misc/udbp.c (contents, props changed) projects/mips/sys/dev/usb/misc/udbp.h (props changed) projects/mips/sys/dev/usb/misc/ufm.c (contents, props changed) projects/mips/sys/dev/usb/net/if_aue.c (contents, props changed) projects/mips/sys/dev/usb/net/if_auereg.h (contents, props changed) projects/mips/sys/dev/usb/net/if_axe.c (contents, props changed) projects/mips/sys/dev/usb/net/if_axereg.h (contents, props changed) projects/mips/sys/dev/usb/net/if_cdce.c (contents, props changed) projects/mips/sys/dev/usb/net/if_cdcereg.h (props changed) projects/mips/sys/dev/usb/net/if_cue.c (contents, props changed) projects/mips/sys/dev/usb/net/if_cuereg.h (props changed) projects/mips/sys/dev/usb/net/if_kue.c (contents, props changed) projects/mips/sys/dev/usb/net/if_kuefw.h (props changed) projects/mips/sys/dev/usb/net/if_kuereg.h (props changed) projects/mips/sys/dev/usb/net/if_rue.c (contents, props changed) projects/mips/sys/dev/usb/net/if_ruereg.h (contents, props changed) projects/mips/sys/dev/usb/net/if_udav.c (contents, props changed) projects/mips/sys/dev/usb/net/if_udavreg.h (contents, props changed) projects/mips/sys/dev/usb/net/usb_ethernet.c (contents, props changed) projects/mips/sys/dev/usb/net/usb_ethernet.h (contents, props changed) projects/mips/sys/dev/usb/quirk/usb_quirk.c (contents, props changed) projects/mips/sys/dev/usb/quirk/usb_quirk.h (contents, props changed) projects/mips/sys/dev/usb/serial/u3g.c (contents, props changed) projects/mips/sys/dev/usb/serial/uark.c (contents, props changed) projects/mips/sys/dev/usb/serial/ubsa.c (contents, props changed) projects/mips/sys/dev/usb/serial/ubser.c (contents, props changed) projects/mips/sys/dev/usb/serial/uchcom.c (contents, props changed) projects/mips/sys/dev/usb/serial/ucycom.c (contents, props changed) projects/mips/sys/dev/usb/serial/ufoma.c (contents, props changed) projects/mips/sys/dev/usb/serial/uftdi.c (contents, props changed) projects/mips/sys/dev/usb/serial/uftdi_reg.h (props changed) projects/mips/sys/dev/usb/serial/ugensa.c (contents, props changed) projects/mips/sys/dev/usb/serial/uipaq.c (contents, props changed) projects/mips/sys/dev/usb/serial/ulpt.c (contents, props changed) projects/mips/sys/dev/usb/serial/umct.c (contents, props changed) projects/mips/sys/dev/usb/serial/umodem.c (contents, props changed) projects/mips/sys/dev/usb/serial/umoscom.c (contents, props changed) projects/mips/sys/dev/usb/serial/uplcom.c (contents, props changed) projects/mips/sys/dev/usb/serial/usb_serial.c (contents, props changed) projects/mips/sys/dev/usb/serial/usb_serial.h (contents, props changed) projects/mips/sys/dev/usb/serial/uslcom.c projects/mips/sys/dev/usb/serial/uvisor.c (contents, props changed) projects/mips/sys/dev/usb/serial/uvscom.c (contents, props changed) projects/mips/sys/dev/usb/storage/rio500_usb.h (props changed) projects/mips/sys/dev/usb/storage/umass.c (contents, props changed) projects/mips/sys/dev/usb/storage/urio.c (contents, props changed) projects/mips/sys/dev/usb/storage/ustorage_fs.c (contents, props changed) projects/mips/sys/dev/usb/template/usb_template.c (contents, props changed) projects/mips/sys/dev/usb/template/usb_template.h (contents, props changed) projects/mips/sys/dev/usb/template/usb_template_cdce.c (contents, props changed) projects/mips/sys/dev/usb/template/usb_template_msc.c (contents, props changed) projects/mips/sys/dev/usb/template/usb_template_mtp.c (contents, props changed) projects/mips/sys/dev/usb/ufm_ioctl.h (props changed) projects/mips/sys/dev/usb/usb.h (contents, props changed) projects/mips/sys/dev/usb/usb_bus.h (contents, props changed) projects/mips/sys/dev/usb/usb_busdma.c (contents, props changed) projects/mips/sys/dev/usb/usb_busdma.h (contents, props changed) projects/mips/sys/dev/usb/usb_cdc.h (props changed) projects/mips/sys/dev/usb/usb_compat_linux.c (contents, props changed) projects/mips/sys/dev/usb/usb_compat_linux.h (contents, props changed) projects/mips/sys/dev/usb/usb_controller.h (contents, props changed) projects/mips/sys/dev/usb/usb_core.c (contents, props changed) projects/mips/sys/dev/usb/usb_core.h (contents, props changed) projects/mips/sys/dev/usb/usb_debug.c (contents, props changed) projects/mips/sys/dev/usb/usb_debug.h (contents, props changed) projects/mips/sys/dev/usb/usb_dev.c (contents, props changed) projects/mips/sys/dev/usb/usb_dev.h (contents, props changed) projects/mips/sys/dev/usb/usb_device.c (contents, props changed) projects/mips/sys/dev/usb/usb_device.h (contents, props changed) projects/mips/sys/dev/usb/usb_dynamic.c (contents, props changed) projects/mips/sys/dev/usb/usb_dynamic.h (contents, props changed) projects/mips/sys/dev/usb/usb_endian.h (contents, props changed) projects/mips/sys/dev/usb/usb_error.c (contents, props changed) projects/mips/sys/dev/usb/usb_generic.c (contents, props changed) projects/mips/sys/dev/usb/usb_generic.h (contents, props changed) projects/mips/sys/dev/usb/usb_handle_request.c (contents, props changed) projects/mips/sys/dev/usb/usb_hid.c (contents, props changed) projects/mips/sys/dev/usb/usb_hub.c (contents, props changed) projects/mips/sys/dev/usb/usb_hub.h (contents, props changed) projects/mips/sys/dev/usb/usb_if.m (contents, props changed) projects/mips/sys/dev/usb/usb_ioctl.h (contents, props changed) projects/mips/sys/dev/usb/usb_lookup.c (contents, props changed) projects/mips/sys/dev/usb/usb_mbuf.c (contents, props changed) projects/mips/sys/dev/usb/usb_mbuf.h (contents, props changed) projects/mips/sys/dev/usb/usb_msctest.c (contents, props changed) projects/mips/sys/dev/usb/usb_msctest.h (contents, props changed) projects/mips/sys/dev/usb/usb_parse.c (contents, props changed) projects/mips/sys/dev/usb/usb_pci.h (contents, props changed) projects/mips/sys/dev/usb/usb_process.c (contents, props changed) projects/mips/sys/dev/usb/usb_process.h (contents, props changed) projects/mips/sys/dev/usb/usb_request.c (contents, props changed) projects/mips/sys/dev/usb/usb_request.h (contents, props changed) projects/mips/sys/dev/usb/usb_transfer.c (contents, props changed) projects/mips/sys/dev/usb/usb_transfer.h (contents, props changed) projects/mips/sys/dev/usb/usb_util.c (contents, props changed) projects/mips/sys/dev/usb/usb_util.h (contents, props changed) projects/mips/sys/dev/usb/usbdevs (contents, props changed) projects/mips/sys/dev/usb/usbhid.h (contents, props changed) projects/mips/sys/dev/usb/wlan/if_rum.c (contents, props changed) projects/mips/sys/dev/usb/wlan/if_rumfw.h (props changed) projects/mips/sys/dev/usb/wlan/if_rumreg.h (props changed) projects/mips/sys/dev/usb/wlan/if_rumvar.h (props changed) projects/mips/sys/dev/usb/wlan/if_uath.c projects/mips/sys/dev/usb/wlan/if_upgt.c projects/mips/sys/dev/usb/wlan/if_ural.c (contents, props changed) projects/mips/sys/dev/usb/wlan/if_uralreg.h (props changed) projects/mips/sys/dev/usb/wlan/if_uralvar.h (props changed) projects/mips/sys/dev/usb/wlan/if_urtw.c projects/mips/sys/dev/usb/wlan/if_zyd.c (contents, props changed) projects/mips/sys/dev/usb/wlan/if_zydfw.h (props changed) projects/mips/sys/dev/usb/wlan/if_zydreg.h (props changed) projects/mips/sys/dev/vge/if_vge.c projects/mips/sys/dev/vr/if_vr.c projects/mips/sys/dev/wb/if_wb.c projects/mips/sys/dev/wi/if_wi.c projects/mips/sys/dev/wl/if_wl.c projects/mips/sys/dev/xe/if_xe.c projects/mips/sys/dev/xen/blkfront/blkfront.c projects/mips/sys/dev/xen/netfront/ (props changed) projects/mips/sys/dev/xen/netfront/netfront.c projects/mips/sys/dev/xen/xenpci/ (props changed) projects/mips/sys/dev/xl/if_xl.c projects/mips/sys/fs/cd9660/cd9660_lookup.c projects/mips/sys/fs/coda/coda_psdev.c projects/mips/sys/fs/coda/coda_vnops.c projects/mips/sys/fs/devfs/devfs_vnops.c projects/mips/sys/fs/nfs/nfs.h projects/mips/sys/fs/nfs/nfs_commonport.c projects/mips/sys/fs/nfs/nfsport.h projects/mips/sys/fs/nfsclient/nfs_clbio.c projects/mips/sys/fs/nfsclient/nfs_clkrpc.c projects/mips/sys/fs/nfsclient/nfs_clport.c projects/mips/sys/fs/nfsclient/nfs_clstate.c projects/mips/sys/fs/nfsclient/nfs_clvfsops.c projects/mips/sys/fs/nfsclient/nfs_clvnops.c projects/mips/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/mips/sys/fs/nfsserver/nfs_nfsdport.c projects/mips/sys/fs/nfsserver/nfs_nfsdstate.c projects/mips/sys/fs/ntfs/ntfs.h projects/mips/sys/fs/nullfs/null_vnops.c projects/mips/sys/fs/portalfs/portal.h projects/mips/sys/fs/portalfs/portal_vnops.c projects/mips/sys/fs/procfs/procfs_map.c projects/mips/sys/fs/pseudofs/pseudofs_vnops.c projects/mips/sys/fs/tmpfs/tmpfs_subr.c projects/mips/sys/fs/tmpfs/tmpfs_vnops.c projects/mips/sys/fs/unionfs/union_vnops.c projects/mips/sys/geom/geom.h projects/mips/sys/geom/geom_io.c projects/mips/sys/geom/geom_redboot.c projects/mips/sys/geom/geom_subr.c projects/mips/sys/geom/geom_vfs.c projects/mips/sys/geom/journal/g_journal.c projects/mips/sys/geom/label/g_label.c projects/mips/sys/geom/label/g_label.h projects/mips/sys/geom/linux_lvm/g_linux_lvm.c projects/mips/sys/gnu/fs/ext2fs/ext2_lookup.c projects/mips/sys/gnu/fs/ext2fs/ext2_vnops.c projects/mips/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c projects/mips/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h projects/mips/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h projects/mips/sys/gnu/fs/xfs/xfs_rw.h projects/mips/sys/gnu/fs/xfs/xfs_vnodeops.c projects/mips/sys/i386/conf/GENERIC projects/mips/sys/i386/conf/NOTES projects/mips/sys/i386/i386/elf_machdep.c projects/mips/sys/i386/i386/genassym.c projects/mips/sys/i386/i386/intr_machdep.c projects/mips/sys/i386/i386/io_apic.c projects/mips/sys/i386/i386/local_apic.c projects/mips/sys/i386/i386/machdep.c projects/mips/sys/i386/i386/mp_machdep.c projects/mips/sys/i386/i386/msi.c projects/mips/sys/i386/i386/pmap.c projects/mips/sys/i386/i386/sys_machdep.c projects/mips/sys/i386/ibcs2/ibcs2_ipc.c projects/mips/sys/i386/ibcs2/ibcs2_isc_sysent.c projects/mips/sys/i386/ibcs2/ibcs2_misc.c projects/mips/sys/i386/ibcs2/ibcs2_xenix_sysent.c projects/mips/sys/i386/include/cpufunc.h projects/mips/sys/i386/include/in_cksum.h projects/mips/sys/i386/include/intr_machdep.h projects/mips/sys/i386/include/pmap.h projects/mips/sys/i386/include/specialreg.h projects/mips/sys/i386/isa/atpic.c projects/mips/sys/i386/isa/clock.c projects/mips/sys/i386/linux/linux_machdep.c projects/mips/sys/i386/xen/mp_machdep.c projects/mips/sys/ia64/conf/GENERIC projects/mips/sys/ia64/ia64/elf_machdep.c projects/mips/sys/ia64/ia64/machdep.c projects/mips/sys/ia64/ia64/mp_machdep.c projects/mips/sys/ia64/ia64/vm_machdep.c projects/mips/sys/kern/init_sysent.c projects/mips/sys/kern/kern_acct.c projects/mips/sys/kern/kern_alq.c projects/mips/sys/kern/kern_cpuset.c projects/mips/sys/kern/kern_descrip.c projects/mips/sys/kern/kern_event.c projects/mips/sys/kern/kern_exec.c projects/mips/sys/kern/kern_exit.c projects/mips/sys/kern/kern_fork.c projects/mips/sys/kern/kern_intr.c projects/mips/sys/kern/kern_jail.c projects/mips/sys/kern/kern_linker.c projects/mips/sys/kern/kern_lock.c projects/mips/sys/kern/kern_lockf.c projects/mips/sys/kern/kern_mbuf.c projects/mips/sys/kern/kern_mib.c projects/mips/sys/kern/kern_poll.c projects/mips/sys/kern/kern_proc.c projects/mips/sys/kern/kern_prot.c projects/mips/sys/kern/kern_resource.c projects/mips/sys/kern/kern_shutdown.c projects/mips/sys/kern/kern_sig.c projects/mips/sys/kern/kern_switch.c projects/mips/sys/kern/kern_sysctl.c projects/mips/sys/kern/kern_thr.c projects/mips/sys/kern/kern_uuid.c projects/mips/sys/kern/kern_vimage.c projects/mips/sys/kern/link_elf.c projects/mips/sys/kern/link_elf_obj.c projects/mips/sys/kern/makesyscalls.sh projects/mips/sys/kern/sched_ule.c projects/mips/sys/kern/subr_pcpu.c projects/mips/sys/kern/subr_stack.c projects/mips/sys/kern/sys_generic.c projects/mips/sys/kern/sys_process.c projects/mips/sys/kern/sys_socket.c projects/mips/sys/kern/syscalls.c projects/mips/sys/kern/syscalls.master projects/mips/sys/kern/systrace_args.c projects/mips/sys/kern/sysv_ipc.c projects/mips/sys/kern/sysv_msg.c projects/mips/sys/kern/sysv_sem.c projects/mips/sys/kern/sysv_shm.c projects/mips/sys/kern/tty.c projects/mips/sys/kern/uipc_mbuf.c projects/mips/sys/kern/uipc_shm.c projects/mips/sys/kern/uipc_sockbuf.c projects/mips/sys/kern/uipc_socket.c projects/mips/sys/kern/uipc_syscalls.c projects/mips/sys/kern/uipc_usrreq.c projects/mips/sys/kern/vfs_cache.c projects/mips/sys/kern/vfs_cluster.c projects/mips/sys/kern/vfs_default.c projects/mips/sys/kern/vfs_export.c projects/mips/sys/kern/vfs_extattr.c projects/mips/sys/kern/vfs_lookup.c projects/mips/sys/kern/vfs_mount.c projects/mips/sys/kern/vfs_subr.c projects/mips/sys/kern/vfs_syscalls.c projects/mips/sys/kern/vfs_vnops.c projects/mips/sys/kern/vnode_if.src projects/mips/sys/kgssapi/krb5/krb5_mech.c projects/mips/sys/libkern/iconv.c projects/mips/sys/libkern/iconv_converter_if.m projects/mips/sys/libkern/iconv_xlat16.c projects/mips/sys/mips/adm5120/if_admsw.c projects/mips/sys/mips/conf/ (props changed) projects/mips/sys/mips/conf/ADM5120 projects/mips/sys/mips/conf/OCTEON1 (props changed) projects/mips/sys/mips/idt/files.idt projects/mips/sys/mips/malta/yamon.c projects/mips/sys/mips/mips/busdma_machdep.c projects/mips/sys/mips/mips/dump_machdep.c projects/mips/sys/mips/mips/elf_machdep.c projects/mips/sys/mips/mips/intr_machdep.c projects/mips/sys/mips/mips/mainbus.c projects/mips/sys/mips/mips/mp_machdep.c projects/mips/sys/mips/mips/pmap.c projects/mips/sys/mips/octeon1/ (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_fau.c (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_fau.h (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_fpa.c (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_fpa.h (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_ipd.c (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_ipd.h (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_pip.h (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_pko.c (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_pko.h (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_rgmx.c (props changed) projects/mips/sys/mips/octeon1/dev/rgmii/octeon_rgmx.h (props changed) projects/mips/sys/mips/octeon1/driveid.h (props changed) projects/mips/sys/mips/octeon1/files.octeon1 (props changed) projects/mips/sys/mips/octeon1/octeon_ebt3000_cf.c (props changed) projects/mips/sys/mips/octeon1/octeon_ebt3000_cf.h (props changed) projects/mips/sys/mips/octeon1/octeon_pcmap_regs.h (props changed) projects/mips/sys/mips/octeon1/std.octeon1 (props changed) projects/mips/sys/mips/octeon1/uart_dev_oct16550.c (props changed) projects/mips/sys/modules/Makefile projects/mips/sys/modules/acpi/Makefile projects/mips/sys/modules/acpi/acpi/Makefile projects/mips/sys/modules/cxgb/cxgb/Makefile projects/mips/sys/modules/dtrace/dtnfsclient/ (props changed) projects/mips/sys/modules/gem/Makefile projects/mips/sys/modules/igb/Makefile projects/mips/sys/modules/ip6_mroute_mod/ (props changed) projects/mips/sys/modules/ipmi/ipmi_linux/ (props changed) projects/mips/sys/modules/ixgbe/Makefile projects/mips/sys/modules/mxge/mxge/Makefile projects/mips/sys/modules/netgraph/Makefile projects/mips/sys/modules/nfsclient/Makefile projects/mips/sys/modules/nfsserver/Makefile projects/mips/sys/modules/wlan/Makefile projects/mips/sys/net/bpf.c projects/mips/sys/net/bridgestp.c projects/mips/sys/net/fddi.h projects/mips/sys/net/firewire.h projects/mips/sys/net/flowtable.c projects/mips/sys/net/flowtable.h projects/mips/sys/net/if.c projects/mips/sys/net/if.h projects/mips/sys/net/if_arc.h projects/mips/sys/net/if_arcsubr.c projects/mips/sys/net/if_ef.c projects/mips/sys/net/if_enc.c projects/mips/sys/net/if_ethersubr.c projects/mips/sys/net/if_fddisubr.c projects/mips/sys/net/if_fwsubr.c projects/mips/sys/net/if_gre.c projects/mips/sys/net/if_iso88025subr.c projects/mips/sys/net/if_media.h projects/mips/sys/net/if_mib.c projects/mips/sys/net/if_spppsubr.c projects/mips/sys/net/if_stf.c projects/mips/sys/net/if_tap.c projects/mips/sys/net/if_tun.c projects/mips/sys/net/if_var.h projects/mips/sys/net/if_vlan.c projects/mips/sys/net/iso88025.h projects/mips/sys/net/netisr.c projects/mips/sys/net/netisr.h projects/mips/sys/net/pfkeyv2.h projects/mips/sys/net/raw_cb.c projects/mips/sys/net/raw_usrreq.c projects/mips/sys/net/route.c projects/mips/sys/net/route.h projects/mips/sys/net/rtsock.c projects/mips/sys/net/vnet.h projects/mips/sys/net80211/ieee80211.c projects/mips/sys/net80211/ieee80211_ddb.c projects/mips/sys/net80211/ieee80211_ioctl.h projects/mips/sys/net80211/ieee80211_wds.c projects/mips/sys/netatalk/COPYRIGHT projects/mips/sys/netatalk/aarp.c projects/mips/sys/netatalk/at_control.c projects/mips/sys/netatalk/at_extern.h projects/mips/sys/netatalk/at_rmx.c projects/mips/sys/netatalk/at_var.h projects/mips/sys/netatalk/ddp_input.c projects/mips/sys/netatalk/ddp_output.c projects/mips/sys/netatalk/ddp_pcb.c projects/mips/sys/netatalk/ddp_usrreq.c projects/mips/sys/netgraph/atm/ng_atm.c projects/mips/sys/netgraph/atm/uni/ng_uni.c projects/mips/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/mips/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c projects/mips/sys/netgraph/ng_eiface.c projects/mips/sys/netgraph/ng_ether.c projects/mips/sys/netgraph/ng_iface.c projects/mips/sys/netgraph/ng_ksocket.c projects/mips/sys/netinet/if_ether.c projects/mips/sys/netinet/igmp.c projects/mips/sys/netinet/in.c projects/mips/sys/netinet/in_gif.c projects/mips/sys/netinet/in_mcast.c projects/mips/sys/netinet/in_pcb.c projects/mips/sys/netinet/in_pcb.h projects/mips/sys/netinet/in_proto.c projects/mips/sys/netinet/in_rmx.c projects/mips/sys/netinet/in_var.h projects/mips/sys/netinet/ip_carp.c projects/mips/sys/netinet/ip_divert.c projects/mips/sys/netinet/ip_dummynet.h projects/mips/sys/netinet/ip_icmp.c projects/mips/sys/netinet/ip_input.c projects/mips/sys/netinet/ip_mroute.c projects/mips/sys/netinet/ip_mroute.h projects/mips/sys/netinet/ip_options.c projects/mips/sys/netinet/ip_output.c projects/mips/sys/netinet/ip_var.h projects/mips/sys/netinet/ipfw/ip_dummynet.c (contents, props changed) projects/mips/sys/netinet/ipfw/ip_fw2.c (contents, props changed) projects/mips/sys/netinet/ipfw/ip_fw_nat.c projects/mips/sys/netinet/ipfw/ip_fw_pfil.c (props changed) projects/mips/sys/netinet/raw_ip.c projects/mips/sys/netinet/sctp.h projects/mips/sys/netinet/sctp_indata.c projects/mips/sys/netinet/sctp_input.c projects/mips/sys/netinet/sctp_output.c projects/mips/sys/netinet/tcp_hostcache.c projects/mips/sys/netinet/tcp_input.c projects/mips/sys/netinet/tcp_offload.c projects/mips/sys/netinet/tcp_output.c projects/mips/sys/netinet/tcp_subr.c projects/mips/sys/netinet/tcp_timer.c projects/mips/sys/netinet/tcp_usrreq.c projects/mips/sys/netinet/tcp_var.h projects/mips/sys/netinet/udp.h projects/mips/sys/netinet/udp_usrreq.c projects/mips/sys/netinet/udp_var.h projects/mips/sys/netinet/vinet.h projects/mips/sys/netinet6/frag6.c projects/mips/sys/netinet6/icmp6.c projects/mips/sys/netinet6/in6.c projects/mips/sys/netinet6/in6_ifattach.c projects/mips/sys/netinet6/in6_pcb.c projects/mips/sys/netinet6/in6_pcb.h projects/mips/sys/netinet6/in6_proto.c projects/mips/sys/netinet6/in6_rmx.c projects/mips/sys/netinet6/in6_src.c projects/mips/sys/netinet6/in6_var.h projects/mips/sys/netinet6/ip6_input.c projects/mips/sys/netinet6/ip6_mroute.c projects/mips/sys/netinet6/ip6_mroute.h projects/mips/sys/netinet6/ip6_output.c projects/mips/sys/netinet6/ip6_var.h projects/mips/sys/netinet6/mld6.c projects/mips/sys/netinet6/nd6.c projects/mips/sys/netinet6/nd6_nbr.c projects/mips/sys/netinet6/nd6_rtr.c projects/mips/sys/netinet6/raw_ip6.c projects/mips/sys/netinet6/scope6.c projects/mips/sys/netinet6/udp6_usrreq.c projects/mips/sys/netinet6/vinet6.h projects/mips/sys/netipsec/ipsec_input.c projects/mips/sys/netipsec/ipsec_output.c projects/mips/sys/netipsec/key.c projects/mips/sys/netipsec/key.h projects/mips/sys/netipsec/keydb.h projects/mips/sys/netipsec/xform_tcp.c projects/mips/sys/netipx/README projects/mips/sys/netipx/ipx.c projects/mips/sys/netipx/ipx_if.h projects/mips/sys/netipx/ipx_input.c projects/mips/sys/netipx/ipx_outputfl.c projects/mips/sys/netipx/ipx_pcb.c projects/mips/sys/netipx/ipx_usrreq.c projects/mips/sys/netipx/ipx_var.h projects/mips/sys/netipx/spx.h projects/mips/sys/netipx/spx_reass.c projects/mips/sys/netipx/spx_usrreq.c projects/mips/sys/netipx/spx_var.h projects/mips/sys/nfs/nfs_common.c projects/mips/sys/nfs/nfs_nfssvc.c projects/mips/sys/nfsclient/bootp_subr.c projects/mips/sys/nfsclient/krpc_subr.c projects/mips/sys/nfsclient/nfs.h projects/mips/sys/nfsclient/nfs_bio.c projects/mips/sys/nfsclient/nfs_diskless.c projects/mips/sys/nfsclient/nfs_krpc.c projects/mips/sys/nfsclient/nfs_lock.c projects/mips/sys/nfsclient/nfs_nfsiod.c projects/mips/sys/nfsclient/nfs_node.c projects/mips/sys/nfsclient/nfs_subs.c projects/mips/sys/nfsclient/nfs_vfsops.c projects/mips/sys/nfsclient/nfs_vnops.c projects/mips/sys/nfsclient/nfsm_subs.h projects/mips/sys/nfsclient/nfsmount.h projects/mips/sys/nfsserver/nfs.h projects/mips/sys/nfsserver/nfs_fha.c projects/mips/sys/nfsserver/nfs_serv.c projects/mips/sys/nfsserver/nfs_srvkrpc.c projects/mips/sys/nfsserver/nfs_srvsubs.c projects/mips/sys/nfsserver/nfsrvcache.h projects/mips/sys/nlm/nlm_advlock.c projects/mips/sys/nlm/nlm_prot_impl.c projects/mips/sys/pc98/conf/GENERIC projects/mips/sys/pc98/pc98/machdep.c projects/mips/sys/pci/if_rl.c projects/mips/sys/powerpc/aim/mmu_oea.c projects/mips/sys/powerpc/aim/mmu_oea64.c projects/mips/sys/powerpc/booke/pmap.c projects/mips/sys/powerpc/conf/GENERIC projects/mips/sys/powerpc/conf/MPC85XX projects/mips/sys/powerpc/conf/NOTES projects/mips/sys/powerpc/include/spr.h projects/mips/sys/powerpc/powerpc/cpu.c projects/mips/sys/powerpc/powerpc/elf_machdep.c projects/mips/sys/powerpc/powerpc/mp_machdep.c projects/mips/sys/rpc/clnt_dg.c projects/mips/sys/rpc/clnt_rc.c projects/mips/sys/rpc/rpcsec_gss/rpcsec_gss.c projects/mips/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c projects/mips/sys/rpc/svc.c projects/mips/sys/rpc/svc_auth.c projects/mips/sys/rpc/svc_auth_unix.c projects/mips/sys/rpc/svc_generic.c projects/mips/sys/rpc/svc_vc.c projects/mips/sys/security/audit/audit.c projects/mips/sys/security/audit/audit.h projects/mips/sys/security/audit/audit_arg.c projects/mips/sys/security/audit/audit_bsm.c projects/mips/sys/security/audit/audit_private.h projects/mips/sys/security/audit/audit_syscalls.c projects/mips/sys/security/mac_biba/mac_biba.c projects/mips/sys/security/mac_lomac/mac_lomac.c projects/mips/sys/sparc64/conf/GENERIC projects/mips/sys/sparc64/include/pcpu.h projects/mips/sys/sparc64/include/pmap.h projects/mips/sys/sparc64/sparc64/elf_machdep.c projects/mips/sys/sparc64/sparc64/machdep.c projects/mips/sys/sparc64/sparc64/mp_machdep.c projects/mips/sys/sparc64/sparc64/pmap.c projects/mips/sys/sun4v/conf/GENERIC projects/mips/sys/sun4v/include/pcpu.h projects/mips/sys/sun4v/sun4v/machdep.c projects/mips/sys/sun4v/sun4v/mp_machdep.c projects/mips/sys/sun4v/sun4v/pmap.c projects/mips/sys/sys/acl.h projects/mips/sys/sys/ata.h projects/mips/sys/sys/conf.h projects/mips/sys/sys/cpuctl.h projects/mips/sys/sys/cpuset.h projects/mips/sys/sys/event.h projects/mips/sys/sys/fcntl.h projects/mips/sys/sys/filio.h projects/mips/sys/sys/iconv.h projects/mips/sys/sys/ipc.h projects/mips/sys/sys/jail.h projects/mips/sys/sys/ktr.h projects/mips/sys/sys/linker.h projects/mips/sys/sys/lock.h projects/mips/sys/sys/lock_profile.h projects/mips/sys/sys/lockmgr.h projects/mips/sys/sys/mbuf.h projects/mips/sys/sys/mount.h projects/mips/sys/sys/msg.h projects/mips/sys/sys/mutex.h projects/mips/sys/sys/param.h projects/mips/sys/sys/pcpu.h projects/mips/sys/sys/priv.h projects/mips/sys/sys/resource.h projects/mips/sys/sys/resourcevar.h projects/mips/sys/sys/sched.h projects/mips/sys/sys/sem.h projects/mips/sys/sys/shm.h projects/mips/sys/sys/socketvar.h projects/mips/sys/sys/sockio.h projects/mips/sys/sys/stack.h projects/mips/sys/sys/sx.h projects/mips/sys/sys/syscall.h projects/mips/sys/sys/syscall.mk projects/mips/sys/sys/sysctl.h projects/mips/sys/sys/syslimits.h projects/mips/sys/sys/sysproto.h projects/mips/sys/sys/tty.h projects/mips/sys/sys/ucred.h projects/mips/sys/sys/uio.h projects/mips/sys/sys/unistd.h projects/mips/sys/sys/user.h projects/mips/sys/sys/vimage.h projects/mips/sys/sys/vnode.h projects/mips/sys/tools/sound/feeder_rate_mkfilter.awk projects/mips/sys/ufs/ffs/ffs_softdep.c projects/mips/sys/ufs/ffs/ffs_vnops.c projects/mips/sys/ufs/ufs/ufs_dirhash.c projects/mips/sys/ufs/ufs/ufs_lookup.c projects/mips/sys/ufs/ufs/ufs_vnops.c projects/mips/sys/vm/default_pager.c projects/mips/sys/vm/device_pager.c projects/mips/sys/vm/phys_pager.c projects/mips/sys/vm/swap_pager.c projects/mips/sys/vm/uma_core.c projects/mips/sys/vm/vm.h projects/mips/sys/vm/vm_contig.c projects/mips/sys/vm/vm_extern.h projects/mips/sys/vm/vm_fault.c projects/mips/sys/vm/vm_kern.c projects/mips/sys/vm/vm_map.c projects/mips/sys/vm/vm_map.h projects/mips/sys/vm/vm_mmap.c projects/mips/sys/vm/vm_object.c projects/mips/sys/vm/vm_object.h projects/mips/sys/vm/vm_page.c projects/mips/sys/vm/vm_pageout.c projects/mips/sys/vm/vm_pager.c projects/mips/sys/vm/vm_pager.h projects/mips/sys/vm/vm_phys.c projects/mips/sys/vm/vm_phys.h projects/mips/sys/vm/vnode_pager.c projects/mips/sys/xen/evtchn.h (props changed) projects/mips/sys/xen/hypervisor.h (props changed) projects/mips/sys/xen/xen_intr.h (props changed) projects/mips/tools/build/mk/OptionalObsoleteFiles.inc projects/mips/tools/regression/acltools/tools-posix.test projects/mips/tools/regression/bin/sh/builtins/command5.0.stdout projects/mips/tools/regression/lib/msun/test-conj.t (props changed) projects/mips/tools/regression/netipx/spxloopback/spxloopback.c projects/mips/tools/regression/usr.bin/pkill/pgrep-_g.t (props changed) projects/mips/tools/regression/usr.bin/pkill/pgrep-_s.t (props changed) projects/mips/tools/regression/usr.bin/pkill/pkill-_g.t (props changed) projects/mips/tools/tools/ath/athpoke/Makefile projects/mips/tools/tools/ath/athpoke/athpoke.c projects/mips/tools/tools/ath/common/dumpregs.h (props changed) projects/mips/tools/tools/ath/common/dumpregs_5210.c (props changed) projects/mips/tools/tools/ath/common/dumpregs_5211.c (props changed) projects/mips/tools/tools/ath/common/dumpregs_5212.c (props changed) projects/mips/tools/tools/ath/common/dumpregs_5416.c (props changed) projects/mips/tools/tools/nanobsd/FlashDevice.sub projects/mips/tools/tools/nanobsd/gateworks/G2358 projects/mips/tools/tools/nanobsd/nanobsd.sh projects/mips/tools/tools/tinybsd/tinybsd projects/mips/usr.bin/Makefile projects/mips/usr.bin/catman/catman.c projects/mips/usr.bin/chpass/Makefile projects/mips/usr.bin/csup/ (props changed) projects/mips/usr.bin/fstat/fstat.c projects/mips/usr.bin/gzip/gzip.1 projects/mips/usr.bin/gzip/gzip.c projects/mips/usr.bin/gzip/zuncompress.c projects/mips/usr.bin/hexdump/parse.c projects/mips/usr.bin/id/id.c projects/mips/usr.bin/ipcs/ipcs.c projects/mips/usr.bin/keylogout/keylogout.c projects/mips/usr.bin/killall/Makefile projects/mips/usr.bin/killall/killall.c projects/mips/usr.bin/limits/limits.c projects/mips/usr.bin/make/arch.c projects/mips/usr.bin/make/job.c projects/mips/usr.bin/makewhatis/makewhatis.c projects/mips/usr.bin/ncal/ncal.c projects/mips/usr.bin/netstat/bpf.c projects/mips/usr.bin/netstat/netstat.1 projects/mips/usr.bin/newgrp/newgrp.c projects/mips/usr.bin/nfsstat/nfsstat.c projects/mips/usr.bin/procstat/ (props changed) projects/mips/usr.bin/quota/quota.c projects/mips/usr.bin/showmount/showmount.c projects/mips/usr.bin/usbhidctl/usbhid.c projects/mips/usr.bin/ypcat/ypcat.c projects/mips/usr.bin/ypmatch/ypmatch.c projects/mips/usr.bin/ypwhich/ypwhich.c projects/mips/usr.sbin/Makefile projects/mips/usr.sbin/amd/include/config.h projects/mips/usr.sbin/chown/chown.c projects/mips/usr.sbin/chroot/chroot.c projects/mips/usr.sbin/cpucontrol/cpucontrol.8 projects/mips/usr.sbin/cpucontrol/cpucontrol.c projects/mips/usr.sbin/cxgbtool/cxgbtool.c projects/mips/usr.sbin/dconschat/dconschat.c projects/mips/usr.sbin/dumpcis/cardinfo.h (props changed) projects/mips/usr.sbin/dumpcis/cis.h (props changed) projects/mips/usr.sbin/fdcontrol/fdcontrol.c projects/mips/usr.sbin/fdformat/fdformat.c projects/mips/usr.sbin/fdread/fdread.c projects/mips/usr.sbin/fdwrite/fdwrite.c projects/mips/usr.sbin/getpmac/getpmac.c projects/mips/usr.sbin/jail/Makefile projects/mips/usr.sbin/jail/jail.8 projects/mips/usr.sbin/jail/jail.c projects/mips/usr.sbin/jexec/Makefile projects/mips/usr.sbin/jexec/jexec.c projects/mips/usr.sbin/jls/Makefile projects/mips/usr.sbin/jls/jls.c projects/mips/usr.sbin/lpr/common_source/displayq.c projects/mips/usr.sbin/lpr/lp/lp.1 projects/mips/usr.sbin/lpr/lp/lp.sh projects/mips/usr.sbin/lpr/lpc/lpc.c projects/mips/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) projects/mips/usr.sbin/makefs/ffs/ffs_subr.c (props changed) projects/mips/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) projects/mips/usr.sbin/makefs/getid.c (props changed) projects/mips/usr.sbin/mount_portalfs/mount_portalfs.c projects/mips/usr.sbin/mount_portalfs/portald.h projects/mips/usr.sbin/mountd/mountd.c projects/mips/usr.sbin/nfscbd/nfscbd.c projects/mips/usr.sbin/nfsd/nfsd.c projects/mips/usr.sbin/nfsd/nfsv4.4 projects/mips/usr.sbin/ngctl/main.c projects/mips/usr.sbin/nscd/Makefile projects/mips/usr.sbin/nscd/agent.c projects/mips/usr.sbin/nscd/agent.h projects/mips/usr.sbin/nscd/agents/group.c projects/mips/usr.sbin/nscd/agents/group.h projects/mips/usr.sbin/nscd/agents/passwd.c projects/mips/usr.sbin/nscd/agents/passwd.h projects/mips/usr.sbin/nscd/agents/services.c projects/mips/usr.sbin/nscd/agents/services.h projects/mips/usr.sbin/nscd/cachelib.c projects/mips/usr.sbin/nscd/cachelib.h projects/mips/usr.sbin/nscd/cacheplcs.c projects/mips/usr.sbin/nscd/cacheplcs.h projects/mips/usr.sbin/nscd/config.c projects/mips/usr.sbin/nscd/config.h projects/mips/usr.sbin/nscd/debug.c projects/mips/usr.sbin/nscd/debug.h projects/mips/usr.sbin/nscd/hashtable.h projects/mips/usr.sbin/nscd/log.c projects/mips/usr.sbin/nscd/log.h projects/mips/usr.sbin/nscd/mp_rs_query.c projects/mips/usr.sbin/nscd/mp_rs_query.h projects/mips/usr.sbin/nscd/mp_ws_query.c projects/mips/usr.sbin/nscd/mp_ws_query.h projects/mips/usr.sbin/nscd/nscd.c projects/mips/usr.sbin/nscd/nscdcli.c projects/mips/usr.sbin/nscd/nscdcli.h projects/mips/usr.sbin/nscd/parser.c projects/mips/usr.sbin/nscd/parser.h projects/mips/usr.sbin/nscd/protocol.c projects/mips/usr.sbin/nscd/protocol.h projects/mips/usr.sbin/nscd/query.c projects/mips/usr.sbin/nscd/query.h projects/mips/usr.sbin/nscd/singletons.c projects/mips/usr.sbin/pkg_install/add/perform.c projects/mips/usr.sbin/pkg_install/create/perform.c projects/mips/usr.sbin/pkg_install/info/perform.c projects/mips/usr.sbin/pkg_install/lib/lib.h projects/mips/usr.sbin/pkg_install/lib/pen.c projects/mips/usr.sbin/pkg_install/lib/url.c projects/mips/usr.sbin/rpc.lockd/kern.c projects/mips/usr.sbin/rpc.umntall/mounttab.c projects/mips/usr.sbin/rpc.umntall/mounttab.h projects/mips/usr.sbin/rpc.umntall/rpc.umntall.c projects/mips/usr.sbin/sysinstall/Makefile projects/mips/usr.sbin/sysinstall/devices.c projects/mips/usr.sbin/sysinstall/dispatch.c projects/mips/usr.sbin/sysinstall/dist.c projects/mips/usr.sbin/sysinstall/dist.h projects/mips/usr.sbin/sysinstall/doc.c projects/mips/usr.sbin/sysinstall/help/usage.hlp projects/mips/usr.sbin/sysinstall/label.c projects/mips/usr.sbin/sysinstall/media.c projects/mips/usr.sbin/sysinstall/menus.c projects/mips/usr.sbin/sysinstall/options.c projects/mips/usr.sbin/sysinstall/sysinstall.h projects/mips/usr.sbin/sysinstall/ufs.c projects/mips/usr.sbin/wpa/ndis_events/ndis_events.c projects/mips/usr.sbin/ypserv/Makefile.yp projects/mips/usr.sbin/ypserv/yp_access.c projects/mips/usr.sbin/ypserv/ypserv.8 projects/mips/usr.sbin/zic/ (props changed) Modified: projects/mips/MAINTAINERS ============================================================================== --- projects/mips/MAINTAINERS Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/MAINTAINERS Fri Jul 3 04:39:18 2009 (r195303) @@ -124,7 +124,6 @@ usr.bin/bluetooth emax Pre-commit review usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports. -usb core Please contact core@ before any major changes ncurses rafan Heads-up appreciated, try not to break it. Following are the entries from the Makefiles, and a few other sources. Modified: projects/mips/Makefile.inc1 ============================================================================== --- projects/mips/Makefile.inc1 Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/Makefile.inc1 Fri Jul 3 04:39:18 2009 (r195303) @@ -94,6 +94,8 @@ CLEANDIR= cleandir CVS?= cvs CVSFLAGS?= -A -P -d -I! +SVN?= svn +SVNFLAGS?= -r HEAD SUP?= /usr/bin/csup SUPFLAGS?= -g -L 2 .if defined(SUPHOST) @@ -854,10 +856,24 @@ update: .endif .endif .if defined(CVS_UPDATE) - @echo "--------------------------------------------------------------" - @echo ">>> Updating ${.CURDIR} from CVS repository" ${CVSROOT} - @echo "--------------------------------------------------------------" - cd ${.CURDIR}; ${CVS} -R -q update ${CVSFLAGS} + @cd ${.CURDIR} ; \ + if [ -d CVS ] ; then \ + echo "--------------------------------------------------------------" ; \ + echo ">>> Updating ${.CURDIR} from CVS repository" ${CVSROOT} ; \ + echo "--------------------------------------------------------------" ; \ + echo ${CVS} -R -q update ${CVSFLAGS} ; \ + ${CVS} -R -q update ${CVSFLAGS} ; \ + fi +.endif +.if defined(SVN_UPDATE) + @cd ${.CURDIR} ; \ + if [ -d .svn ] ; then \ + echo "--------------------------------------------------------------" ; \ + echo ">>> Updating ${.CURDIR} using Subversion" ; \ + echo "--------------------------------------------------------------" ; \ + echo ${SVN} update ${SVNFLAGS} ; \ + ${SVN} update ${SVNFLAGS} ; \ + fi .endif # Modified: projects/mips/ObsoleteFiles.inc ============================================================================== --- projects/mips/ObsoleteFiles.inc Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/ObsoleteFiles.inc Fri Jul 3 04:39:18 2009 (r195303) @@ -14,11 +14,75 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090630: old kernel RPC implementation removal +OLD_FILES+=usr/include/nfs/rpcv2.h +# 20090624: update usbdi(9) +OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_toggle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_close_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_device2interface_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_flags_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_endpoint_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_edesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_idesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc_full.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_device_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_altindex.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_no_alts.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_quirks.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_speed.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_xfer_status.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe_intr.9.gz +OLD_FILES+=usr/share/man/man9/usbd_pipe2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_index.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_no.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_interface.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_default_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_isoc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_sync_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usb_find_desc.9.gz +# 20090623: number of headers needed for a usb driver reduced +OLD_FILES+=usr/include/dev/usb/usb_defs.h +OLD_FILES+=usr/include/dev/usb/usb_error.h +OLD_FILES+=usr/include/dev/usb/usb_handle_request.h +OLD_FILES+=usr/include/dev/usb/usb_hid.h +OLD_FILES+=usr/include/dev/usb/usb_lookup.h +OLD_FILES+=usr/include/dev/usb/usb_mfunc.h +OLD_FILES+=usr/include/dev/usb/usb_parse.h +OLD_FILES+=usr/include/dev/usb/usb_revision.h +# 20090609: devclass_add_driver is no longer public +OLD_FILES+=usr/share/man/man9/devclass_add_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_delete_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_find_driver.9.gz # 20090605: removal of clists OLD_FILES+=usr/include/sys/clist.h # 20090602: removal of window(1) OLD_FILES+=usr/bin/window OLD_FILES+=usr/share/man/man1/window.1.gz +# 20090531: bind 9.6.1rc1 import +OLD_LIBS+=usr/lib/liblwres.so.30 # 20090530: removal of early.sh OLD_FILES+=etc/rc.d/early.sh # 20090527: renaming of S{LIST,TAILQ}_REMOVE_NEXT() to _REMOVE_AFTER() @@ -58,7 +122,7 @@ OLD_DIRS+=usr/include/legacy/dev/usb OLD_DIRS+=usr/include/legacy/dev OLD_DIRS+=usr/include/legacy # 20090526: removal of makekey(8) -OLD_FILES+=libexec/makekey +OLD_FILES+=usr/libexec/makekey OLD_FILES+=usr/share/man/man8/makekey.8.gz # 20090522: removal of University of Michigan NFSv4 client OLD_FILES+=etc/rc.d/idmapd Modified: projects/mips/UPDATING ============================================================================== --- projects/mips/UPDATING Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/UPDATING Fri Jul 3 04:39:18 2009 (r195303) @@ -22,6 +22,63 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090630: + The NFS_LEGACYRPC option has been removed along with the old + kernel RPC implementation that this option selected. Kernel + configurations may need to be adjusted. + +20090629: + The network interface device nodes at /dev/net/ have + been removed. All ioctl operations can be performed the normal + way using routing sockets. The kqueue functionality can + generally be replaced with routing sockets. + +20090628: + The documentation from the FreeBSD Documentation Project + (Handbook, FAQ, etc.) is now installed via packages by + sysinstall(8) and under the /usr/local/share/doc/freebsd + directory instead of /usr/share/doc. + +20090624: + The ABI of various structures related to the SYSV IPC API have + been changed. As a result, the COMPAT_FREEBSD[456] kernel + options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version + to 800100. + +20090622: + Layout of struct vnet has changed as routing related variables + were moved to their own Vimage module. Modules need to be + recompiled. Bump __FreeBSD_version to 800099. + +20090619: + NGROUPS_MAX and NGROUPS have been increased from 16 to 1023 + and 1024 respectively. As long as no more than 16 groups per + process are used, no changes should be visible. When more + than 16 groups are used, old binaries may fail if they call + getgroups() or getgrouplist() with statically sized storage. + Recompiling will work around this, but applications should be + modified to use dynamically allocated storage for group arrays + as POSIX.1-2008 does not cap an implementation's number of + supported groups at NGROUPS_MAX+1 as previous versions did. + + NFS and portalfs mounts may also be affected as the list of + groups is truncated to 16. Users of NFS who use more than 16 + groups, should take care that negative group permissions are not + used on the exported file systems as they will not be reliable + unless a GSSAPI based authentication method is used. + +20090616: + The compiling option ADAPTIVE_LOCKMGRS has been introduced. + This option compiles in the support for adaptive spinning for lockmgrs + which want to enable it. The lockinit() function now accepts the + flag LK_ADAPTIVE in order to make the lock object subject to + adaptive spinning when both held in write and read mode. + +20090613: + The layout of the structure returned by IEEE80211_IOC_STA_INFO + has changed. User applications that use this ioctl need to be + rebuilt. + 20090611: The layout of struct thread has changed. Kernel and modules need to be rebuilt. @@ -46,12 +103,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. rebuilt. Bump __FreeBSD_version to 800096. -20090531: - For those who use ipfw and especially pf, those two firewalls - are now started BEFORE the network is initialized (i.e., before - rc.d/netif). Please review your rules to make sure that your - interfaces will be properly described. - 20090530: Remove the tunable/sysctl debug.mpsafevfs as its initial purpose is no more valid. Modified: projects/mips/bin/chflags/chflags.c ============================================================================== --- projects/mips/bin/chflags/chflags.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/chflags/chflags.c Fri Jul 3 04:39:18 2009 (r195303) @@ -53,7 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include -void usage(void); +static void usage(void); int main(int argc, char *argv[]) @@ -196,7 +196,7 @@ main(int argc, char *argv[]) exit(rval); } -void +static void usage(void) { (void)fprintf(stderr, Modified: projects/mips/bin/chmod/chmod.c ============================================================================== --- projects/mips/bin/chmod/chmod.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/chmod/chmod.c Fri Jul 3 04:39:18 2009 (r195303) @@ -53,7 +53,8 @@ __FBSDID("$FreeBSD$"); #include #include -void usage(void); +static void usage(void); +static int may_have_nfs4acl(const FTSENT *ent); int main(int argc, char *argv[]) @@ -180,8 +181,14 @@ done: argv += optind; break; } newmode = getmode(set, p->fts_statp->st_mode); - if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) - continue; + /* + * With NFSv4 ACLs, it is possible that applying a mode + * identical to the one computed from an ACL will change + * that ACL. + */ + if (may_have_nfs4acl(p) == 0 && + (newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) + continue; if ((*change_mode)(p->fts_accpath, newmode) && !fflag) { warn("%s", p->fts_path); rval = 1; @@ -212,10 +219,31 @@ done: argv += optind; exit(rval); } -void +static void usage(void) { (void)fprintf(stderr, "usage: chmod [-fhv] [-R [-H | -L | -P]] mode file ...\n"); exit(1); } + +static int +may_have_nfs4acl(const FTSENT *ent) +{ + int ret; + static dev_t previous_dev = (dev_t)-1; + static int supports_acls = -1; + + if (previous_dev != ent->fts_statp->st_dev) { + previous_dev = ent->fts_statp->st_dev; + supports_acls = 0; + + ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4); + if (ret > 0) + supports_acls = 1; + else if (ret < 0 && errno != EINVAL) + warn("%s", ent->fts_path); + } + + return (supports_acls); +} Modified: projects/mips/bin/df/df.c ============================================================================== --- projects/mips/bin/df/df.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/df/df.c Fri Jul 3 04:39:18 2009 (r195303) @@ -476,7 +476,7 @@ prtstat(struct statfs *sfsp, struct maxw (void)printf("\n"); } -void +static void addstat(struct statfs *totalfsp, struct statfs *statfsp) { uint64_t bsize; Modified: projects/mips/bin/hostname/hostname.c ============================================================================== --- projects/mips/bin/hostname/hostname.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/hostname/hostname.c Fri Jul 3 04:39:18 2009 (r195303) @@ -49,7 +49,7 @@ __FBSDID("$FreeBSD$"); #include #include -void usage(void); +static void usage(void); int main(int argc, char *argv[]) @@ -96,7 +96,7 @@ main(int argc, char *argv[]) exit(0); } -void +static void usage(void) { Modified: projects/mips/bin/sh/eval.c ============================================================================== --- projects/mips/bin/sh/eval.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/eval.c Fri Jul 3 04:39:18 2009 (r195303) @@ -74,11 +74,6 @@ __FBSDID("$FreeBSD$"); #endif -/* flags in argument to evaltree */ -#define EV_EXIT 01 /* exit after evaluating tree */ -#define EV_TESTED 02 /* exit status is checked; ignore -e flag */ -#define EV_BACKCMD 04 /* command executing within back quotes */ - MKINIT int evalskip; /* set if we are skipping commands */ STATIC int skipcount; /* number of levels to skip */ MKINIT int loopnest; /* current loop nesting level */ @@ -163,20 +158,28 @@ evalstring(char *s, int flags) { union node *n; struct stackmark smark; + int flags_exit; + flags_exit = flags & EV_EXIT; + flags &= ~EV_EXIT; setstackmark(&smark); setinputstring(s, 1); while ((n = parsecmd(0)) != NEOF) { - if (n != NULL) - evaltree(n, flags); + if (n != NULL) { + if (flags_exit && preadateof()) + evaltree(n, flags | EV_EXIT); + else + evaltree(n, flags); + } popstackmark(&smark); } popfile(); popstackmark(&smark); + if (flags_exit) + exitshell(exitstatus); } - /* * Evaluate a parse tree. The value is left in the global variable * exitstatus. @@ -398,8 +401,8 @@ evalsubshell(union node *n, int flags) int backgnd = (n->type == NBACKGND); expredir(n->nredir.redirect); - jp = makejob(n, 1); - if (forkshell(jp, n, backgnd) == 0) { + if ((!backgnd && flags & EV_EXIT && !have_traps()) || + forkshell(jp = makejob(n, 1), n, backgnd) == 0) { if (backgnd) flags &=~ EV_TESTED; redirect(n->nredir.redirect, 0); @@ -586,22 +589,14 @@ evalcommand(union node *cmd, int flags, struct cmdentry cmdentry; struct job *jp; struct jmploc jmploc; - struct jmploc *volatile savehandler; - char *volatile savecmdname; - volatile struct shparam saveparam; - struct localvar *volatile savelocalvars; + struct jmploc *savehandler; + char *savecmdname; + struct shparam saveparam; + struct localvar *savelocalvars; volatile int e; char *lastarg; int realstatus; int do_clearcmdentry; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &argv; - (void) &argc; - (void) &lastarg; - (void) &flags; - (void) &do_clearcmdentry; -#endif /* First expand the arguments. */ TRACE(("evalcommand(%p, %d) called\n", (void *)cmd, flags)); @@ -647,17 +642,32 @@ evalcommand(union node *cmd, int flags, /* Print the command if xflag is set. */ if (xflag) { char sep = 0; + const char *p; out2str(ps4val()); for (sp = varlist.list ; sp ; sp = sp->next) { if (sep != 0) outc(' ', &errout); - out2str(sp->text); + p = sp->text; + while (*p != '=' && *p != '\0') + out2c(*p++); + if (*p != '\0') { + out2c(*p++); + out2qstr(p); + } sep = ' '; } for (sp = arglist.list ; sp ; sp = sp->next) { if (sep != 0) outc(' ', &errout); - out2str(sp->text); + /* Disambiguate command looking like assignment. */ + if (sp == arglist.list && + strchr(sp->text, '=') != NULL && + strchr(sp->text, '\'') == NULL) { + out2c('\''); + out2str(sp->text); + out2c('\''); + } else + out2qstr(sp->text); sep = ' '; } outc('\n', &errout); @@ -731,7 +741,7 @@ evalcommand(union node *cmd, int flags, /* Fork off a child process if necessary. */ if (cmd->ncmd.backgnd || (cmdentry.cmdtype == CMDNORMAL - && ((flags & EV_EXIT) == 0 || Tflag)) + && ((flags & EV_EXIT) == 0 || have_traps())) || ((flags & EV_BACKCMD) != 0 && (cmdentry.cmdtype != CMDBUILTIN || cmdentry.u.index == CDCMD @@ -776,9 +786,10 @@ evalcommand(union node *cmd, int flags, savelocalvars = localvars; localvars = NULL; INTON; + savehandler = handler; if (setjmp(jmploc.loc)) { if (exception == EXSHELLPROC) - freeparam((struct shparam *)&saveparam); + freeparam(&saveparam); else { freeparam(&shellparam); shellparam = saveparam; @@ -788,7 +799,6 @@ evalcommand(union node *cmd, int flags, handler = savehandler; longjmp(handler->loc, 1); } - savehandler = handler; handler = &jmploc; for (sp = varlist.list ; sp ; sp = sp->next) mklocal(sp->text); @@ -827,12 +837,12 @@ evalcommand(union node *cmd, int flags, savecmdname = commandname; cmdenviron = varlist.list; e = -1; + savehandler = handler; if (setjmp(jmploc.loc)) { e = exception; exitstatus = (e == EXINT)? SIGINT+128 : 2; goto cmddone; } - savehandler = handler; handler = &jmploc; redirect(cmd->ncmd.redirect, mode); if (cmdentry.special) Modified: projects/mips/bin/sh/eval.h ============================================================================== --- projects/mips/bin/sh/eval.h Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/eval.h Fri Jul 3 04:39:18 2009 (r195303) @@ -45,6 +45,11 @@ struct backcmd { /* result of evalbackc struct job *jp; /* job structure for command */ }; +/* flags in argument to evaltree/evalstring */ +#define EV_EXIT 01 /* exit after evaluating tree */ +#define EV_TESTED 02 /* exit status is checked; ignore -e flag */ +#define EV_BACKCMD 04 /* command executing within back quotes */ + int evalcmd(int, char **); void evalstring(char *, int); union node; /* BLETCH for ansi C */ Modified: projects/mips/bin/sh/exec.c ============================================================================== --- projects/mips/bin/sh/exec.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/exec.c Fri Jul 3 04:39:18 2009 (r195303) @@ -756,6 +756,7 @@ typecmd_impl(int argc, char **argv, int if ((cmdp = cmdlookup(argv[i], 0)) != NULL) { entry.cmdtype = cmdp->cmdtype; entry.u = cmdp->param; + entry.special = cmdp->special; } else { /* Finally use brute force */ @@ -804,6 +805,9 @@ typecmd_impl(int argc, char **argv, int case CMDBUILTIN: if (cmd == TYPECMD_SMALLV) out1fmt("%s\n", argv[i]); + else if (entry.special) + out1fmt("%s is a special shell builtin\n", + argv[i]); else out1fmt("%s is a shell builtin\n", argv[i]); break; Modified: projects/mips/bin/sh/expand.c ============================================================================== --- projects/mips/bin/sh/expand.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/expand.c Fri Jul 3 04:39:18 2009 (r195303) @@ -82,7 +82,7 @@ struct ifsregion { struct ifsregion *next; /* next region in list */ int begoff; /* offset of start of region */ int endoff; /* offset of end of region */ - int nulonly; /* search for nul bytes only */ + int inquotes; /* search for nul bytes only */ }; @@ -936,13 +936,19 @@ numvar: */ STATIC void -recordregion(int start, int end, int nulonly) +recordregion(int start, int end, int inquotes) { struct ifsregion *ifsp; if (ifslastp == NULL) { ifsp = &ifsfirst; } else { + if (ifslastp->endoff == start + && ifslastp->inquotes == inquotes) { + /* extend previous area */ + ifslastp->endoff = end; + return; + } ifsp = (struct ifsregion *)ckmalloc(sizeof (struct ifsregion)); ifslastp->next = ifsp; } @@ -950,7 +956,7 @@ recordregion(int start, int end, int nul ifslastp->next = NULL; ifslastp->begoff = start; ifslastp->endoff = end; - ifslastp->nulonly = nulonly; + ifslastp->inquotes = inquotes; } @@ -969,75 +975,89 @@ ifsbreakup(char *string, struct arglist char *p; char *q; char *ifs; - int ifsspc; - int nulonly; - + const char *ifsspc; + int had_param_ch = 0; start = string; - ifsspc = 0; - nulonly = 0; - if (ifslastp != NULL) { - ifsp = &ifsfirst; - do { - p = string + ifsp->begoff; - nulonly = ifsp->nulonly; - ifs = nulonly ? nullstr : - ( ifsset() ? ifsval() : " \t\n" ); - ifsspc = 0; - while (p < string + ifsp->endoff) { - q = p; - if (*p == CTLESC) + + if (ifslastp == NULL) { + /* Return entire argument, IFS doesn't apply to any of it */ + sp = (struct strlist *)stalloc(sizeof *sp); + sp->text = start; + *arglist->lastp = sp; + arglist->lastp = &sp->next; + return; + } + + ifs = ifsset() ? ifsval() : " \t\n"; + + for (ifsp = &ifsfirst; ifsp != NULL; ifsp = ifsp->next) { + p = string + ifsp->begoff; + while (p < string + ifsp->endoff) { + q = p; + if (*p == CTLESC) + p++; + if (ifsp->inquotes) { + /* Only NULs (should be from "$@") end args */ + had_param_ch = 1; + if (*p != 0) { p++; - if (strchr(ifs, *p)) { - if (!nulonly) - ifsspc = (strchr(" \t\n", *p) != NULL); - /* Ignore IFS whitespace at start */ - if (q == start && ifsspc) { - p++; - start = p; - continue; - } - *q = '\0'; - sp = (struct strlist *)stalloc(sizeof *sp); - sp->text = start; - *arglist->lastp = sp; - arglist->lastp = &sp->next; + continue; + } + ifsspc = NULL; + } else { + if (!strchr(ifs, *p)) { + had_param_ch = 1; p++; - if (!nulonly) { - for (;;) { - if (p >= string + ifsp->endoff) { - break; - } - q = p; - if (*p == CTLESC) - p++; - if (strchr(ifs, *p) == NULL ) { - p = q; - break; - } else if (strchr(" \t\n",*p) == NULL) { - if (ifsspc) { - p++; - ifsspc = 0; - } else { - p = q; - break; - } - } else - p++; - } - } - start = p; - } else + continue; + } + ifsspc = strchr(" \t\n", *p); + + /* Ignore IFS whitespace at start */ + if (q == start && ifsspc != NULL) { p++; + start = p; + continue; + } + had_param_ch = 0; } - } while ((ifsp = ifsp->next) != NULL); - if (*start || (!ifsspc && start > string)) { + + /* Save this argument... */ + *q = '\0'; sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; arglist->lastp = &sp->next; + p++; + + if (ifsspc != NULL) { + /* Ignore further trailing IFS whitespace */ + for (; p < string + ifsp->endoff; p++) { + q = p; + if (*p == CTLESC) + p++; + if (strchr(ifs, *p) == NULL) { + p = q; + break; + } + if (strchr(" \t\n", *p) == NULL) { + p++; + break; + } + } + } + start = p; } - } else { + } + + /* + * Save anything left as an argument. + * Traditionally we have treated 'IFS=':'; set -- x$IFS' as + * generating 2 arguments, the second of which is empty. + * Some recent clarification of the Posix spec say that it + * should only generate one.... + */ + if (had_param_ch || *start != 0) { sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; Modified: projects/mips/bin/sh/histedit.c ============================================================================== --- projects/mips/bin/sh/histedit.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/histedit.c Fri Jul 3 04:39:18 2009 (r195303) @@ -173,25 +173,11 @@ histcmd(int argc, char **argv) char *pat = NULL, *repl; static int active = 0; struct jmploc jmploc; - struct jmploc *volatile savehandler; - char editfile[PATH_MAX]; + struct jmploc *savehandler; + char editfilestr[PATH_MAX]; + char *volatile editfile; FILE *efp; int oldhistnum; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &editor; - (void) &lflg; - (void) &nflg; - (void) &rflg; - (void) &sflg; - (void) &firststr; - (void) &laststr; - (void) &pat; - (void) &repl; - (void) &efp; - (void) &argc; - (void) &argv; -#endif if (hist == NULL) error("history not active"); @@ -232,19 +218,19 @@ histcmd(int argc, char **argv) */ if (lflg == 0 || editor || sflg) { lflg = 0; /* ignore */ - editfile[0] = '\0'; + editfile = NULL; /* * Catch interrupts to reset active counter and * cleanup temp files. */ + savehandler = handler; if (setjmp(jmploc.loc)) { active = 0; - if (*editfile) + if (editfile) unlink(editfile); handler = savehandler; longjmp(handler->loc, 1); } - savehandler = handler; handler = &jmploc; if (++active > MAXHISTLOOPS) { active = 0; @@ -318,9 +304,10 @@ histcmd(int argc, char **argv) if (editor) { int fd; INTOFF; /* easier */ - sprintf(editfile, "%s/_shXXXXXX", _PATH_TMP); - if ((fd = mkstemp(editfile)) < 0) + sprintf(editfilestr, "%s/_shXXXXXX", _PATH_TMP); + if ((fd = mkstemp(editfilestr)) < 0) error("can't create temporary file %s", editfile); + editfile = editfilestr; if ((efp = fdopen(fd, "w")) == NULL) { close(fd); error("can't allocate stdio buffer for temp"); Modified: projects/mips/bin/sh/input.c ============================================================================== --- projects/mips/bin/sh/input.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/input.c Fri Jul 3 04:39:18 2009 (r195303) @@ -118,9 +118,9 @@ INIT { } RESET { + popallfiles(); if (exception != EXSHELLPROC) parselleft = parsenleft = 0; /* clear input buffer */ - popallfiles(); } SHELLPROC { @@ -321,6 +321,23 @@ check: } /* + * Returns if we are certain we are at EOF. Does not cause any more input + * to be read from the outside world. + */ + +int +preadateof(void) +{ + if (parsenleft > 0) + return 0; + if (parsefile->strpush) + return 0; + if (parsenleft == EOF_NLEFT || parsefile->buf == NULL) + return 1; + return 0; +} + +/* * Undo the last call to pgetc. Only one character may be pushed back. * PEOF may be pushed back. */ Modified: projects/mips/bin/sh/input.h ============================================================================== --- projects/mips/bin/sh/input.h Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/input.h Fri Jul 3 04:39:18 2009 (r195303) @@ -48,6 +48,7 @@ extern int init_editline; /* 0 == not se char *pfgets(char *, int); int pgetc(void); int preadbuffer(void); +int preadateof(void); void pungetc(void); void pushstring(char *, int, void *); void popstring(void); Modified: projects/mips/bin/sh/main.c ============================================================================== --- projects/mips/bin/sh/main.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/main.c Fri Jul 3 04:39:18 2009 (r195303) @@ -178,7 +178,7 @@ state2: state3: state = 4; if (minusc) { - evalstring(minusc, 0); + evalstring(minusc, sflag ? 0 : EV_EXIT); } if (sflag || minusc == NULL) { state4: /* XXX ??? - why isn't this before the "if" statement */ Modified: projects/mips/bin/sh/miscbltin.c ============================================================================== --- projects/mips/bin/sh/miscbltin.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/miscbltin.c Fri Jul 3 04:39:18 2009 (r195303) @@ -403,7 +403,7 @@ ulimitcmd(int argc __unused, char **argv struct rlimit limit; what = 'f'; - while ((optc = nextopt("HSatfdsmcnuvlbp")) != '\0') + while ((optc = nextopt("HSatfdsmcnuvlbpw")) != '\0') switch (optc) { case 'H': how = HARD; Modified: projects/mips/bin/sh/output.c ============================================================================== --- projects/mips/bin/sh/output.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/output.c Fri Jul 3 04:39:18 2009 (r195303) @@ -133,32 +133,38 @@ void outqstr(const char *p, struct output *file) { char ch; + int inquotes; if (p[0] == '\0') { outstr("''", file); return; } - if (p[strcspn(p, "|&;<>()$`\\\"'")] == '\0' && (!ifsset() || - p[strcspn(p, ifsval())] == '\0')) { + /* Caller will handle '=' if necessary */ + if (p[strcspn(p, "|&;<>()$`\\\"' \t\n*?[~#")] == '\0' || + strcmp(p, "[") == 0) { outstr(p, file); return; } - out1c('\''); + inquotes = 0; while ((ch = *p++) != '\0') { switch (ch) { case '\'': - /* - * Can't quote single quotes inside single quotes; - * close them, write escaped single quote, open again. - */ - outstr("'\\''", file); + /* Can't quote single quotes inside single quotes. */ + if (inquotes) + outc('\'', file); + inquotes = 0; + outstr("\\'", file); break; default: + if (!inquotes) + outc('\'', file); + inquotes = 1; outc(ch, file); } } - out1c('\''); + if (inquotes) + outc('\'', file); } STATIC char out_junk[16]; Modified: projects/mips/bin/sh/parser.c ============================================================================== --- projects/mips/bin/sh/parser.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/parser.c Fri Jul 3 04:39:18 2009 (r195303) @@ -898,19 +898,6 @@ readtoken1(int firstc, char const *synta int oldstyle; char const *prevsyntax; /* syntax before arithmetic */ int synentry; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &out; - (void) "ef; - (void) &dblquote; - (void) &varnest; - (void) &arinest; - (void) &parenlevel; - (void) &oldstyle; - (void) &prevsyntax; - (void) &syntax; - (void) &synentry; -#endif startlinno = plinno; dblquote = 0; @@ -1320,13 +1307,9 @@ parsebackq: { union node *n; char *volatile str; struct jmploc jmploc; - struct jmploc *volatile savehandler; + struct jmploc *const savehandler = handler; int savelen; int saveprompt; -#ifdef __GNUC__ - /* Avoid longjmp clobbering */ - (void) &saveprompt; -#endif savepbq = parsebackquote; if (setjmp(jmploc.loc)) { @@ -1343,7 +1326,6 @@ parsebackq: { str = ckmalloc(savelen); memcpy(str, stackblock(), savelen); } - savehandler = handler; handler = &jmploc; INTON; if (oldstyle) { Modified: projects/mips/bin/sh/redir.c ============================================================================== --- projects/mips/bin/sh/redir.c Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/redir.c Fri Jul 3 04:39:18 2009 (r195303) @@ -188,13 +188,25 @@ movefd: error("cannot create %s: %s", fname, strerror(errno)); goto movefd; case NTO: - fname = redir->nfile.expfname; - if (Cflag && stat(fname, &sb) != -1 && S_ISREG(sb.st_mode)) - error("cannot create %s: %s", fname, - strerror(EEXIST)); - if ((f = open(fname, O_WRONLY|O_CREAT|O_TRUNC, 0666)) < 0) - error("cannot create %s: %s", fname, strerror(errno)); - goto movefd; + if (Cflag) { + fname = redir->nfile.expfname; + if (stat(fname, &sb) == -1) { + if ((f = open(fname, O_WRONLY|O_CREAT|O_EXCL, 0666)) < 0) + error("cannot create %s: %s", fname, strerror(errno)); + } else if (!S_ISREG(sb.st_mode)) { + if ((f = open(fname, O_WRONLY, 0666)) < 0) + error("cannot create %s: %s", fname, strerror(errno)); + if (fstat(f, &sb) != -1 && S_ISREG(sb.st_mode)) { + close(f); + error("cannot create %s: %s", fname, + strerror(EEXIST)); + } + } else + error("cannot create %s: %s", fname, + strerror(EEXIST)); + goto movefd; + } + /* FALLTHROUGH */ case NCLOBBER: fname = redir->nfile.expfname; if ((f = open(fname, O_WRONLY|O_CREAT|O_TRUNC, 0666)) < 0) Modified: projects/mips/bin/sh/sh.1 ============================================================================== --- projects/mips/bin/sh/sh.1 Fri Jul 3 03:10:58 2009 (r195302) +++ projects/mips/bin/sh/sh.1 Fri Jul 3 04:39:18 2009 (r195303) @@ -606,6 +606,12 @@ This all occurs within the current shell .Pp Shell built-in commands are executed internally to the shell, without spawning a new process. +There are two kinds of built-in commands: regular and special. +Assignments before special builtins persist after they finish +executing and assignment errors, redirection errors and certain +operand errors cause a script to be aborted. +Both regular and special builtins can affect the shell in ways +normal programs cannot. .Pp Otherwise, if the command name does not match a function or built-in command, the command is searched for as a normal @@ -885,7 +891,7 @@ loops. The .Ic continue command continues with the next iteration of the innermost loop. -These are implemented as built-in commands. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Fri Jul 3 11:18:08 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB05B106564A; Fri, 3 Jul 2009 11:18:08 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9E0D28FC15; Fri, 3 Jul 2009 11:18:08 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n63BI8ms076389; Fri, 3 Jul 2009 11:18:08 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n63BI8jM076388; Fri, 3 Jul 2009 11:18:08 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907031118.n63BI8jM076388@svn.freebsd.org> From: Rui Paulo Date: Fri, 3 Jul 2009 11:18:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195304 - projects/mesh11s/sys/net80211 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 11:18:09 -0000 Author: rpaulo Date: Fri Jul 3 11:18:08 2009 New Revision: 195304 URL: http://svn.freebsd.org/changeset/base/195304 Log: Finish RANN implementation. Sponsored by: The FreeBSD Foundation Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c projects/mesh11s/sys/net80211/ieee80211_ioctl.h Modified: projects/mesh11s/sys/net80211/ieee80211_hwmp.c ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_hwmp.c Fri Jul 3 04:39:18 2009 (r195303) +++ projects/mesh11s/sys/net80211/ieee80211_hwmp.c Fri Jul 3 11:18:08 2009 (r195304) @@ -86,6 +86,7 @@ static uint8_t *hwmp_add_meshrann(uint8_ const struct ieee80211_meshrann_ie *); static void hwmp_rootmode_setup(struct ieee80211vap *); static void hwmp_rootmode_cb(void *); +static void hwmp_rootmode_rann_cb(void *); static void hwmp_recv_preq(struct ieee80211vap *, struct ieee80211_node *, const struct ieee80211_frame *, const struct ieee80211_meshpreq_ie *); static int hwmp_send_preq(struct ieee80211_node *, @@ -117,15 +118,15 @@ static const struct timeval ieee80211_hw static const struct timeval ieee80211_hwmp_roottimeout = { 5, 0 }; static const struct timeval ieee80211_hwmp_pathtimeout = { 5, 0 }; static const struct timeval ieee80211_hwmp_pathtoroottimeout = { 5, 0 }; -static const struct timeval ieee80211_hmwp_rootint = { 2, 0 }; +static const struct timeval ieee80211_hwmp_rootint = { 2, 0 }; static const struct timeval ieee80211_hwmp_rannint = { 1, 0 }; static const struct timeval ieee80211_hwmp_pathmaintenanceint = { 2, 0 }; static const struct timeval ieee80211_hwmp_confirmint = { 2, 0 }; #define timeval2msecs(tv) (tv.tv_sec * 1000 + tv.tv_usec / 1000) -#define HWMP_ROOTMODEINT msecs_to_ticks(timeval2msecs(ieee80211_hmwp_rootint)) -#define HWMP_RANNMODEINT msecs_to_ticks(timeval2msecs(ieee80211_hmwp_rannint)) +#define HWMP_ROOTMODEINT msecs_to_ticks(timeval2msecs(ieee80211_hwmp_rootint)) +#define HWMP_RANNMODEINT msecs_to_ticks(timeval2msecs(ieee80211_hwmp_rannint)) #define HWMP_LOCK(hs) mtx_lock(&(hs)->hs_lock) #define HWMP_UNLOCK(hs) mtx_unlock(&(hs)->hs_lock) @@ -599,11 +600,20 @@ hwmp_rootmode_setup(struct ieee80211vap { struct ieee80211_hwmp_state *hs = vap->iv_hwmp; - if (hs->hs_rootmode != IEEE80211_HWMP_ROOTMODE_DISABLED) + switch (hs->hs_rootmode) { + case IEEE80211_HWMP_ROOTMODE_DISABLED: + callout_drain(&hs->hs_roottimer); + break; + case IEEE80211_HWMP_ROOTMODE_NORMAL: + case IEEE80211_HWMP_ROOTMODE_PROACTIVE: callout_reset(&hs->hs_roottimer, HWMP_ROOTMODEINT, hwmp_rootmode_cb, vap); - else - callout_stop(&hs->hs_roottimer); + break; + case IEEE80211_HWMP_ROOTMODE_RANN: + callout_reset(&hs->hs_roottimer, HWMP_RANNMODEINT, + hwmp_rootmode_rann_cb, vap); + break; + } } /* @@ -647,6 +657,34 @@ hwmp_rootmode_cb(void *arg) #undef PREQ_TADDR #undef PREQ_TSEQ +/* + * Send a Root Annoucement (RANN) to find all the nodes on the mesh. We are + * called when the vap is configured as a HWMP RANN root node. + */ +static void +hwmp_rootmode_rann_cb(void *arg) +{ + struct ieee80211vap *vap = (struct ieee80211vap *)arg; + struct ieee80211_hwmp_state *hs = vap->iv_hwmp; + struct ieee80211_meshrann_ie rann; + + IEEE80211_NOTE(vap, IEEE80211_MSG_HWMP, vap->iv_bss, + "%s", "sending broadcast RANN"); + + /* XXX check portal role */ + rann.rann_flags = 0; + rann.rann_hopcount = 0; + rann.rann_ttl = hs->hs_ttl; + IEEE80211_ADDR_COPY(rann.rann_addr, vap->iv_myaddr); + rann.rann_seq = ++hs->hs_seq; + rann.rann_metric = IEEE80211_MESHLMETRIC_INITIALVAL; + + vap->iv_stats.is_hwmp_rootrann++; + hwmp_send_rann(vap->iv_bss, vap->iv_myaddr, broadcastaddr, &rann); + hwmp_rootmode_setup(vap); +} + + #define PREQ_TFLAGS(n) preq->preq_targets[n].target_flags #define PREQ_TADDR(n) preq->preq_targets[n].target_addr #define PREQ_TSEQ(n) preq->preq_targets[n].target_seq @@ -1122,53 +1160,28 @@ hwmp_recv_rann(struct ieee80211vap *vap, const struct ieee80211_frame *wh, const struct ieee80211_meshrann_ie *rann) { struct ieee80211_mesh_state *ms = vap->iv_mesh; - struct ieee80211_hwmp_state *hs = vap->iv_hwmp; struct ieee80211_hwmp_route *rt = NULL; + struct ieee80211_meshrann_ie prann; - /* - * Acceptance criteria: check the HWMP sequence number - * and the path metric is better than what we have. - * XXX: TBD - */ if (ni == vap->iv_bss || ni->ni_mlstate != IEEE80211_NODE_MESH_ESTABLISHED) return; rt = hwmp_rt_find(vap, rann->rann_addr); - - if (rt == NULL) { - struct ieee80211_meshpreq_ie preq; - - /* - * Try to establish a path to this root mesh station. - */ - preq.preq_flags = 0; - preq.preq_hopcount = 0; - preq.preq_ttl = hs->hs_ttl; - IEEE80211_ADDR_COPY(&preq.preq_origaddr, - vap->iv_myaddr); - preq.preq_origseq = hs->hs_seq++; - preq.preq_targets[0].target_flags |= - IEEE80211_MESHPREQ_TFLAGS_TO; - IEEE80211_ADDR_COPY(preq.preq_targets[0].target_addr, - rann->rann_addr); - preq.preq_targets[0].target_seq = rann->rann_seq; - preq.preq_lifetime = timeval2msecs(ieee80211_hwmp_roottimeout); - preq.preq_metric = IEEE80211_MESHLMETRIC_INITIALVAL; - hwmp_send_preq(ni, vap->iv_myaddr, broadcastaddr, &preq); /* - * We have a path for this Root Mesh station, so - * propagate the RANN if forwarding is enabled. + * Discover the path to the root mesh STA. + * If we already know it, propagate the RANN element. */ - } else if (rann->rann_ttl > 1 && + if (rt == NULL) + ieee80211_hwmp_discover(vap, rann->rann_addr, NULL); + else if (rann->rann_seq > rt->rt_seq && rann->rann_ttl > 1 && (ms->ms_flags & IEEE80211_MESHFLAGS_FWD)) { - struct ieee80211_meshrann_ie prann; - memcpy(&prann, rann, sizeof(prann)); prann.rann_hopcount += 1; prann.rann_ttl -= 1; prann.rann_metric += ieee80211_airtime_calc(ni); - hwmp_send_rann(ni, vap->iv_myaddr, broadcastaddr, &prann); + hwmp_send_rann(vap->iv_bss, vap->iv_myaddr, broadcastaddr, + &prann); } } @@ -1187,6 +1200,7 @@ hwmp_send_rann(struct ieee80211_node *ni * [1] category * [tlv] root annoucement */ + rann->rann_ie = IEEE80211_ELEMID_MESHRANN; return ieee80211_hwmp_send_action(ni, sa, da, (uint8_t *)rann, sizeof(struct ieee80211_meshrann_ie)); } Modified: projects/mesh11s/sys/net80211/ieee80211_ioctl.h ============================================================================== --- projects/mesh11s/sys/net80211/ieee80211_ioctl.h Fri Jul 3 04:39:18 2009 (r195303) +++ projects/mesh11s/sys/net80211/ieee80211_ioctl.h Fri Jul 3 11:18:08 2009 (r195304) @@ -234,8 +234,9 @@ struct ieee80211_stats { uint32_t is_hwmp_wrongseq; /* wrong hwmp seq no. */ uint32_t is_hwmp_rootreqs; /* root PREQs sent */ + uint32_t is_hwmp_rootrann; /* root RANNs sent */ - uint32_t is_spare[8]; + uint32_t is_spare[7]; }; /* From owner-svn-src-projects@FreeBSD.ORG Fri Jul 3 11:20:50 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A75E1065670; Fri, 3 Jul 2009 11:20:50 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E362C8FC13; Fri, 3 Jul 2009 11:20:49 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n63BKnb2076474; Fri, 3 Jul 2009 11:20:49 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n63BKnTD076471; Fri, 3 Jul 2009 11:20:49 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200907031120.n63BKnTD076471@svn.freebsd.org> From: Lawrence Stewart Date: Fri, 3 Jul 2009 11:20:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195305 - in projects/tcp_cc_8.x/share/man: man4 man9 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 11:20:50 -0000 Author: lstewart Date: Fri Jul 3 11:20:49 2009 New Revision: 195305 URL: http://svn.freebsd.org/changeset/base/195305 Log: WIP for man pages. Added: projects/tcp_cc_8.x/share/man/man4/cc_newreno.4 Modified: projects/tcp_cc_8.x/share/man/man9/cc.9 Added: projects/tcp_cc_8.x/share/man/man4/cc_newreno.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/tcp_cc_8.x/share/man/man4/cc_newreno.4 Fri Jul 3 11:20:49 2009 (r195305) @@ -0,0 +1,62 @@ +.\" +.\" Copyright (c) 2009 Lawrence Stewart +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions, and the following disclaimer, +.\" without modification, immediately at the beginning of the file. +.\" 2. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR +.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd July 3, 2009 +.Dt CC_NEWRENO 4 +.Os +.Sh NAME +.Nm cc_newreno +.Nd NewReno Congestion Control Algorithm +.Sh DESCRIPTION +The +.N +congestion control algorithm +.Ss Runtime Configuration +There are currently no tunable variables. +.Sh SEE ALSO +.Xr cc 9 +.Sh HISTORY +The +.Nm +congestion control module first appeared in +.Fx 8.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +congestion control module was written by +.An James Healy Aq jimmy@deefa.com +and +.An Lawrence Stewart Aq lstewart@FreeBSD.org +while working at the Centre for Advanced Internet Architectures, +Swinburne University (http://caia.swin.edu.au/). +.Pp +This manual page was written by +.An Lawrence Stewart Aq lstewart@FreeBSD.org . +.Sh ACKNOWLEDGMENTS +Development of this software was made possible in part by a grant from the +Cisco University Research Program Fund at Community Foundation Silicon Valley. Modified: projects/tcp_cc_8.x/share/man/man9/cc.9 ============================================================================== --- projects/tcp_cc_8.x/share/man/man9/cc.9 Fri Jul 3 11:18:08 2009 (r195304) +++ projects/tcp_cc_8.x/share/man/man9/cc.9 Fri Jul 3 11:20:49 2009 (r195305) @@ -1,5 +1,5 @@ .\" -.\" Copyright (c) 2008 Lawrence Stewart +.\" Copyright (c) 2008-2009 Lawrence Stewart .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -30,15 +30,12 @@ .Os .Sh NAME .Nm cc , -.Nm cc_register_algorithm , -.Nm cc_deregister_algorithm +.Nm DECLARE_CC_MODULE .Nd Modular Congestion Control .Sh SYNOPSIS .In netinet/cc.h -.Ft int -.Fn cc_register_algorithm "struct cc_algo *add_cc" -.Ft int -.Fn cc_deregister_algorithm "struct cc_algo *remove_cc" +.In netinet/cc_module.h +.Fn DECLARE_CC_MODULE "name" "name_cc_algo" .Sh DESCRIPTION The .Nm @@ -52,9 +49,11 @@ which has the following members: .Bd -literal -offset indent struct cc_algo { char name[TCP_CA_NAME_MAX]; - int (*init) (struct tcpcb *tp); - void (*deinit) (struct tcpcb *tp); - void (*cwnd_init) (struct tcpcb *tp); + int (*mod_init) (void); + int (*mod_destroy) (void); + int (*cb_init) (struct tcpcb *tp); + void (*cb_destroy) (struct tcpcb *tp); + void (*conn_init) (struct tcpcb *tp); void (*ack_received) (struct tcpcb *tp, struct tcphdr *th); void (*pre_fr) (struct tcpcb *tp, struct tcphdr *th); void (*post_fr) (struct tcpcb *tp, struct tcphdr *th); @@ -66,6 +65,19 @@ struct cc_algo { The .Va name field identifies the unique name of the algorithm. +.Pp +The +.Va mod_init +function pointer is called by the framework when a new module is loaded into +the system. +It should be implemented if a module needs to set up some global state prior to +being available for use by new connections. +The +.Va mod_destroy +function pointer is called by the framework when an existing module is unloaded +from the system. +It should be implemented if a module needs to perform any cleanup activities +related to global state before being removed from the kernel. .Ss Runtime Configuration The following .Xr sysctl 8 @@ -85,18 +97,21 @@ list will change the system default for .El .Sh FUNCTIONS The -.Fn cc_register_algorithm +.Fn cc_register_algo function registers the algorithm pointed to by .Fa add_cc with the framework. .Sh IMPLEMENTATION NOTES .Sh RETURN VALUES The -.Fn cc_register_algorithm +.Fn cc_register_algo function returns non-zero on failure. .Sh SEE ALSO -.Xr cc_cubic 4 , -.Xr cc_htcp 4 , + +.\" Coming soon... +.\" .Xr cc_cubic 4 , +.\" .Xr cc_htcp 4 , +.Xr cc_newreno 4 , .Xr sctp 4 .Xr tcp 4 , .Sh HISTORY From owner-svn-src-projects@FreeBSD.ORG Fri Jul 3 11:38:00 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD07C106567A; Fri, 3 Jul 2009 11:38:00 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B5C988FC26; Fri, 3 Jul 2009 11:38:00 +0000 (UTC) (envelope-from lstewart@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n63Bc0ZT076852; Fri, 3 Jul 2009 11:38:00 GMT (envelope-from lstewart@svn.freebsd.org) Received: (from lstewart@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n63BbxQE076835; Fri, 3 Jul 2009 11:37:59 GMT (envelope-from lstewart@svn.freebsd.org) Message-Id: <200907031137.n63BbxQE076835@svn.freebsd.org> From: Lawrence Stewart Date: Fri, 3 Jul 2009 11:37:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195306 - in projects/tcp_cc_8.x: . bin/chmod bin/sh cddl/contrib/opensolaris contrib/bind9 contrib/bind9/bin/check contrib/bind9/bin/dnssec contrib/bind9/doc/arm contrib/bind9/lib/bind... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jul 2009 11:38:01 -0000 Author: lstewart Date: Fri Jul 3 11:37:58 2009 New Revision: 195306 URL: http://svn.freebsd.org/changeset/base/195306 Log: Merge r194850:195305 from head. Added: projects/tcp_cc_8.x/contrib/bind9/KNOWN-DEFECTS - copied unchanged from r195305, head/contrib/bind9/KNOWN-DEFECTS projects/tcp_cc_8.x/lib/libc/include/compat.h - copied unchanged from r195305, head/lib/libc/include/compat.h projects/tcp_cc_8.x/lib/libc/posix1e/acl_add_flag_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_add_flag_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_branding.c - copied unchanged from r195305, head/lib/libc/posix1e/acl_branding.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_clear_flags_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_clear_flags_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_delete_flag_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_delete_flag_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_flag.c - copied unchanged from r195305, head/lib/libc/posix1e/acl_flag.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_from_text_nfs4.c - copied unchanged from r195305, head/lib/libc/posix1e/acl_from_text_nfs4.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_get_brand_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_get_brand_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_get_entry_type_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_get_entry_type_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_get_flag_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_get_flag_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_get_flagset_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_get_flagset_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_is_trivial_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_is_trivial_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_set_entry_type_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_set_entry_type_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_set_flagset_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_set_flagset_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_strip.c - copied unchanged from r195305, head/lib/libc/posix1e/acl_strip.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_strip_np.3 - copied unchanged from r195305, head/lib/libc/posix1e/acl_strip_np.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_support_nfs4.c - copied unchanged from r195305, head/lib/libc/posix1e/acl_support_nfs4.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_to_text_nfs4.c - copied unchanged from r195305, head/lib/libc/posix1e/acl_to_text_nfs4.c projects/tcp_cc_8.x/lib/libjail/ - copied from r195305, head/lib/libjail/ projects/tcp_cc_8.x/share/man/man4/bridge.4 - copied unchanged from r195305, head/share/man/man4/bridge.4 projects/tcp_cc_8.x/share/man/man4/epair.4 - copied unchanged from r195305, head/share/man/man4/epair.4 projects/tcp_cc_8.x/sys/amd64/include/vm.h - copied unchanged from r195305, head/sys/amd64/include/vm.h projects/tcp_cc_8.x/sys/arm/include/vm.h - copied unchanged from r195305, head/sys/arm/include/vm.h projects/tcp_cc_8.x/sys/i386/include/vm.h - copied unchanged from r195305, head/sys/i386/include/vm.h projects/tcp_cc_8.x/sys/ia64/include/vm.h - copied unchanged from r195305, head/sys/ia64/include/vm.h projects/tcp_cc_8.x/sys/mips/include/vm.h - copied unchanged from r195305, head/sys/mips/include/vm.h projects/tcp_cc_8.x/sys/net/if_epair.c - copied unchanged from r195305, head/sys/net/if_epair.c projects/tcp_cc_8.x/sys/pc98/include/vm.h - copied unchanged from r195305, head/sys/pc98/include/vm.h projects/tcp_cc_8.x/sys/powerpc/include/vm.h - copied unchanged from r195305, head/sys/powerpc/include/vm.h projects/tcp_cc_8.x/sys/sparc64/include/vm.h - copied unchanged from r195305, head/sys/sparc64/include/vm.h projects/tcp_cc_8.x/sys/sun4v/include/vm.h - copied unchanged from r195305, head/sys/sun4v/include/vm.h projects/tcp_cc_8.x/tools/regression/bin/sh/builtins/eval2.0 - copied unchanged from r195305, head/tools/regression/bin/sh/builtins/eval2.0 projects/tcp_cc_8.x/tools/regression/bin/sh/expansion/ - copied from r195305, head/tools/regression/bin/sh/expansion/ projects/tcp_cc_8.x/usr.sbin/sysinstall/usb.c - copied unchanged from r195305, head/usr.sbin/sysinstall/usb.c projects/tcp_cc_8.x/usr.sbin/wake/ - copied from r195305, head/usr.sbin/wake/ Deleted: projects/tcp_cc_8.x/share/man/man4/if_bridge.4 projects/tcp_cc_8.x/sys/nfs/rpcv2.h projects/tcp_cc_8.x/sys/nfsclient/nfs_socket.c projects/tcp_cc_8.x/sys/nfsserver/nfs_srvcache.c projects/tcp_cc_8.x/sys/nfsserver/nfs_srvsock.c projects/tcp_cc_8.x/sys/nfsserver/nfs_syscalls.c Modified: projects/tcp_cc_8.x/ (props changed) projects/tcp_cc_8.x/MAINTAINERS projects/tcp_cc_8.x/ObsoleteFiles.inc projects/tcp_cc_8.x/UPDATING projects/tcp_cc_8.x/bin/chmod/chmod.c projects/tcp_cc_8.x/bin/sh/exec.c projects/tcp_cc_8.x/bin/sh/expand.c projects/tcp_cc_8.x/bin/sh/sh.1 projects/tcp_cc_8.x/cddl/contrib/opensolaris/ (props changed) projects/tcp_cc_8.x/contrib/bind9/ (props changed) projects/tcp_cc_8.x/contrib/bind9/CHANGES projects/tcp_cc_8.x/contrib/bind9/bin/check/named-checkzone.c projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.8 projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.c projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.docbook projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.html projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssectool.c projects/tcp_cc_8.x/contrib/bind9/doc/arm/Bv9ARM-book.xml projects/tcp_cc_8.x/contrib/bind9/doc/arm/Bv9ARM.ch06.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/Bv9ARM.ch07.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/Bv9ARM.ch08.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/Bv9ARM.ch09.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/Bv9ARM.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.dig.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.dnssec-keygen.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.dnssec-signzone.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.host.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.named-checkconf.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.named-checkzone.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.named.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.nsupdate.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.rndc-confgen.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.rndc.conf.html projects/tcp_cc_8.x/contrib/bind9/doc/arm/man.rndc.html projects/tcp_cc_8.x/contrib/bind9/lib/bind9/api projects/tcp_cc_8.x/contrib/bind9/lib/bind9/check.c projects/tcp_cc_8.x/contrib/bind9/lib/dns/api projects/tcp_cc_8.x/contrib/bind9/lib/dns/dnssec.c projects/tcp_cc_8.x/contrib/bind9/lib/dns/include/dns/dnssec.h projects/tcp_cc_8.x/contrib/bind9/lib/dns/include/dns/keyvalues.h projects/tcp_cc_8.x/contrib/bind9/lib/dns/nsec3.c projects/tcp_cc_8.x/contrib/bind9/lib/dns/resolver.c projects/tcp_cc_8.x/contrib/bind9/lib/isc/ia64/include/isc/atomic.h projects/tcp_cc_8.x/contrib/bind9/version projects/tcp_cc_8.x/contrib/cpio/ (props changed) projects/tcp_cc_8.x/contrib/csup/ (props changed) projects/tcp_cc_8.x/contrib/ee/ (props changed) projects/tcp_cc_8.x/contrib/file/ (props changed) projects/tcp_cc_8.x/contrib/gdb/ (props changed) projects/tcp_cc_8.x/contrib/gdtoa/ (props changed) projects/tcp_cc_8.x/contrib/less/ (props changed) projects/tcp_cc_8.x/contrib/libpcap/ (props changed) projects/tcp_cc_8.x/contrib/ncurses/ (props changed) projects/tcp_cc_8.x/contrib/netcat/ (props changed) projects/tcp_cc_8.x/contrib/ntp/ (props changed) projects/tcp_cc_8.x/contrib/openbsm/ (props changed) projects/tcp_cc_8.x/contrib/openpam/ (props changed) projects/tcp_cc_8.x/contrib/pf/ (props changed) projects/tcp_cc_8.x/contrib/sendmail/ (props changed) projects/tcp_cc_8.x/contrib/tcpdump/ (props changed) projects/tcp_cc_8.x/contrib/top/ (props changed) projects/tcp_cc_8.x/contrib/top/install-sh (props changed) projects/tcp_cc_8.x/contrib/wpa/ (props changed) projects/tcp_cc_8.x/crypto/openssh/ (props changed) projects/tcp_cc_8.x/crypto/openssl/ (props changed) projects/tcp_cc_8.x/etc/network.subr projects/tcp_cc_8.x/etc/rc.d/NETWORKING projects/tcp_cc_8.x/etc/rc.d/ipfw projects/tcp_cc_8.x/etc/rc.d/netif projects/tcp_cc_8.x/etc/rc.d/pf projects/tcp_cc_8.x/etc/rc.d/pflog projects/tcp_cc_8.x/etc/rc.d/pfsync projects/tcp_cc_8.x/gnu/usr.bin/groff/tmac/mdoc.local projects/tcp_cc_8.x/lib/Makefile projects/tcp_cc_8.x/lib/libc/ (props changed) projects/tcp_cc_8.x/lib/libc/gen/Symbol.map projects/tcp_cc_8.x/lib/libc/gen/msgctl.3 projects/tcp_cc_8.x/lib/libc/gen/semctl.c projects/tcp_cc_8.x/lib/libc/posix1e/Makefile.inc projects/tcp_cc_8.x/lib/libc/posix1e/Symbol.map projects/tcp_cc_8.x/lib/libc/posix1e/acl.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_add_perm.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_calc_mask.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_copy.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_create_entry.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_delete_entry.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_delete_entry.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_entry.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_from_text.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_get.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_get.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_init.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_set.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_set.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_set_tag_type.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_support.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_support.h projects/tcp_cc_8.x/lib/libc/posix1e/acl_to_text.3 projects/tcp_cc_8.x/lib/libc/posix1e/acl_to_text.c projects/tcp_cc_8.x/lib/libc/posix1e/acl_valid.c projects/tcp_cc_8.x/lib/libc/rpc/getnetconfig.c projects/tcp_cc_8.x/lib/libc/stdio/asprintf.c (props changed) projects/tcp_cc_8.x/lib/libc/stdtime/ (props changed) projects/tcp_cc_8.x/lib/libc/stdtime/strptime.c projects/tcp_cc_8.x/lib/libc/string/ffsll.c (props changed) projects/tcp_cc_8.x/lib/libc/string/flsll.c (props changed) projects/tcp_cc_8.x/lib/libc/string/wcpcpy.c (props changed) projects/tcp_cc_8.x/lib/libc/string/wcpncpy.c (props changed) projects/tcp_cc_8.x/lib/libc/sys/Makefile.inc projects/tcp_cc_8.x/lib/libc/sys/Symbol.map projects/tcp_cc_8.x/lib/libc/sys/getsockopt.2 projects/tcp_cc_8.x/lib/libc/sys/pathconf.2 projects/tcp_cc_8.x/lib/libc/sys/semctl.2 projects/tcp_cc_8.x/lib/libc/sys/shmctl.2 projects/tcp_cc_8.x/lib/libusb/ (props changed) projects/tcp_cc_8.x/lib/libusb/libusb20.3 (props changed) projects/tcp_cc_8.x/lib/libusb/usb.h (props changed) projects/tcp_cc_8.x/lib/libutil/ (props changed) projects/tcp_cc_8.x/release/Makefile projects/tcp_cc_8.x/release/amd64/boot_crunch.conf projects/tcp_cc_8.x/release/i386/boot_crunch.conf projects/tcp_cc_8.x/release/ia64/boot_crunch.conf projects/tcp_cc_8.x/release/pc98/boot_crunch.conf projects/tcp_cc_8.x/release/powerpc/boot_crunch.conf projects/tcp_cc_8.x/release/scripts/package-split.py projects/tcp_cc_8.x/release/sparc64/boot_crunch.conf projects/tcp_cc_8.x/release/sun4v/boot_crunch.conf projects/tcp_cc_8.x/rescue/rescue/Makefile projects/tcp_cc_8.x/sbin/ (props changed) projects/tcp_cc_8.x/sbin/ifconfig/Makefile projects/tcp_cc_8.x/sbin/ifconfig/ifconfig.8 projects/tcp_cc_8.x/sbin/ifconfig/ifconfig.c projects/tcp_cc_8.x/sbin/ipfw/ (props changed) projects/tcp_cc_8.x/sbin/ipfw/Makefile projects/tcp_cc_8.x/sbin/ipfw/dummynet.c projects/tcp_cc_8.x/sbin/ipfw/ipfw.8 projects/tcp_cc_8.x/sbin/ipfw/ipfw2.h projects/tcp_cc_8.x/sbin/mount_nfs/mount_nfs.c projects/tcp_cc_8.x/sbin/umount/umount.c projects/tcp_cc_8.x/share/doc/bind9/Makefile projects/tcp_cc_8.x/share/man/man4/Makefile projects/tcp_cc_8.x/share/man/man4/acpi_hp.4 projects/tcp_cc_8.x/share/man/man4/ata.4 projects/tcp_cc_8.x/share/man/man4/cpuctl.4 projects/tcp_cc_8.x/share/man/man4/usb.4 projects/tcp_cc_8.x/share/man/man8/picobsd.8 projects/tcp_cc_8.x/share/man/man8/yp.8 projects/tcp_cc_8.x/share/man/man9/Makefile projects/tcp_cc_8.x/share/man/man9/usbdi.9 projects/tcp_cc_8.x/share/misc/bsd-family-tree projects/tcp_cc_8.x/share/mk/bsd.libnames.mk projects/tcp_cc_8.x/share/zoneinfo/ (props changed) projects/tcp_cc_8.x/sys/ (props changed) projects/tcp_cc_8.x/sys/amd64/amd64/genassym.c projects/tcp_cc_8.x/sys/amd64/amd64/identcpu.c projects/tcp_cc_8.x/sys/amd64/amd64/intr_machdep.c projects/tcp_cc_8.x/sys/amd64/amd64/io_apic.c projects/tcp_cc_8.x/sys/amd64/amd64/local_apic.c projects/tcp_cc_8.x/sys/amd64/amd64/msi.c projects/tcp_cc_8.x/sys/amd64/amd64/sys_machdep.c projects/tcp_cc_8.x/sys/amd64/conf/GENERIC projects/tcp_cc_8.x/sys/amd64/include/intr_machdep.h projects/tcp_cc_8.x/sys/amd64/include/xen/ (props changed) projects/tcp_cc_8.x/sys/amd64/isa/atpic.c projects/tcp_cc_8.x/sys/arm/arm/pmap.c projects/tcp_cc_8.x/sys/arm/arm/vm_machdep.c projects/tcp_cc_8.x/sys/arm/at91/at91_machdep.c projects/tcp_cc_8.x/sys/arm/at91/if_ate.c projects/tcp_cc_8.x/sys/arm/conf/CAMBRIA.hints projects/tcp_cc_8.x/sys/arm/mv/discovery/discovery.c projects/tcp_cc_8.x/sys/arm/mv/kirkwood/kirkwood.c projects/tcp_cc_8.x/sys/arm/mv/mv_machdep.c projects/tcp_cc_8.x/sys/arm/mv/mvwin.h projects/tcp_cc_8.x/sys/arm/mv/orion/orion.c projects/tcp_cc_8.x/sys/arm/sa11x0/assabet_machdep.c projects/tcp_cc_8.x/sys/arm/xscale/ixp425/if_npe.c projects/tcp_cc_8.x/sys/boot/i386/libi386/biosdisk.c projects/tcp_cc_8.x/sys/cam/scsi/scsi_target.c projects/tcp_cc_8.x/sys/cddl/contrib/opensolaris/ (props changed) projects/tcp_cc_8.x/sys/compat/freebsd32/freebsd32_ipc.h projects/tcp_cc_8.x/sys/compat/freebsd32/freebsd32_misc.c projects/tcp_cc_8.x/sys/compat/freebsd32/freebsd32_proto.h projects/tcp_cc_8.x/sys/compat/freebsd32/freebsd32_syscall.h projects/tcp_cc_8.x/sys/compat/freebsd32/freebsd32_syscalls.c projects/tcp_cc_8.x/sys/compat/freebsd32/freebsd32_sysent.c projects/tcp_cc_8.x/sys/compat/freebsd32/syscalls.master projects/tcp_cc_8.x/sys/compat/linux/linux_ipc.c projects/tcp_cc_8.x/sys/compat/linux/linux_signal.c projects/tcp_cc_8.x/sys/compat/ndis/subr_usbd.c projects/tcp_cc_8.x/sys/compat/svr4/svr4_ipc.c projects/tcp_cc_8.x/sys/conf/NOTES projects/tcp_cc_8.x/sys/conf/files projects/tcp_cc_8.x/sys/conf/options projects/tcp_cc_8.x/sys/contrib/dev/acpica/ (props changed) projects/tcp_cc_8.x/sys/contrib/dev/mwl/mw88W8363.fw.uu projects/tcp_cc_8.x/sys/contrib/pf/ (props changed) projects/tcp_cc_8.x/sys/dev/acpi_support/acpi_hp.c projects/tcp_cc_8.x/sys/dev/acpi_support/acpi_wmi.c projects/tcp_cc_8.x/sys/dev/acpi_support/acpi_wmi_if.m projects/tcp_cc_8.x/sys/dev/ae/if_ae.c projects/tcp_cc_8.x/sys/dev/age/if_age.c projects/tcp_cc_8.x/sys/dev/alc/if_alc.c projects/tcp_cc_8.x/sys/dev/ale/if_ale.c projects/tcp_cc_8.x/sys/dev/asmc/asmc.c projects/tcp_cc_8.x/sys/dev/asmc/asmcvar.h projects/tcp_cc_8.x/sys/dev/ata/ (props changed) projects/tcp_cc_8.x/sys/dev/ata/ata-usb.c (props changed) projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-acard.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-acerlabs.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-adaptec.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-amd.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-ati.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-cenatek.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-cypress.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-cyrix.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-highpoint.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-intel.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-ite.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-jmicron.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-marvell.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-micron.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-national.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-netcell.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-nvidia.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-promise.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-serverworks.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-siliconimage.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-sis.c projects/tcp_cc_8.x/sys/dev/ata/chipsets/ata-via.c projects/tcp_cc_8.x/sys/dev/ath/ath_hal/ah.c projects/tcp_cc_8.x/sys/dev/ath/ath_hal/ah.h projects/tcp_cc_8.x/sys/dev/ath/ath_hal/ah_internal.h projects/tcp_cc_8.x/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/tcp_cc_8.x/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c projects/tcp_cc_8.x/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/tcp_cc_8.x/sys/dev/ath/if_ath.c projects/tcp_cc_8.x/sys/dev/ath/if_athvar.h projects/tcp_cc_8.x/sys/dev/bce/if_bce.c projects/tcp_cc_8.x/sys/dev/bfe/if_bfe.c projects/tcp_cc_8.x/sys/dev/bge/if_bge.c projects/tcp_cc_8.x/sys/dev/bm/if_bm.c projects/tcp_cc_8.x/sys/dev/cas/if_cas.c projects/tcp_cc_8.x/sys/dev/cas/if_casvar.h projects/tcp_cc_8.x/sys/dev/cpuctl/cpuctl.c projects/tcp_cc_8.x/sys/dev/cs/if_cs.c projects/tcp_cc_8.x/sys/dev/cxgb/cxgb_adapter.h projects/tcp_cc_8.x/sys/dev/cxgb/cxgb_main.c projects/tcp_cc_8.x/sys/dev/cxgb/cxgb_sge.c projects/tcp_cc_8.x/sys/dev/cxgb/sys/mvec.h projects/tcp_cc_8.x/sys/dev/cxgb/sys/uipc_mvec.c projects/tcp_cc_8.x/sys/dev/dc/if_dc.c projects/tcp_cc_8.x/sys/dev/de/if_de.c projects/tcp_cc_8.x/sys/dev/drm/drm_irq.c projects/tcp_cc_8.x/sys/dev/drm/i915_dma.c projects/tcp_cc_8.x/sys/dev/drm/i915_drv.h projects/tcp_cc_8.x/sys/dev/drm/i915_irq.c projects/tcp_cc_8.x/sys/dev/drm/radeon_cp.c projects/tcp_cc_8.x/sys/dev/drm/radeon_irq.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_82540.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_82541.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_82571.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_82575.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_82575.h projects/tcp_cc_8.x/sys/dev/e1000/e1000_api.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_defines.h projects/tcp_cc_8.x/sys/dev/e1000/e1000_hw.h projects/tcp_cc_8.x/sys/dev/e1000/e1000_ich8lan.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_ich8lan.h projects/tcp_cc_8.x/sys/dev/e1000/e1000_mac.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_osdep.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_phy.c projects/tcp_cc_8.x/sys/dev/e1000/e1000_phy.h projects/tcp_cc_8.x/sys/dev/e1000/e1000_regs.h projects/tcp_cc_8.x/sys/dev/e1000/if_em.c projects/tcp_cc_8.x/sys/dev/e1000/if_em.h projects/tcp_cc_8.x/sys/dev/e1000/if_igb.c projects/tcp_cc_8.x/sys/dev/e1000/if_igb.h projects/tcp_cc_8.x/sys/dev/ed/if_ed.c projects/tcp_cc_8.x/sys/dev/et/if_et.c projects/tcp_cc_8.x/sys/dev/ex/if_ex.c projects/tcp_cc_8.x/sys/dev/fdc/fdc.c projects/tcp_cc_8.x/sys/dev/fe/if_fe.c projects/tcp_cc_8.x/sys/dev/fxp/if_fxp.c projects/tcp_cc_8.x/sys/dev/gem/if_gem.c projects/tcp_cc_8.x/sys/dev/gem/if_gemvar.h projects/tcp_cc_8.x/sys/dev/hme/if_hme.c projects/tcp_cc_8.x/sys/dev/hptmv/atapi.h projects/tcp_cc_8.x/sys/dev/hwpmc/hwpmc_logging.c projects/tcp_cc_8.x/sys/dev/hwpmc/hwpmc_mod.c projects/tcp_cc_8.x/sys/dev/ie/if_ie.c projects/tcp_cc_8.x/sys/dev/if_ndis/if_ndis.c projects/tcp_cc_8.x/sys/dev/iscsi/initiator/isc_soc.c projects/tcp_cc_8.x/sys/dev/ixgb/if_ixgb.c projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe.c projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe.h projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe_82598.c projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe_82599.c projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe_api.c projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe_api.h projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe_common.c projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe_osdep.h projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe_phy.c projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe_phy.h projects/tcp_cc_8.x/sys/dev/ixgbe/ixgbe_type.h projects/tcp_cc_8.x/sys/dev/jme/if_jme.c projects/tcp_cc_8.x/sys/dev/le/lance.c projects/tcp_cc_8.x/sys/dev/lge/if_lge.c projects/tcp_cc_8.x/sys/dev/malo/if_malo.c projects/tcp_cc_8.x/sys/dev/mfi/mfi.c projects/tcp_cc_8.x/sys/dev/mge/if_mge.c projects/tcp_cc_8.x/sys/dev/mn/if_mn.c (props changed) projects/tcp_cc_8.x/sys/dev/mpt/mpt_cam.c projects/tcp_cc_8.x/sys/dev/msk/if_msk.c projects/tcp_cc_8.x/sys/dev/mwl/if_mwl.c projects/tcp_cc_8.x/sys/dev/mwl/if_mwlvar.h projects/tcp_cc_8.x/sys/dev/mwl/mwlhal.c projects/tcp_cc_8.x/sys/dev/mwl/mwlhal.h projects/tcp_cc_8.x/sys/dev/mwl/mwlreg.h projects/tcp_cc_8.x/sys/dev/mxge/if_mxge.c projects/tcp_cc_8.x/sys/dev/mxge/if_mxge_var.h projects/tcp_cc_8.x/sys/dev/my/if_my.c projects/tcp_cc_8.x/sys/dev/nfe/if_nfe.c projects/tcp_cc_8.x/sys/dev/nge/if_nge.c projects/tcp_cc_8.x/sys/dev/nve/if_nve.c projects/tcp_cc_8.x/sys/dev/nxge/if_nxge.c projects/tcp_cc_8.x/sys/dev/pcn/if_pcn.c projects/tcp_cc_8.x/sys/dev/pdq/pdq_ifsubr.c projects/tcp_cc_8.x/sys/dev/re/if_re.c projects/tcp_cc_8.x/sys/dev/sf/if_sf.c projects/tcp_cc_8.x/sys/dev/sis/if_sis.c projects/tcp_cc_8.x/sys/dev/sk/if_sk.c projects/tcp_cc_8.x/sys/dev/sn/if_sn.c projects/tcp_cc_8.x/sys/dev/snc/dp83932.c projects/tcp_cc_8.x/sys/dev/sound/midi/midi.c projects/tcp_cc_8.x/sys/dev/sound/midi/sequencer.c projects/tcp_cc_8.x/sys/dev/sound/pci/hda/hdac.c projects/tcp_cc_8.x/sys/dev/sound/usb/uaudio.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/sound/usb/uaudio.h (props changed) projects/tcp_cc_8.x/sys/dev/sound/usb/uaudio_pcm.c (props changed) projects/tcp_cc_8.x/sys/dev/sound/usb/uaudioreg.h (props changed) projects/tcp_cc_8.x/sys/dev/speaker/spkr.c projects/tcp_cc_8.x/sys/dev/ste/if_ste.c projects/tcp_cc_8.x/sys/dev/stge/if_stge.c projects/tcp_cc_8.x/sys/dev/ti/if_ti.c projects/tcp_cc_8.x/sys/dev/tl/if_tl.c projects/tcp_cc_8.x/sys/dev/tsec/if_tsec.c projects/tcp_cc_8.x/sys/dev/tx/if_tx.c projects/tcp_cc_8.x/sys/dev/txp/if_txp.c projects/tcp_cc_8.x/sys/dev/usb/controller/at91dci.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/at91dci.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/at91dci_atmelarm.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/atmegadci.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/atmegadci.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/atmegadci_atmelarm.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/avr32dci.c projects/tcp_cc_8.x/sys/dev/usb/controller/ehci.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/ehci.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/ehci_ixp4xx.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/ehci_mbus.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/ehci_pci.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/musb_otg.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/musb_otg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/musb_otg_atmelarm.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/ohci.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/ohci.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/ohci_atmelarm.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/ohci_pci.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/uhci.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/uhci.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/uhci_pci.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/usb_controller.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/uss820dci.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/uss820dci.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/controller/uss820dci_atmelarm.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/input/uhid.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/input/ukbd.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/input/ums.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/input/usb_rdesc.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/misc/udbp.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/misc/udbp.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/misc/ufm.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_aue.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_auereg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_axe.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_axereg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_cdce.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_cdcereg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_cue.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_cuereg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_kue.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_kuefw.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_kuereg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_rue.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_ruereg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_udav.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/net/if_udavreg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/usb_ethernet.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/net/usb_ethernet.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/quirk/usb_quirk.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/quirk/usb_quirk.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/u3g.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/uark.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/ubsa.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/ubser.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/uchcom.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/ucycom.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/ufoma.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/uftdi.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/uftdi_reg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/ugensa.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/uipaq.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/ulpt.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/umct.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/umodem.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/umoscom.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/uplcom.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/usb_serial.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/usb_serial.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/uslcom.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/uvisor.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/serial/uvscom.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/storage/rio500_usb.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/storage/umass.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/storage/urio.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/storage/ustorage_fs.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/template/usb_template.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/template/usb_template.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/template/usb_template_cdce.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/template/usb_template_msc.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/template/usb_template_mtp.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/ufm_ioctl.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_bus.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_busdma.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_busdma.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_cdc.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_compat_linux.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_compat_linux.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_controller.h (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_core.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_core.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_debug.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_debug.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_dev.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_dev.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_device.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_device.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_dynamic.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_dynamic.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_endian.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_error.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_generic.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_generic.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_handle_request.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_hid.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_hub.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_hub.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_if.m (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_ioctl.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_lookup.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_mbuf.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_mbuf.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_msctest.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_msctest.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_parse.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_pci.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_process.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_process.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_request.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_request.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_transfer.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_transfer.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_util.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/usb_util.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/usbdevs (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/usbdi.h projects/tcp_cc_8.x/sys/dev/usb/usbhid.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_rum.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_rumfw.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_rumreg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_rumvar.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_upgt.c projects/tcp_cc_8.x/sys/dev/usb/wlan/if_ural.c (props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_uralreg.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_uralvar.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_urtw.c projects/tcp_cc_8.x/sys/dev/usb/wlan/if_zyd.c (contents, props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_zydfw.h (props changed) projects/tcp_cc_8.x/sys/dev/usb/wlan/if_zydreg.h (props changed) projects/tcp_cc_8.x/sys/dev/vge/if_vge.c projects/tcp_cc_8.x/sys/dev/vr/if_vr.c projects/tcp_cc_8.x/sys/dev/wb/if_wb.c projects/tcp_cc_8.x/sys/dev/wi/if_wi.c projects/tcp_cc_8.x/sys/dev/wl/if_wl.c projects/tcp_cc_8.x/sys/dev/xe/if_xe.c projects/tcp_cc_8.x/sys/dev/xen/netfront/ (props changed) projects/tcp_cc_8.x/sys/dev/xen/xenpci/ (props changed) projects/tcp_cc_8.x/sys/dev/xl/if_xl.c projects/tcp_cc_8.x/sys/fs/cd9660/cd9660_lookup.c projects/tcp_cc_8.x/sys/fs/coda/coda_psdev.c projects/tcp_cc_8.x/sys/fs/coda/coda_vnops.c projects/tcp_cc_8.x/sys/fs/nfsclient/nfs_clvnops.c projects/tcp_cc_8.x/sys/fs/pseudofs/pseudofs_vnops.c projects/tcp_cc_8.x/sys/geom/geom.h projects/tcp_cc_8.x/sys/geom/geom_io.c projects/tcp_cc_8.x/sys/geom/geom_subr.c projects/tcp_cc_8.x/sys/geom/geom_vfs.c projects/tcp_cc_8.x/sys/geom/journal/g_journal.c projects/tcp_cc_8.x/sys/geom/linux_lvm/g_linux_lvm.c projects/tcp_cc_8.x/sys/gnu/fs/xfs/FreeBSD/xfs_ioctl.c projects/tcp_cc_8.x/sys/gnu/fs/xfs/FreeBSD/xfs_iops.h projects/tcp_cc_8.x/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h projects/tcp_cc_8.x/sys/gnu/fs/xfs/xfs_rw.h projects/tcp_cc_8.x/sys/gnu/fs/xfs/xfs_vnodeops.c projects/tcp_cc_8.x/sys/i386/conf/GENERIC projects/tcp_cc_8.x/sys/i386/i386/genassym.c projects/tcp_cc_8.x/sys/i386/i386/intr_machdep.c projects/tcp_cc_8.x/sys/i386/i386/io_apic.c projects/tcp_cc_8.x/sys/i386/i386/local_apic.c projects/tcp_cc_8.x/sys/i386/i386/msi.c projects/tcp_cc_8.x/sys/i386/i386/sys_machdep.c projects/tcp_cc_8.x/sys/i386/ibcs2/ibcs2_ipc.c projects/tcp_cc_8.x/sys/i386/include/intr_machdep.h projects/tcp_cc_8.x/sys/i386/isa/atpic.c projects/tcp_cc_8.x/sys/i386/linux/linux_machdep.c projects/tcp_cc_8.x/sys/ia64/conf/GENERIC projects/tcp_cc_8.x/sys/kern/init_sysent.c projects/tcp_cc_8.x/sys/kern/kern_cons.c (props changed) projects/tcp_cc_8.x/sys/kern/kern_descrip.c projects/tcp_cc_8.x/sys/kern/kern_event.c projects/tcp_cc_8.x/sys/kern/kern_exec.c projects/tcp_cc_8.x/sys/kern/kern_exit.c projects/tcp_cc_8.x/sys/kern/kern_fork.c projects/tcp_cc_8.x/sys/kern/kern_intr.c projects/tcp_cc_8.x/sys/kern/kern_jail.c projects/tcp_cc_8.x/sys/kern/kern_linker.c projects/tcp_cc_8.x/sys/kern/kern_lockf.c projects/tcp_cc_8.x/sys/kern/kern_mbuf.c projects/tcp_cc_8.x/sys/kern/kern_prot.c projects/tcp_cc_8.x/sys/kern/kern_sig.c projects/tcp_cc_8.x/sys/kern/kern_switch.c projects/tcp_cc_8.x/sys/kern/kern_thr.c projects/tcp_cc_8.x/sys/kern/subr_pcpu.c projects/tcp_cc_8.x/sys/kern/sys_generic.c projects/tcp_cc_8.x/sys/kern/sys_process.c projects/tcp_cc_8.x/sys/kern/sys_socket.c projects/tcp_cc_8.x/sys/kern/syscalls.c projects/tcp_cc_8.x/sys/kern/syscalls.master projects/tcp_cc_8.x/sys/kern/systrace_args.c projects/tcp_cc_8.x/sys/kern/sysv_ipc.c projects/tcp_cc_8.x/sys/kern/sysv_msg.c projects/tcp_cc_8.x/sys/kern/sysv_sem.c projects/tcp_cc_8.x/sys/kern/sysv_shm.c projects/tcp_cc_8.x/sys/kern/tty.c projects/tcp_cc_8.x/sys/kern/uipc_syscalls.c projects/tcp_cc_8.x/sys/kern/vfs_cluster.c projects/tcp_cc_8.x/sys/kern/vfs_export.c projects/tcp_cc_8.x/sys/kern/vfs_extattr.c projects/tcp_cc_8.x/sys/kern/vfs_lookup.c projects/tcp_cc_8.x/sys/kern/vfs_mount.c projects/tcp_cc_8.x/sys/kern/vfs_subr.c projects/tcp_cc_8.x/sys/kern/vfs_syscalls.c projects/tcp_cc_8.x/sys/kern/vfs_vnops.c projects/tcp_cc_8.x/sys/mips/adm5120/if_admsw.c projects/tcp_cc_8.x/sys/mips/malta/yamon.c projects/tcp_cc_8.x/sys/mips/mips/busdma_machdep.c projects/tcp_cc_8.x/sys/mips/mips/dump_machdep.c projects/tcp_cc_8.x/sys/mips/mips/intr_machdep.c projects/tcp_cc_8.x/sys/modules/dtrace/dtnfsclient/ (props changed) projects/tcp_cc_8.x/sys/modules/igb/Makefile projects/tcp_cc_8.x/sys/modules/ip6_mroute_mod/ (props changed) projects/tcp_cc_8.x/sys/modules/ipmi/ipmi_linux/ (props changed) projects/tcp_cc_8.x/sys/modules/ixgbe/Makefile projects/tcp_cc_8.x/sys/modules/nfsclient/Makefile projects/tcp_cc_8.x/sys/modules/nfsserver/Makefile projects/tcp_cc_8.x/sys/net/if.c projects/tcp_cc_8.x/sys/net/if_media.h projects/tcp_cc_8.x/sys/net/if_spppsubr.c projects/tcp_cc_8.x/sys/net/if_stf.c projects/tcp_cc_8.x/sys/net/if_tap.c projects/tcp_cc_8.x/sys/net/if_tun.c projects/tcp_cc_8.x/sys/net/if_var.h projects/tcp_cc_8.x/sys/net/netisr.c projects/tcp_cc_8.x/sys/net/vnet.h projects/tcp_cc_8.x/sys/netatalk/aarp.c projects/tcp_cc_8.x/sys/netatalk/at_control.c projects/tcp_cc_8.x/sys/netatalk/at_var.h projects/tcp_cc_8.x/sys/netatalk/ddp_input.c projects/tcp_cc_8.x/sys/netatalk/ddp_output.c projects/tcp_cc_8.x/sys/netatalk/ddp_pcb.c projects/tcp_cc_8.x/sys/netatalk/ddp_usrreq.c projects/tcp_cc_8.x/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c (props changed) projects/tcp_cc_8.x/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h (props changed) projects/tcp_cc_8.x/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c (props changed) projects/tcp_cc_8.x/sys/netgraph/ng_eiface.c projects/tcp_cc_8.x/sys/netgraph/ng_ether.c projects/tcp_cc_8.x/sys/netgraph/ng_iface.c projects/tcp_cc_8.x/sys/netgraph/ng_ksocket.c projects/tcp_cc_8.x/sys/netinet/if_ether.c projects/tcp_cc_8.x/sys/netinet/in.c projects/tcp_cc_8.x/sys/netinet/in_gif.c projects/tcp_cc_8.x/sys/netinet/in_mcast.c projects/tcp_cc_8.x/sys/netinet/in_pcb.c projects/tcp_cc_8.x/sys/netinet/in_var.h projects/tcp_cc_8.x/sys/netinet/ip_carp.c projects/tcp_cc_8.x/sys/netinet/ip_divert.c projects/tcp_cc_8.x/sys/netinet/ip_dummynet.h projects/tcp_cc_8.x/sys/netinet/ip_icmp.c projects/tcp_cc_8.x/sys/netinet/ip_input.c projects/tcp_cc_8.x/sys/netinet/ipfw/ip_dummynet.c (contents, props changed) projects/tcp_cc_8.x/sys/netinet/ipfw/ip_fw2.c (contents, props changed) projects/tcp_cc_8.x/sys/netinet/ipfw/ip_fw_nat.c (contents, props changed) projects/tcp_cc_8.x/sys/netinet/ipfw/ip_fw_pfil.c (props changed) projects/tcp_cc_8.x/sys/netinet/raw_ip.c projects/tcp_cc_8.x/sys/netinet6/in6.c projects/tcp_cc_8.x/sys/netinet6/in6_ifattach.c projects/tcp_cc_8.x/sys/netinet6/in6_pcb.c projects/tcp_cc_8.x/sys/netinet6/in6_src.c projects/tcp_cc_8.x/sys/netinet6/in6_var.h projects/tcp_cc_8.x/sys/netinet6/ip6_input.c projects/tcp_cc_8.x/sys/netinet6/nd6.c projects/tcp_cc_8.x/sys/netinet6/nd6_rtr.c projects/tcp_cc_8.x/sys/netinet6/vinet6.h projects/tcp_cc_8.x/sys/netipsec/key.c projects/tcp_cc_8.x/sys/netipx/ipx.c projects/tcp_cc_8.x/sys/netipx/ipx_if.h projects/tcp_cc_8.x/sys/netipx/ipx_input.c projects/tcp_cc_8.x/sys/netipx/ipx_outputfl.c projects/tcp_cc_8.x/sys/netipx/ipx_pcb.c projects/tcp_cc_8.x/sys/netipx/spx_reass.c (props changed) projects/tcp_cc_8.x/sys/nfs/nfs_common.c projects/tcp_cc_8.x/sys/nfs/nfs_nfssvc.c projects/tcp_cc_8.x/sys/nfsclient/bootp_subr.c projects/tcp_cc_8.x/sys/nfsclient/krpc_subr.c projects/tcp_cc_8.x/sys/nfsclient/nfs.h projects/tcp_cc_8.x/sys/nfsclient/nfs_bio.c projects/tcp_cc_8.x/sys/nfsclient/nfs_diskless.c projects/tcp_cc_8.x/sys/nfsclient/nfs_krpc.c projects/tcp_cc_8.x/sys/nfsclient/nfs_lock.c projects/tcp_cc_8.x/sys/nfsclient/nfs_nfsiod.c projects/tcp_cc_8.x/sys/nfsclient/nfs_node.c projects/tcp_cc_8.x/sys/nfsclient/nfs_subs.c projects/tcp_cc_8.x/sys/nfsclient/nfs_vfsops.c projects/tcp_cc_8.x/sys/nfsclient/nfs_vnops.c projects/tcp_cc_8.x/sys/nfsclient/nfsm_subs.h projects/tcp_cc_8.x/sys/nfsclient/nfsmount.h projects/tcp_cc_8.x/sys/nfsserver/nfs.h projects/tcp_cc_8.x/sys/nfsserver/nfs_fha.c projects/tcp_cc_8.x/sys/nfsserver/nfs_serv.c projects/tcp_cc_8.x/sys/nfsserver/nfs_srvkrpc.c projects/tcp_cc_8.x/sys/nfsserver/nfs_srvsubs.c projects/tcp_cc_8.x/sys/nfsserver/nfsrvcache.h projects/tcp_cc_8.x/sys/pc98/conf/GENERIC projects/tcp_cc_8.x/sys/pci/if_rl.c projects/tcp_cc_8.x/sys/powerpc/conf/GENERIC projects/tcp_cc_8.x/sys/powerpc/conf/MPC85XX projects/tcp_cc_8.x/sys/powerpc/powerpc/mp_machdep.c projects/tcp_cc_8.x/sys/rpc/clnt_dg.c projects/tcp_cc_8.x/sys/rpc/clnt_rc.c projects/tcp_cc_8.x/sys/rpc/rpcsec_gss/rpcsec_gss.c projects/tcp_cc_8.x/sys/security/audit/audit.c projects/tcp_cc_8.x/sys/security/audit/audit.h projects/tcp_cc_8.x/sys/security/audit/audit_arg.c projects/tcp_cc_8.x/sys/security/audit/audit_bsm.c projects/tcp_cc_8.x/sys/security/audit/audit_private.h projects/tcp_cc_8.x/sys/security/audit/audit_syscalls.c projects/tcp_cc_8.x/sys/security/mac/mac_cred.c (props changed) projects/tcp_cc_8.x/sys/security/mac_bsdextended/ugidfw_system.c (props changed) projects/tcp_cc_8.x/sys/security/mac_bsdextended/ugidfw_vnode.c (props changed) projects/tcp_cc_8.x/sys/sparc64/conf/GENERIC projects/tcp_cc_8.x/sys/sparc64/include/pmap.h projects/tcp_cc_8.x/sys/sparc64/sparc64/machdep.c projects/tcp_cc_8.x/sys/sparc64/sparc64/pmap.c projects/tcp_cc_8.x/sys/sun4v/conf/GENERIC projects/tcp_cc_8.x/sys/sun4v/sun4v/pmap.c projects/tcp_cc_8.x/sys/sys/acl.h projects/tcp_cc_8.x/sys/sys/ata.h projects/tcp_cc_8.x/sys/sys/conf.h projects/tcp_cc_8.x/sys/sys/cpuctl.h projects/tcp_cc_8.x/sys/sys/event.h projects/tcp_cc_8.x/sys/sys/filio.h projects/tcp_cc_8.x/sys/sys/ipc.h projects/tcp_cc_8.x/sys/sys/mount.h projects/tcp_cc_8.x/sys/sys/msg.h projects/tcp_cc_8.x/sys/sys/param.h projects/tcp_cc_8.x/sys/sys/priv.h projects/tcp_cc_8.x/sys/sys/sched.h projects/tcp_cc_8.x/sys/sys/sem.h projects/tcp_cc_8.x/sys/sys/shm.h projects/tcp_cc_8.x/sys/sys/syscall.h projects/tcp_cc_8.x/sys/sys/syscall.mk projects/tcp_cc_8.x/sys/sys/sysctl.h projects/tcp_cc_8.x/sys/sys/sysproto.h projects/tcp_cc_8.x/sys/sys/uio.h projects/tcp_cc_8.x/sys/sys/unistd.h projects/tcp_cc_8.x/sys/sys/vnode.h projects/tcp_cc_8.x/sys/tools/sound/feeder_rate_mkfilter.awk projects/tcp_cc_8.x/sys/ufs/ffs/ffs_softdep.c projects/tcp_cc_8.x/sys/ufs/ffs/ffs_vnops.c projects/tcp_cc_8.x/sys/ufs/ufs/ufs_dirhash.c projects/tcp_cc_8.x/sys/ufs/ufs/ufs_vnops.c projects/tcp_cc_8.x/sys/vm/vm.h projects/tcp_cc_8.x/sys/vm/vm_contig.c projects/tcp_cc_8.x/sys/vm/vm_extern.h projects/tcp_cc_8.x/sys/vm/vm_object.c projects/tcp_cc_8.x/sys/vm/vm_phys.c projects/tcp_cc_8.x/sys/vm/vm_phys.h projects/tcp_cc_8.x/sys/vm/vnode_pager.c projects/tcp_cc_8.x/tools/build/mk/OptionalObsoleteFiles.inc projects/tcp_cc_8.x/tools/regression/acltools/tools-posix.test projects/tcp_cc_8.x/tools/regression/bin/sh/builtins/command5.0.stdout projects/tcp_cc_8.x/tools/regression/lib/msun/test-conj.t (props changed) projects/tcp_cc_8.x/tools/regression/usr.bin/pkill/pgrep-_g.t (props changed) projects/tcp_cc_8.x/tools/regression/usr.bin/pkill/pgrep-_s.t (props changed) projects/tcp_cc_8.x/tools/regression/usr.bin/pkill/pkill-_g.t (props changed) projects/tcp_cc_8.x/tools/tools/ath/athpoke/Makefile projects/tcp_cc_8.x/tools/tools/ath/athpoke/athpoke.c projects/tcp_cc_8.x/tools/tools/ath/common/dumpregs.h (props changed) projects/tcp_cc_8.x/tools/tools/ath/common/dumpregs_5210.c (props changed) projects/tcp_cc_8.x/tools/tools/ath/common/dumpregs_5211.c (props changed) projects/tcp_cc_8.x/tools/tools/ath/common/dumpregs_5212.c (props changed) projects/tcp_cc_8.x/tools/tools/ath/common/dumpregs_5416.c (props changed) projects/tcp_cc_8.x/tools/tools/nanobsd/nanobsd.sh projects/tcp_cc_8.x/tools/tools/termcap/termcap.pl (props changed) projects/tcp_cc_8.x/usr.bin/csup/ (props changed) projects/tcp_cc_8.x/usr.bin/fstat/fstat.c projects/tcp_cc_8.x/usr.bin/gzip/gzip.1 projects/tcp_cc_8.x/usr.bin/gzip/gzip.c projects/tcp_cc_8.x/usr.bin/gzip/zuncompress.c projects/tcp_cc_8.x/usr.bin/ipcs/ipcs.c projects/tcp_cc_8.x/usr.bin/killall/Makefile projects/tcp_cc_8.x/usr.bin/killall/killall.c projects/tcp_cc_8.x/usr.bin/nfsstat/nfsstat.c projects/tcp_cc_8.x/usr.bin/procstat/ (props changed) projects/tcp_cc_8.x/usr.bin/showmount/showmount.c projects/tcp_cc_8.x/usr.bin/ypcat/ypcat.c projects/tcp_cc_8.x/usr.bin/ypmatch/ypmatch.c projects/tcp_cc_8.x/usr.bin/ypwhich/ypwhich.c projects/tcp_cc_8.x/usr.sbin/Makefile projects/tcp_cc_8.x/usr.sbin/amd/include/config.h projects/tcp_cc_8.x/usr.sbin/cpucontrol/cpucontrol.8 projects/tcp_cc_8.x/usr.sbin/cpucontrol/cpucontrol.c projects/tcp_cc_8.x/usr.sbin/cxgbtool/cxgbtool.c projects/tcp_cc_8.x/usr.sbin/dumpcis/cardinfo.h (props changed) projects/tcp_cc_8.x/usr.sbin/dumpcis/cis.h (props changed) projects/tcp_cc_8.x/usr.sbin/fdcontrol/fdcontrol.c projects/tcp_cc_8.x/usr.sbin/fdformat/fdformat.c projects/tcp_cc_8.x/usr.sbin/fdread/fdread.c projects/tcp_cc_8.x/usr.sbin/fdwrite/fdwrite.c projects/tcp_cc_8.x/usr.sbin/jail/Makefile projects/tcp_cc_8.x/usr.sbin/jail/jail.c projects/tcp_cc_8.x/usr.sbin/jexec/Makefile projects/tcp_cc_8.x/usr.sbin/jexec/jexec.c projects/tcp_cc_8.x/usr.sbin/jls/Makefile projects/tcp_cc_8.x/usr.sbin/jls/jls.c projects/tcp_cc_8.x/usr.sbin/lpr/common_source/displayq.c projects/tcp_cc_8.x/usr.sbin/makefs/ffs/ffs_bswap.c (props changed) projects/tcp_cc_8.x/usr.sbin/makefs/ffs/ffs_subr.c (props changed) projects/tcp_cc_8.x/usr.sbin/makefs/ffs/ufs_bswap.h (props changed) projects/tcp_cc_8.x/usr.sbin/makefs/getid.c (props changed) projects/tcp_cc_8.x/usr.sbin/mountd/mountd.c projects/tcp_cc_8.x/usr.sbin/nfsd/nfsd.c projects/tcp_cc_8.x/usr.sbin/pkg_install/lib/url.c projects/tcp_cc_8.x/usr.sbin/rpc.lockd/kern.c projects/tcp_cc_8.x/usr.sbin/rpc.umntall/mounttab.c projects/tcp_cc_8.x/usr.sbin/rpc.umntall/mounttab.h projects/tcp_cc_8.x/usr.sbin/rpc.umntall/rpc.umntall.c projects/tcp_cc_8.x/usr.sbin/sysinstall/Makefile projects/tcp_cc_8.x/usr.sbin/sysinstall/devices.c projects/tcp_cc_8.x/usr.sbin/sysinstall/dispatch.c projects/tcp_cc_8.x/usr.sbin/sysinstall/dist.c projects/tcp_cc_8.x/usr.sbin/sysinstall/dist.h projects/tcp_cc_8.x/usr.sbin/sysinstall/doc.c projects/tcp_cc_8.x/usr.sbin/sysinstall/help/usage.hlp projects/tcp_cc_8.x/usr.sbin/sysinstall/label.c projects/tcp_cc_8.x/usr.sbin/sysinstall/media.c projects/tcp_cc_8.x/usr.sbin/sysinstall/menus.c projects/tcp_cc_8.x/usr.sbin/sysinstall/options.c projects/tcp_cc_8.x/usr.sbin/sysinstall/sysinstall.h projects/tcp_cc_8.x/usr.sbin/ypserv/Makefile.yp projects/tcp_cc_8.x/usr.sbin/ypserv/yp_access.c projects/tcp_cc_8.x/usr.sbin/ypserv/ypserv.8 projects/tcp_cc_8.x/usr.sbin/zic/ (props changed) Modified: projects/tcp_cc_8.x/MAINTAINERS ============================================================================== --- projects/tcp_cc_8.x/MAINTAINERS Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/MAINTAINERS Fri Jul 3 11:37:58 2009 (r195306) @@ -124,7 +124,6 @@ usr.bin/bluetooth emax Pre-commit review usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports. -usb core Please contact core@ before any major changes ncurses rafan Heads-up appreciated, try not to break it. Following are the entries from the Makefiles, and a few other sources. Modified: projects/tcp_cc_8.x/ObsoleteFiles.inc ============================================================================== --- projects/tcp_cc_8.x/ObsoleteFiles.inc Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/ObsoleteFiles.inc Fri Jul 3 11:37:58 2009 (r195306) @@ -14,11 +14,75 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090630: old kernel RPC implementation removal +OLD_FILES+=usr/include/nfs/rpcv2.h +# 20090624: update usbdi(9) +OLD_FILES+=usr/share/man/man9/usbd_abort_default_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_abort_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_alloc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_stall_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_clear_endpoint_toggle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_close_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_device2interface_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_async.9.gz +OLD_FILES+=usr/share/man/man9/usbd_do_request_flags_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_endpoint_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_edesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_find_idesc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_free_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_buffer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_desc_full.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_config_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_device_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_altindex.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_interface_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_no_alts.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_quirks.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_speed.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_string_desc.9.gz +OLD_FILES+=usr/share/man/man9/usbd_get_xfer_status.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface2endpoint_descriptor.9.gz +OLD_FILES+=usr/share/man/man9/usbd_interface_count.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe.9.gz +OLD_FILES+=usr/share/man/man9/usbd_open_pipe_intr.9.gz +OLD_FILES+=usr/share/man/man9/usbd_pipe2device_handle.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_index.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_config_no.9.gz +OLD_FILES+=usr/share/man/man9/usbd_set_interface.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_default_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_isoc_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_setup_xfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_sync_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usbd_transfer.9.gz +OLD_FILES+=usr/share/man/man9/usb_find_desc.9.gz +# 20090623: number of headers needed for a usb driver reduced +OLD_FILES+=usr/include/dev/usb/usb_defs.h +OLD_FILES+=usr/include/dev/usb/usb_error.h +OLD_FILES+=usr/include/dev/usb/usb_handle_request.h +OLD_FILES+=usr/include/dev/usb/usb_hid.h +OLD_FILES+=usr/include/dev/usb/usb_lookup.h +OLD_FILES+=usr/include/dev/usb/usb_mfunc.h +OLD_FILES+=usr/include/dev/usb/usb_parse.h +OLD_FILES+=usr/include/dev/usb/usb_revision.h +# 20090609: devclass_add_driver is no longer public +OLD_FILES+=usr/share/man/man9/devclass_add_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_delete_driver.9.gz +OLD_FILES+=usr/share/man/man9/devclass_find_driver.9.gz # 20090605: removal of clists OLD_FILES+=usr/include/sys/clist.h # 20090602: removal of window(1) OLD_FILES+=usr/bin/window OLD_FILES+=usr/share/man/man1/window.1.gz +# 20090531: bind 9.6.1rc1 import +OLD_LIBS+=usr/lib/liblwres.so.30 # 20090530: removal of early.sh OLD_FILES+=etc/rc.d/early.sh # 20090527: renaming of S{LIST,TAILQ}_REMOVE_NEXT() to _REMOVE_AFTER() @@ -58,7 +122,7 @@ OLD_DIRS+=usr/include/legacy/dev/usb OLD_DIRS+=usr/include/legacy/dev OLD_DIRS+=usr/include/legacy # 20090526: removal of makekey(8) -OLD_FILES+=libexec/makekey +OLD_FILES+=usr/libexec/makekey OLD_FILES+=usr/share/man/man8/makekey.8.gz # 20090522: removal of University of Michigan NFSv4 client OLD_FILES+=etc/rc.d/idmapd Modified: projects/tcp_cc_8.x/UPDATING ============================================================================== --- projects/tcp_cc_8.x/UPDATING Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/UPDATING Fri Jul 3 11:37:58 2009 (r195306) @@ -22,6 +22,29 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20090630: + The NFS_LEGACYRPC option has been removed along with the old + kernel RPC implementation that this option selected. Kernel + configurations may need to be adjusted. + +20090629: + The network interface device nodes at /dev/net/ have + been removed. All ioctl operations can be performed the normal + way using routing sockets. The kqueue functionality can + generally be replaced with routing sockets. + +20090628: + The documentation from the FreeBSD Documentation Project + (Handbook, FAQ, etc.) is now installed via packages by + sysinstall(8) and under the /usr/local/share/doc/freebsd + directory instead of /usr/share/doc. + +20090624: + The ABI of various structures related to the SYSV IPC API have + been changed. As a result, the COMPAT_FREEBSD[456] kernel + options now all require COMPAT_FREEBSD7. Bump __FreeBSD_version + to 800100. + 20090622: Layout of struct vnet has changed as routing related variables were moved to their own Vimage module. Modules need to be @@ -80,12 +103,6 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. rebuilt. Bump __FreeBSD_version to 800096. -20090531: - For those who use ipfw and especially pf, those two firewalls - are now started BEFORE the network is initialized (i.e., before - rc.d/netif). Please review your rules to make sure that your - interfaces will be properly described. - 20090530: Remove the tunable/sysctl debug.mpsafevfs as its initial purpose is no more valid. Modified: projects/tcp_cc_8.x/bin/chmod/chmod.c ============================================================================== --- projects/tcp_cc_8.x/bin/chmod/chmod.c Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/bin/chmod/chmod.c Fri Jul 3 11:37:58 2009 (r195306) @@ -54,6 +54,7 @@ __FBSDID("$FreeBSD$"); #include static void usage(void); +static int may_have_nfs4acl(const FTSENT *ent); int main(int argc, char *argv[]) @@ -180,8 +181,14 @@ done: argv += optind; break; } newmode = getmode(set, p->fts_statp->st_mode); - if ((newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) - continue; + /* + * With NFSv4 ACLs, it is possible that applying a mode + * identical to the one computed from an ACL will change + * that ACL. + */ + if (may_have_nfs4acl(p) == 0 && + (newmode & ALLPERMS) == (p->fts_statp->st_mode & ALLPERMS)) + continue; if ((*change_mode)(p->fts_accpath, newmode) && !fflag) { warn("%s", p->fts_path); rval = 1; @@ -219,3 +226,24 @@ usage(void) "usage: chmod [-fhv] [-R [-H | -L | -P]] mode file ...\n"); exit(1); } + +static int +may_have_nfs4acl(const FTSENT *ent) +{ + int ret; + static dev_t previous_dev = (dev_t)-1; + static int supports_acls = -1; + + if (previous_dev != ent->fts_statp->st_dev) { + previous_dev = ent->fts_statp->st_dev; + supports_acls = 0; + + ret = pathconf(ent->fts_accpath, _PC_ACL_NFS4); + if (ret > 0) + supports_acls = 1; + else if (ret < 0 && errno != EINVAL) + warn("%s", ent->fts_path); + } + + return (supports_acls); +} Modified: projects/tcp_cc_8.x/bin/sh/exec.c ============================================================================== --- projects/tcp_cc_8.x/bin/sh/exec.c Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/bin/sh/exec.c Fri Jul 3 11:37:58 2009 (r195306) @@ -756,6 +756,7 @@ typecmd_impl(int argc, char **argv, int if ((cmdp = cmdlookup(argv[i], 0)) != NULL) { entry.cmdtype = cmdp->cmdtype; entry.u = cmdp->param; + entry.special = cmdp->special; } else { /* Finally use brute force */ @@ -804,6 +805,9 @@ typecmd_impl(int argc, char **argv, int case CMDBUILTIN: if (cmd == TYPECMD_SMALLV) out1fmt("%s\n", argv[i]); + else if (entry.special) + out1fmt("%s is a special shell builtin\n", + argv[i]); else out1fmt("%s is a shell builtin\n", argv[i]); break; Modified: projects/tcp_cc_8.x/bin/sh/expand.c ============================================================================== --- projects/tcp_cc_8.x/bin/sh/expand.c Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/bin/sh/expand.c Fri Jul 3 11:37:58 2009 (r195306) @@ -82,7 +82,7 @@ struct ifsregion { struct ifsregion *next; /* next region in list */ int begoff; /* offset of start of region */ int endoff; /* offset of end of region */ - int nulonly; /* search for nul bytes only */ + int inquotes; /* search for nul bytes only */ }; @@ -936,13 +936,19 @@ numvar: */ STATIC void -recordregion(int start, int end, int nulonly) +recordregion(int start, int end, int inquotes) { struct ifsregion *ifsp; if (ifslastp == NULL) { ifsp = &ifsfirst; } else { + if (ifslastp->endoff == start + && ifslastp->inquotes == inquotes) { + /* extend previous area */ + ifslastp->endoff = end; + return; + } ifsp = (struct ifsregion *)ckmalloc(sizeof (struct ifsregion)); ifslastp->next = ifsp; } @@ -950,7 +956,7 @@ recordregion(int start, int end, int nul ifslastp->next = NULL; ifslastp->begoff = start; ifslastp->endoff = end; - ifslastp->nulonly = nulonly; + ifslastp->inquotes = inquotes; } @@ -969,75 +975,89 @@ ifsbreakup(char *string, struct arglist char *p; char *q; char *ifs; - int ifsspc; - int nulonly; - + const char *ifsspc; + int had_param_ch = 0; start = string; - ifsspc = 0; - nulonly = 0; - if (ifslastp != NULL) { - ifsp = &ifsfirst; - do { - p = string + ifsp->begoff; - nulonly = ifsp->nulonly; - ifs = nulonly ? nullstr : - ( ifsset() ? ifsval() : " \t\n" ); - ifsspc = 0; - while (p < string + ifsp->endoff) { - q = p; - if (*p == CTLESC) + + if (ifslastp == NULL) { + /* Return entire argument, IFS doesn't apply to any of it */ + sp = (struct strlist *)stalloc(sizeof *sp); + sp->text = start; + *arglist->lastp = sp; + arglist->lastp = &sp->next; + return; + } + + ifs = ifsset() ? ifsval() : " \t\n"; + + for (ifsp = &ifsfirst; ifsp != NULL; ifsp = ifsp->next) { + p = string + ifsp->begoff; + while (p < string + ifsp->endoff) { + q = p; + if (*p == CTLESC) + p++; + if (ifsp->inquotes) { + /* Only NULs (should be from "$@") end args */ + had_param_ch = 1; + if (*p != 0) { p++; - if (strchr(ifs, *p)) { - if (!nulonly) - ifsspc = (strchr(" \t\n", *p) != NULL); - /* Ignore IFS whitespace at start */ - if (q == start && ifsspc) { - p++; - start = p; - continue; - } - *q = '\0'; - sp = (struct strlist *)stalloc(sizeof *sp); - sp->text = start; - *arglist->lastp = sp; - arglist->lastp = &sp->next; + continue; + } + ifsspc = NULL; + } else { + if (!strchr(ifs, *p)) { + had_param_ch = 1; p++; - if (!nulonly) { - for (;;) { - if (p >= string + ifsp->endoff) { - break; - } - q = p; - if (*p == CTLESC) - p++; - if (strchr(ifs, *p) == NULL ) { - p = q; - break; - } else if (strchr(" \t\n",*p) == NULL) { - if (ifsspc) { - p++; - ifsspc = 0; - } else { - p = q; - break; - } - } else - p++; - } - } - start = p; - } else + continue; + } + ifsspc = strchr(" \t\n", *p); + + /* Ignore IFS whitespace at start */ + if (q == start && ifsspc != NULL) { p++; + start = p; + continue; + } + had_param_ch = 0; } - } while ((ifsp = ifsp->next) != NULL); - if (*start || (!ifsspc && start > string)) { + + /* Save this argument... */ + *q = '\0'; sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; arglist->lastp = &sp->next; + p++; + + if (ifsspc != NULL) { + /* Ignore further trailing IFS whitespace */ + for (; p < string + ifsp->endoff; p++) { + q = p; + if (*p == CTLESC) + p++; + if (strchr(ifs, *p) == NULL) { + p = q; + break; + } + if (strchr(" \t\n", *p) == NULL) { + p++; + break; + } + } + } + start = p; } - } else { + } + + /* + * Save anything left as an argument. + * Traditionally we have treated 'IFS=':'; set -- x$IFS' as + * generating 2 arguments, the second of which is empty. + * Some recent clarification of the Posix spec say that it + * should only generate one.... + */ + if (had_param_ch || *start != 0) { sp = (struct strlist *)stalloc(sizeof *sp); sp->text = start; *arglist->lastp = sp; Modified: projects/tcp_cc_8.x/bin/sh/sh.1 ============================================================================== --- projects/tcp_cc_8.x/bin/sh/sh.1 Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/bin/sh/sh.1 Fri Jul 3 11:37:58 2009 (r195306) @@ -606,6 +606,12 @@ This all occurs within the current shell .Pp Shell built-in commands are executed internally to the shell, without spawning a new process. +There are two kinds of built-in commands: regular and special. +Assignments before special builtins persist after they finish +executing and assignment errors, redirection errors and certain +operand errors cause a script to be aborted. +Both regular and special builtins can affect the shell in ways +normal programs cannot. .Pp Otherwise, if the command name does not match a function or built-in command, the command is searched for as a normal @@ -885,7 +891,7 @@ loops. The .Ic continue command continues with the next iteration of the innermost loop. -These are implemented as built-in commands. +These are implemented as special built-in commands. .Pp The syntax of the .Ic case @@ -1001,7 +1007,7 @@ It terminates the current executional sc nested function, sourced script, or shell instance, in that order. The .Ic return -command is implemented as a built-in command. +command is implemented as a special built-in command. .Ss Variables and Parameters The shell maintains a set of parameters. A parameter @@ -1590,6 +1596,7 @@ where is either the path name to .Ar utility , +a special shell builtin, a shell builtin, a shell function, a shell keyword @@ -2114,7 +2121,8 @@ Interpret each .Ar name as a command and print the resolution of the command search. Possible resolutions are: -shell keyword, alias, shell built-in command, command, tracked alias +shell keyword, alias, special shell builtin, shell builtin, command, +tracked alias and not found. For aliases the alias expansion is printed; for commands and tracked aliases Modified: projects/tcp_cc_8.x/contrib/bind9/CHANGES ============================================================================== --- projects/tcp_cc_8.x/contrib/bind9/CHANGES Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/contrib/bind9/CHANGES Fri Jul 3 11:37:58 2009 (r195306) @@ -1,4 +1,23 @@ + --- 9.6.1 released --- + +2607. [bug] named could incorrectly delete NSEC3 records for + empty nodes when processing a update request. + [RT #19749] + +2606. [bug] "delegation-only" was not being accepted in + delegation-only type zones. [RT #19717] + +2605. [bug] Accept DS responses from delegation only zones. + [RT # 19296] + +2603. [port] win32: handle .exe extension of named-checkzone and + named-comilezone argv[0] names under windows. + [RT #19767] + +2602. [port] win32: fix debugging command line build of libisccfg. + [RT #19767] + --- 9.6.1rc1 released --- 2599. [bug] Address rapid memory growth when validation fails. Copied: projects/tcp_cc_8.x/contrib/bind9/KNOWN-DEFECTS (from r195305, head/contrib/bind9/KNOWN-DEFECTS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/tcp_cc_8.x/contrib/bind9/KNOWN-DEFECTS Fri Jul 3 11:37:58 2009 (r195306, copy of r195305, head/contrib/bind9/KNOWN-DEFECTS) @@ -0,0 +1,15 @@ +dnssec-signzone was designed so that it could sign a zone partially, using +only a subset of the DNSSEC keys needed to produce a fully-signed zone. +This permits a zone administrator, for example, to sign a zone with one +key on one machine, move the resulting partially-signed zone to a second +machine, and sign it again with a second key. + +An unfortunate side-effect of this flexibility is that dnssec-signzone +does not check to make sure it's signing a zone with any valid keys at +all. An attempt to sign a zone without any keys will appear to succeed, +producing a "signed" zone with no signatures. There is no warning issued +when a zone is not signed. + +This will be corrected in a future release. In the meantime, ISC +recommends examining the output of dnssec-signzone to confirm that +the zone is properly signed by all keys before using it. Modified: projects/tcp_cc_8.x/contrib/bind9/bin/check/named-checkzone.c ============================================================================== --- projects/tcp_cc_8.x/contrib/bind9/bin/check/named-checkzone.c Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/contrib/bind9/bin/check/named-checkzone.c Fri Jul 3 11:37:58 2009 (r195306) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: named-checkzone.c,v 1.51.34.2 2009/02/16 23:47:15 tbox Exp $ */ +/* $Id: named-checkzone.c,v 1.51.34.3 2009/05/29 02:17:43 marka Exp $ */ /*! \file */ @@ -123,9 +123,13 @@ main(int argc, char **argv) { */ if (strncmp(prog_name, "lt-", 3) == 0) prog_name += 3; - if (strcmp(prog_name, "named-checkzone") == 0) + +#define PROGCMP(X) \ + (strcasecmp(prog_name, X) == 0 || strcasecmp(prog_name, X ".exe") == 0) + + if (PROGCMP("named-checkzone")) progmode = progmode_check; - else if (strcmp(prog_name, "named-compilezone") == 0) + else if (PROGCMP("named-compilezone")) progmode = progmode_compile; else INSIST(0); Modified: projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.8 ============================================================================== --- projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.8 Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.8 Fri Jul 3 11:37:58 2009 (r195306) @@ -1,4 +1,4 @@ -.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") +.\" Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2000-2003 Internet Software Consortium. .\" .\" Permission to use, copy, modify, and distribute this software for any @@ -13,275 +13,163 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: dnssec-signzone.8,v 1.47 2008/10/15 01:11:35 tbox Exp $ +.\" $Id: dnssec-signzone.8,v 1.47.44.4 2009/06/09 01:47:19 each Exp $ .\" .hy 0 .ad l -.\" Title: dnssec\-signzone -.\" Author: -.\" Generator: DocBook XSL Stylesheets v1.71.1 -.\" Date: June 30, 2000 -.\" Manual: BIND9 -.\" Source: BIND9 -.\" -.TH "DNSSEC\-SIGNZONE" "8" "June 30, 2000" "BIND9" "BIND9" -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.SH "NAME" -dnssec\-signzone \- DNSSEC zone signing tool +.\"Generated by db2man.xsl. Don't modify this, modify the source. +.de Sh \" Subsection +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Ip \" List item +.br +.ie \\n(.$>=3 .ne \\$3 +.el .ne 3 +.IP "\\$1" \\$2 +.. +.TH "DNSSEC-SIGNZONE" 8 "June 08, 2009" "" "" +.SH NAME +dnssec-signzone \- DNSSEC zone signing tool .SH "SYNOPSIS" .HP 16 -\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] [\fB\-3\ \fR\fB\fIsalt\fR\fR] [\fB\-H\ \fR\fB\fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...] +\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fIclass\fR\fR] [\fB\-d\ \fIdirectory\fR\fR] [\fB\-e\ \fIend\-time\fR\fR] [\fB\-f\ \fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-k\ \fIkey\fR\fR] [\fB\-l\ \fIdomain\fR\fR] [\fB\-i\ \fIinterval\fR\fR] [\fB\-I\ \fIinput\-format\fR\fR] [\fB\-j\ \fIjitter\fR\fR] [\fB\-N\ \fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fIorigin\fR\fR] [\fB\-O\ \fIoutput\-format\fR\fR] [\fB\-p\fR] [\fB\-r\ \fIrandomdev\fR\fR] [\fB\-s\ \fIstart\-time\fR\fR] [\fB\-t\fR] [\fB\-v\ \fIlevel\fR\fR] [\fB\-z\fR] [\fB\-3\ \fIsalt\fR\fR] [\fB\-H\ \fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...] .SH "DESCRIPTION" .PP -\fBdnssec\-signzone\fR -signs a zone. It generates NSEC and RRSIG records and produces a signed version of the zone. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a -\fIkeyset\fR -file for each child zone. +\fBdnssec\-signzone\fR signs a zone\&. It generates NSEC and RRSIG records and produces a signed version of the zone\&. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a \fIkeyset\fR file for each child zone\&. .SH "OPTIONS" -.PP +.TP \-a -.RS 4 -Verify all generated signatures. -.RE -.PP +Verify all generated signatures\&. +.TP \-c \fIclass\fR -.RS 4 -Specifies the DNS class of the zone. -.RE -.PP +Specifies the DNS class of the zone\&. +.TP \-k \fIkey\fR -.RS 4 -Treat specified key as a key signing key ignoring any key flags. This option may be specified multiple times. -.RE -.PP +Treat specified key as a key signing key ignoring any key flags\&. This option may be specified multiple times\&. +.TP \-l \fIdomain\fR -.RS 4 -Generate a DLV set in addition to the key (DNSKEY) and DS sets. The domain is appended to the name of the records. -.RE -.PP +Generate a DLV set in addition to the key (DNSKEY) and DS sets\&. The domain is appended to the name of the records\&. +.TP \-d \fIdirectory\fR -.RS 4 -Look for -\fIkeyset\fR -files in -\fBdirectory\fR -as the directory -.RE -.PP +Look for \fIkeyset\fR files in \fBdirectory\fR as the directory +.TP \-g -.RS 4 -Generate DS records for child zones from keyset files. Existing DS records will be removed. -.RE -.PP +Generate DS records for child zones from keyset files\&. Existing DS records will be removed\&. +.TP \-s \fIstart\-time\fR -.RS 4 -Specify the date and time when the generated RRSIG records become valid. This can be either an absolute or relative time. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000. A relative start time is indicated by +N, which is N seconds from the current time. If no -\fBstart\-time\fR -is specified, the current time minus 1 hour (to allow for clock skew) is used. -.RE -.PP +Specify the date and time when the generated RRSIG records become valid\&. This can be either an absolute or relative time\&. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000\&. A relative start time is indicated by +N, which is N seconds from the current time\&. If no \fBstart\-time\fR is specified, the current time minus 1 hour (to allow for clock skew) is used\&. +.TP \-e \fIend\-time\fR -.RS 4 -Specify the date and time when the generated RRSIG records expire. As with -\fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation. A time relative to the start time is indicated with +N, which is N seconds from the start time. A time relative to the current time is indicated with now+N. If no -\fBend\-time\fR -is specified, 30 days from the start time is used as a default. -.RE -.PP +Specify the date and time when the generated RRSIG records expire\&. As with \fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation\&. A time relative to the start time is indicated with +N, which is N seconds from the start time\&. A time relative to the current time is indicated with now+N\&. If no \fBend\-time\fR is specified, 30 days from the start time is used as a default\&. +.TP \-f \fIoutput\-file\fR -.RS 4 -The name of the output file containing the signed zone. The default is to append -\fI.signed\fR -to the input filename. -.RE -.PP +The name of the output file containing the signed zone\&. The default is to append \fI\&.signed\fR to the input filename\&. +.TP \-h -.RS 4 -Prints a short summary of the options and arguments to -\fBdnssec\-signzone\fR. -.RE -.PP +Prints a short summary of the options and arguments to \fBdnssec\-signzone\fR\&. +.TP \-i \fIinterval\fR -.RS 4 -When a previously\-signed zone is passed as input, records may be resigned. The -\fBinterval\fR -option specifies the cycle interval as an offset from the current time (in seconds). If a RRSIG record expires after the cycle interval, it is retained. Otherwise, it is considered to be expiring soon, and it will be replaced. -.sp -The default cycle interval is one quarter of the difference between the signature end and start times. So if neither -\fBend\-time\fR -or -\fBstart\-time\fR -are specified, -\fBdnssec\-signzone\fR -generates signatures that are valid for 30 days, with a cycle interval of 7.5 days. Therefore, if any existing RRSIG records are due to expire in less than 7.5 days, they would be replaced. -.RE -.PP +When a previously\-signed zone is passed as input, records may be resigned\&. The \fBinterval\fR option specifies the cycle interval as an offset from the current time (in seconds)\&. If a RRSIG record expires after the cycle interval, it is retained\&. Otherwise, it is considered to be expiring soon, and it will be replaced\&. +The default cycle interval is one quarter of the difference between the signature end and start times\&. So if neither \fBend\-time\fR or \fBstart\-time\fR are specified, \fBdnssec\-signzone\fR generates signatures that are valid for 30 days, with a cycle interval of 7\&.5 days\&. Therefore, if any existing RRSIG records are due to expire in less than 7\&.5 days, they would be replaced\&. +.TP \-I \fIinput\-format\fR -.RS 4 -The format of the input zone file. Possible formats are -\fB"text"\fR -(default) and -\fB"raw"\fR. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly. The use of this option does not make much sense for non\-dynamic zones. -.RE -.PP +The format of the input zone file\&. Possible formats are \fB"text"\fR (default) and \fB"raw"\fR\&. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly\&. The use of this option does not make much sense for non\-dynamic zones\&. +.TP \-j \fIjitter\fR -.RS 4 -When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously. If the zone is incrementally signed, i.e. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time. The -\fBjitter\fR -option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time. -.sp -Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i.e. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time. -.RE -.PP +When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously\&. If the zone is incrementally signed, i\&.e\&. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time\&. The \fBjitter\fR option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time\&. +Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i\&.e\&. if large numbers of RRSIGs don't expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time\&. +.TP \-n \fIncpus\fR -.RS 4 -Specifies the number of threads to use. By default, one thread is started for each detected CPU. -.RE -.PP +Specifies the number of threads to use\&. By default, one thread is started for each detected CPU\&. +.TP \-N \fIsoa\-serial\-format\fR -.RS 4 -The SOA serial number format of the signed zone. Possible formats are -\fB"keep"\fR -(default), -\fB"increment"\fR -and -\fB"unixtime"\fR. -.RS 4 -.PP +The SOA serial number format of the signed zone\&. Possible formats are \fB"keep"\fR (default), \fB"increment"\fR and \fB"unixtime"\fR\&. +.RS +.TP \fB"keep"\fR -.RS 4 -Do not modify the SOA serial number. -.RE -.PP +Do not modify the SOA serial number\&. +.TP \fB"increment"\fR -.RS 4 -Increment the SOA serial number using RFC 1982 arithmetics. -.RE -.PP +Increment the SOA serial number using RFC 1982 arithmetics\&. +.TP \fB"unixtime"\fR -.RS 4 -Set the SOA serial number to the number of seconds since epoch. -.RE +Set the SOA serial number to the number of seconds since epoch\&. .RE -.RE -.PP +.IP +.TP \-o \fIorigin\fR -.RS 4 -The zone origin. If not specified, the name of the zone file is assumed to be the origin. -.RE -.PP +The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&. +.TP \-O \fIoutput\-format\fR -.RS 4 -The format of the output file containing the signed zone. Possible formats are -\fB"text"\fR -(default) and -\fB"raw"\fR. -.RE -.PP +The format of the output file containing the signed zone\&. Possible formats are \fB"text"\fR (default) and \fB"raw"\fR\&. +.TP \-p -.RS 4 -Use pseudo\-random data when signing the zone. This is faster, but less secure, than using real random data. This option may be useful when signing large zones or when the entropy source is limited. -.RE -.PP +Use pseudo\-random data when signing the zone\&. This is faster, but less secure, than using real random data\&. This option may be useful when signing large zones or when the entropy source is limited\&. +.TP \-r \fIrandomdev\fR -.RS 4 -Specifies the source of randomness. If the operating system does not provide a -\fI/dev/random\fR -or equivalent device, the default source of randomness is keyboard input. -\fIrandomdev\fR -specifies the name of a character device or file containing random data to be used instead of the default. The special value -\fIkeyboard\fR -indicates that keyboard input should be used. -.RE -.PP +Specifies the source of randomness\&. If the operating system does not provide a \fI/dev/random\fR or equivalent device, the default source of randomness is keyboard input\&. \fIrandomdev\fR specifies the name of a character device or file containing random data to be used instead of the default\&. The special value \fIkeyboard\fR indicates that keyboard input should be used\&. +.TP \-t -.RS 4 -Print statistics at completion. -.RE -.PP +Print statistics at completion\&. +.TP \-v \fIlevel\fR -.RS 4 -Sets the debugging level. -.RE -.PP +Sets the debugging level\&. +.TP \-z -.RS 4 -Ignore KSK flag on key when determining what to sign. -.RE -.PP +Ignore KSK flag on key when determining what to sign\&. +.TP \-3 \fIsalt\fR -.RS 4 -Generate a NSEC3 chain with the given hex encoded salt. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain. -.RE -.PP +Generate a NSEC3 chain with the given hex encoded salt\&. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain\&. +.TP \-H \fIiterations\fR -.RS 4 -When generating a NSEC3 chain use this many interations. The default is 100. -.RE -.PP +When generating a NSEC3 chain use this many interations\&. The default is 100\&. +.TP \-A -.RS 4 -When generating a NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations. -.RE -.PP +When generating a NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations\&. +.TP zonefile -.RS 4 -The file containing the zone to be signed. -.RE -.PP +The file containing the zone to be signed\&. +.TP key -.RS 4 -Specify which keys should be used to sign the zone. If no keys are specified, then the zone will be examined for DNSKEY records at the zone apex. If these are found and there are matching private keys, in the current directory, then these will be used for signing. -.RE +Specify which keys should be used to sign the zone\&. If no keys are specified, then the zone will be examined for DNSKEY records at the zone apex\&. If these are found and there are matching private keys, in the current directory, then these will be used for signing\&. .SH "EXAMPLE" .PP -The following command signs the -\fBexample.com\fR -zone with the DSA key generated by -\fBdnssec\-keygen\fR -(Kexample.com.+003+17247). The zone's keys must be in the master file (\fIdb.example.com\fR). This invocation looks for -\fIkeyset\fR -files, in the current directory, so that DS records can be generated from them (\fB\-g\fR). -.sp -.RS 4 +The following command signs the \fBexample\&.com\fR zone with the DSA key generated by \fBdnssec\-keygen\fR (Kexample\&.com\&.+003+17247)\&. The zone's keys must be in the master file (\fIdb\&.example\&.com\fR)\&. This invocation looks for \fIkeyset\fR files, in the current directory, so that DS records can be generated from them (\fB\-g\fR)\&. .nf -% dnssec\-signzone \-g \-o example.com db.example.com \\ -Kexample.com.+003+17247 -db.example.com.signed +% dnssec\-signzone \-g \-o example\&.com db\&.example\&.com \\ +Kexample\&.com\&.+003+17247 +db\&.example\&.com\&.signed % .fi -.RE .PP -In the above example, -\fBdnssec\-signzone\fR -creates the file -\fIdb.example.com.signed\fR. This file should be referenced in a zone statement in a -\fInamed.conf\fR -file. -.PP -This example re\-signs a previously signed zone with default parameters. The private keys are assumed to be in the current directory. -.sp -.RS 4 +In the above example, \fBdnssec\-signzone\fR creates the file \fIdb\&.example\&.com\&.signed\fR\&. This file should be referenced in a zone statement in a \fInamed\&.conf\fR file\&. +.PP +This example re\-signs a previously signed zone with default parameters\&. The private keys are assumed to be in the current directory\&. .nf -% cp db.example.com.signed db.example.com -% dnssec\-signzone \-o example.com db.example.com -db.example.com.signed +% cp db\&.example\&.com\&.signed db\&.example\&.com +% dnssec\-signzone \-o example\&.com db\&.example\&.com +db\&.example\&.com\&.signed % .fi -.RE +.SH "KNOWN BUGS" +.PP + \fBdnssec\-signzone\fR was designed so that it could sign a zone partially, using only a subset of the DNSSEC keys needed to produce a fully\-signed zone\&. This permits a zone administrator, for example, to sign a zone with one key on one machine, move the resulting partially\-signed zone to a second machine, and sign it again with a second key\&. +.PP +An unfortunate side\-effect of this flexibility is that \fBdnssec\-signzone\fR does not check to make sure it's signing a zone with any valid keys at all\&. An attempt to sign a zone without any keys will appear to succeed, producing a "signed" zone with no signatures\&. There is no warning issued when a zone is not fully signed\&. +.PP +This will be corrected in a future release\&. In the meantime, ISC recommends examining the output of \fBdnssec\-signzone\fR to confirm that the zone is properly signed by all keys before using it\&. .SH "SEE ALSO" .PP -\fBdnssec\-keygen\fR(8), -BIND 9 Administrator Reference Manual, -RFC 4033. +\fBdnssec\-keygen\fR(8), BIND 9 Administrator Reference Manual, RFC 4033\&. .SH "AUTHOR" .PP -Internet Systems Consortium -.SH "COPYRIGHT" -Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC") -.br -Copyright \(co 2000\-2003 Internet Software Consortium. -.br +Internet Systems Consortium Modified: projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.c ============================================================================== --- projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.c Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.c Fri Jul 3 11:37:58 2009 (r195306) @@ -29,7 +29,7 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-signzone.c,v 1.209.12.3 2009/01/18 23:25:15 marka Exp $ */ +/* $Id: dnssec-signzone.c,v 1.209.12.8 2009/06/08 22:23:06 each Exp $ */ /*! \file */ Modified: projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.docbook ============================================================================== --- projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.docbook Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.docbook Fri Jul 3 11:37:58 2009 (r195306) @@ -2,7 +2,7 @@ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []> - + - June 30, 2000 + June 08, 2009 @@ -42,6 +42,7 @@ 2006 2007 2008 + 2009 Internet Systems Consortium, Inc. ("ISC") @@ -490,6 +491,33 @@ db.example.com.signed + KNOWN BUGS + + dnssec-signzone was designed so that it could + sign a zone partially, using only a subset of the DNSSEC keys + needed to produce a fully-signed zone. This permits a zone + administrator, for example, to sign a zone with one key on one + machine, move the resulting partially-signed zone to a second + machine, and sign it again with a second key. + + + An unfortunate side-effect of this flexibility is that + dnssec-signzone does not check to make sure + it's signing a zone with any valid keys at all. An attempt to + sign a zone without any keys will appear to succeed, producing + a "signed" zone with no signatures. There is no warning issued + when a zone is not fully signed. + + + + This will be corrected in a future release. In the meantime, ISC + recommends examining the output of dnssec-signzone + to confirm that the zone is properly signed by all keys before + using it. + + + + SEE ALSO dnssec-keygen8 Modified: projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.html ============================================================================== --- projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.html Fri Jul 3 11:20:49 2009 (r195305) +++ projects/tcp_cc_8.x/contrib/bind9/bin/dnssec/dnssec-signzone.html Fri Jul 3 11:37:58 2009 (r195306) @@ -1,5 +1,5 @@