04 Dec, 2011

1 commit

  • Open vSwitch uses Generic Netlink interface for communication
    between userspace and kernel module. genl_notify() is used
    for sending notification back to userspace.

    genl_notify() is analogous to rtnl_notify() but uses genl_sock
    instead of rtnl.

    Signed-off-by: Pravin B Shelar
    Signed-off-by: Jesse Gross

    Pravin B Shelar
     

03 Dec, 2011

4 commits


02 Dec, 2011

26 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (73 commits)
    netfilter: Remove ADVANCED dependency from NF_CONNTRACK_NETBIOS_NS
    ipv4: flush route cache after change accept_local
    sch_red: fix red_change
    Revert "udp: remove redundant variable"
    bridge: master device stuck in no-carrier state forever when in user-stp mode
    ipv4: Perform peer validation on cached route lookup.
    net/core: fix rollback handler in register_netdevice_notifier
    sch_red: fix red_calc_qavg_from_idle_time
    bonding: only use primary address for ARP
    ipv4: fix lockdep splat in rt_cache_seq_show
    sch_teql: fix lockdep splat
    net: fec: Select the FEC driver by default for i.MX SoCs
    isdn: avoid copying too long drvid
    isdn: make sure strings are null terminated
    netlabel: Fix build problems when IPv6 is not enabled
    sctp: better integer overflow check in sctp_auth_create_key()
    sctp: integer overflow in sctp_auth_create_key()
    ipv6: Set mcast_hops to IPV6_DEFAULT_MCASTHOPS when -1 was given.
    net: Fix corruption in /proc/*/net/dev_mcast
    mac80211: fix race between the AGG SM and the Tx data path
    ...

    Linus Torvalds
     
  • firewalld in Fedora 16 needs this.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Reported-by: Thomas Jarosch
    Signed-off-by: David S. Miller

    David S. Miller
     
  • After reset ipv4_devconf->data[IPV4_DEVCONF_ACCEPT_LOCAL] to 0,
    we should flush route cache, or it will continue receive packets with local
    source address, which should be dropped.

    Signed-off-by: Weiping Pan
    Signed-off-by: David S. Miller

    Peter Pan(潘卫平)
     
  • Le mercredi 30 novembre 2011 à 14:36 -0800, Stephen Hemminger a écrit :

    > (Almost) nobody uses RED because they can't figure it out.
    > According to Wikipedia, VJ says that:
    > "there are not one, but two bugs in classic RED."

    RED is useful for high throughput routers, I doubt many linux machines
    act as such devices.

    I was considering adding Adaptative RED (Sally Floyd, Ramakrishna
    Gummadi, Scott Shender), August 2001

    In this version, maxp is dynamic (from 1% to 50%), and user only have to
    setup min_th (target average queue size)
    (max_th and wq (burst in linux RED) are automatically setup)

    By the way it seems we have a small bug in red_change()

    if (skb_queue_empty(&sch->q))
    red_end_of_idle_period(&q->parms);

    First, if queue is empty, we should call
    red_start_of_idle_period(&q->parms);

    Second, since we dont use anymore sch->q, but q->qdisc, the test is
    meaningless.

    Oh well...

    [PATCH] sch_red: fix red_change()

    Now RED is classful, we must check q->qdisc->q.qlen, and if queue is empty,
    we start an idle period, not end it.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (31 commits)
    ocfs2: avoid unaligned access to dqc_bitmap
    ocfs2: Use filemap_write_and_wait() instead of write_inode_now()
    ocfs2: honor O_(D)SYNC flag in fallocate
    ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2
    ocfs2: send correct UUID to cleancache initialization
    ocfs2: Commit transactions in error cases -v2
    ocfs2: make direntry invalid when deleting it
    fs/ocfs2/dlm/dlmlock.c: free kmem_cache_zalloc'd data using kmem_cache_free
    ocfs2: Avoid livelock in ocfs2_readpage()
    ocfs2: serialize unaligned aio
    ocfs2: Implement llseek()
    ocfs2: Fix ocfs2_page_mkwrite()
    ocfs2: Add comment about orphan scanning
    ocfs2: Clean up messages in the fs
    ocfs2/cluster: Cluster up now includes network connections too
    ocfs2/cluster: Add new function o2net_fill_node_map()
    ocfs2/cluster: Fix output in file elapsed_time_in_ms
    ocfs2/dlm: dlmlock_remote() needs to account for remastery
    ocfs2/dlm: Take inflight reference count for remotely mastered resources too
    ocfs2/dlm: Cleanup dlm_wait_for_node_death() and dlm_wait_for_node_recovery()
    ...

    Linus Torvalds
     
  • The dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned,
    but not 64-bit aligned. The dqc_bitmap is accessed by ocfs2_set_bit(),
    ocfs2_clear_bit(), ocfs2_test_bit(), or ocfs2_find_next_zero_bit(). These
    are wrapper macros for ext2_*_bit() which need to take an unsigned long
    aligned address (though some architectures are able to handle unaligned
    address correctly)

    So some 64bit architectures may not be able to access the dqc_bitmap
    correctly.

    This avoids such unaligned access by using another wrapper functions for
    ext2_*_bit(). The code is taken from fs/ext4/mballoc.c which also need to
    handle unaligned bitmap access.

    Signed-off-by: Akinobu Mita
    Acked-by: Joel Becker
    Cc: Mark Fasheh
    Signed-off-by: Andrew Morton
    Signed-off-by: Joel Becker

    Akinobu Mita
     
  • * 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
    ARM: 7182/1: ARM cpu topology: fix warning
    ARM: 7181/1: Restrict kprobes probing SWP instructions to ARMv5 and below
    ARM: 7180/1: Change kprobes testcase with unpredictable STRD instruction
    ARM: 7177/1: GIC: avoid skipping non-existent PPIs in irq_start calculation
    ARM: 7176/1: cpu_pm: register GIC PM notifier only once
    ARM: 7175/1: add subname parameter to mfp_set_groupg callers
    ARM: 7174/1: Fix build error in kprobes test code on Thumb2 kernels
    ARM: 7172/1: dma: Drop GFP_COMP for DMA memory allocations
    ARM: 7171/1: unwind: add unwind directives to bitops assembly macros
    ARM: 7170/2: fix compilation breakage in entry-armv.S
    ARM: 7168/1: use cache type functions for arch_get_unmapped_area
    ARM: perf: check that we have a platform device when reserving PMU
    ARM: 7166/1: Use PMD_SHIFT instead of PGDIR_SHIFT in dma-consistent.c
    ARM: 7165/2: PL330: Fix typo in _prepare_ccr()
    ARM: 7163/2: PL330: Only register usable channels
    ARM: 7162/1: errata: tidy up Kconfig options for PL310 errata workarounds
    ARM: 7161/1: errata: no automatic store buffer drain
    ARM: perf: initialise used_mask for fake PMU during validation
    ARM: PMU: remove pmu_init declaration
    ARM: PMU: re-export release_pmu symbol to modules

    Linus Torvalds
     
  • Commit 1386be55e32a3c5d8ef4a2b243c530a7b664c02c ("dccp: fix
    auto-loading of dccp(_probe)") fixed a bug but created a new
    compiler warning:

    net/dccp/probe.c: In function ‘dccpprobe_init’:
    net/dccp/probe.c:166:2: warning: the omitted middle operand in ?: will always be ‘true’, suggest explicit middle operand [-Wparentheses]

    try_then_request_module() is built for situations where the
    "existence" test is some lookup function that returns a non-NULL
    object on success, and with a reference count of some kind held.

    Here we're looking for a success return of zero from the jprobe
    registry.

    Instead of fighting the way try_then_request_module() works, simply
    open code what we want to happen in a local helper function.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The return value isn't used.

    Suggested by Ben Hucthings.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This reverts commit 81d54ec8479a2c695760da81f05b5a9fb2dbe40a.

    If we take the "try_again" goto, due to a checksum error,
    the 'len' has already been truncated. So we won't compute
    the same values as the original code did.

    Reported-by: paul bilke
    Signed-off-by: David S. Miller

    David S. Miller
     
  • When in user-stp mode, bridge master do not follow state of its slaves, so
    after the following sequence of events it can stuck forever in no-carrier
    state:
    1) turn stp off
    2) put all slaves down - master device will follow their state and also go in
    no-carrier state
    3) turn stp on with bridge-stp script returning 0 (go to the user-stp mode)
    Now bridge master won't follow slaves' state and will never reach running
    state.

    This patch solves the problem by making user-stp and kernel-stp behavior
    similar regarding master following slaves' states.

    Signed-off-by: Vitalii Demianets
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Vitalii Demianets
     
  • Otherwise we won't notice the peer GENID change.

    Reported-by: Steffen Klassert
    Signed-off-by: David S. Miller

    David S. Miller
     
  • gcc compiler is smart enough to use a single load/store if we
    memcpy(dptr, sptr, 8) on x86_64, regardless of
    CONFIG_CC_OPTIMIZE_FOR_SIZE

    In IP header, daddr immediately follows saddr, this wont change in the
    future. We only need to make sure our flowi4 (saddr,daddr) fields wont
    break the rule.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • This also works around a bogus gcc warning generated by an
    upcoming patch from Eric Dumazet that rearranges the layout
    of struct flowi4.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This patch enables or updates support for the CC770 and AN82527
    CAN controller on the TQM8548 and TQM8xx boards.

    CC: devicetree-discuss@lists.ozlabs.org
    CC: linuxppc-dev@ozlabs.org
    CC: Kumar Gala
    Signed-off-by: Wolfgang Grandegger
    Signed-off-by: David S. Miller

    Wolfgang Grandegger
     
  • This driver works with both, static platform data and device tree
    bindings. It has been tested on a TQM855L board with two AN82527
    CAN controllers on the local bus.

    CC: Devicetree-discuss@lists.ozlabs.org
    CC: linuxppc-dev@ozlabs.org
    CC: Kumar Gala
    Signed-off-by: Wolfgang Grandegger
    Acked-by: Marc Kleine-Budde
    Signed-off-by: David S. Miller

    Wolfgang Grandegger
     
  • This patch adds support for legacy Bosch CC770 and Intel AN82527 CAN
    controllers on the ISA or PC-104 bus. The I/O port or memory address
    and the IRQ number must be specified via module parameters:

    insmod cc770_isa.ko port=0x310,0x380 irq=7,11

    for ISA devices using I/O ports or:

    insmod cc770_isa.ko mem=0xd1000,0xd1000 irq=7,11

    for memory mapped ISA devices.

    Indirect access via address and data port is supported as well:

    insmod cc770_isa.ko port=0x310,0x380 indirect=1 irq=7,11

    Furthermore, the following mode parameter can be defined:

    clk: External oscillator clock frequency (default=16000000 [16 MHz])
    cir: CPU interface register (default=0x40 [DSC])
    bcr: Bus configuration register (default=0x40 [CBY])
    cor: Clockout register (default=0x00)

    Note: for clk, cir, bcr and cor, the first argument re-defines the
    default for all other devices, e.g.:

    insmod cc770_isa.ko mem=0xd1000,0xd1000 irq=7,11 clk=24000000

    is equivalent to

    insmod cc770_isa.ko mem=0xd1000,0xd1000 irq=7,11 clk=24000000,24000000

    Signed-off-by: Wolfgang Grandegger
    Acked-by: Marc Kleine-Budde
    Signed-off-by: David S. Miller

    Wolfgang Grandegger
     
  • Signed-off-by: Wolfgang Grandegger
    Acked-by: Marc Kleine-Budde
    Signed-off-by: David S. Miller

    Wolfgang Grandegger
     
  • At this point the variable j is always set to 7 and the code within
    the loop has to run only once anyway.

    As suggested by David Miller:
    "You can simply this even further since p[7] is what is used here,
    and this means len is one, the inner loop therefore executes only
    once, and the p[7].field value is not used (it's zero in the table)
    and the write to it is completely thrown away."

    Signed-off-by: Patrick Kelle
    Signed-off-by: David S. Miller

    Patrick Kelle
     
  • commit b00055aacdb ([NET] core: add RFC2863 operstate) changed
    net_device flags from unsigned short to unsigned int.

    Some core functions still assume its an unsigned short.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Include linux/if_ether.h to fix below build errors:

    CC arch/arm/mach-kirkwood/common.o
    In file included from arch/arm/mach-kirkwood/common.c:19:
    include/net/dsa.h: In function 'dsa_uses_dsa_tags':
    include/net/dsa.h:192: error: 'ETH_P_DSA' undeclared (first use in this function)
    include/net/dsa.h:192: error: (Each undeclared identifier is reported only once
    include/net/dsa.h:192: error: for each function it appears in.)
    include/net/dsa.h: In function 'dsa_uses_trailer_tags':
    include/net/dsa.h:197: error: 'ETH_P_TRAILER' undeclared (first use in this function)
    make[1]: *** [arch/arm/mach-kirkwood/common.o] Error 1
    make: *** [arch/arm/mach-kirkwood] Error 2

    Signed-off-by: Axel Lin
    Signed-off-by: David S. Miller

    Axel Lin
     
  • ERROR: "__udivdi3" [net/sched/sch_netem.ko] undefined!

    Signed-off-by: Eric Dumazet
    Acked-by: Hagen Paul Pfeifer
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: fix meta data raid-repair merge problem
    Btrfs: skip allocation attempt from empty cluster
    Btrfs: skip block groups without enough space for a cluster
    Btrfs: start search for new cluster at the beginning
    Btrfs: reset cluster's max_size when creating bitmap
    Btrfs: initialize new bitmaps' list
    Btrfs: fix oops when calling statfs on readonly device
    Btrfs: Don't error on resizing FS to same size
    Btrfs: fix deadlock on metadata reservation when evicting a inode
    Fix URL of btrfs-progs git repository in docs
    btrfs scrub: handle -ENOMEM from init_ipath()

    Linus Torvalds
     

01 Dec, 2011

9 commits

  • Commit 4a54c8c16 introduced raid-repair, killing the individual
    readpage_io_failed_hook entries from inode.c and disk-io.c. Commit
    4bb31e92 introduced new readahead code, adding a readpage_io_failed_hook to
    disk-io.c.

    The raid-repair commit had logic to disable raid-repair, if
    readpage_io_failed_hook is set. Thus, the readahead commit effectively
    disabled raid-repair for meta data.

    This commit changes the logic to always attempt raid-repair when needed and
    call the readpage_io_failed_hook in case raid-repair fails. This is much
    more straight forward and should have been like that from the beginning.

    Signed-off-by: Jan Schmidt
    Reported-by: Stefan Behrens
    Signed-off-by: Chris Mason

    Jan Schmidt
     
  • Within nested statements, the break statement terminates only the
    do, for, switch, or while statement that immediately encloses it,
    So replace the break with goto.

    Signed-off-by: RongQing.Li
    Signed-off-by: David S. Miller

    RongQing.Li
     
  • Signed-off-by: Sjur Brændeland
    Signed-off-by: David S. Miller

    sjur.brandeland@stericsson.com
     
  • Remove unused enum cfcnfg_phy_type and the parameter to cfserl_create.

    Signed-off-by: Sjur Brændeland
    Signed-off-by: David S. Miller

    sjur.brandeland@stericsson.com
     
  • Enrolling CAIF link layers are refactored.

    Signed-off-by: Sjur Brændeland
    Signed-off-by: David S. Miller

    sjur.brandeland@stericsson.com
     
  • Allow NULL pointer in cfpkt_extr_head in order to
    skip past header data.

    Signed-off-by: Sjur Brændeland
    Signed-off-by: David S. Miller

    sjur.brandeland@stericsson.com
     
  • Since commit a4a710c4a7490587 (pkt_sched: Change PSCHED_SHIFT from 10 to
    6) it seems RED/GRED are broken.

    red_calc_qavg_from_idle_time() computes a delay in us units, but this
    delay is now 16 times bigger than real delay, so the final qavg result
    smaller than expected.

    Use standard kernel time services since there is no need to obfuscate
    them.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Currently netem is not in the ability to emulate channel bandwidth. Only static
    delay (and optional random jitter) can be configured.

    To emulate the channel rate the token bucket filter (sch_tbf) can be used. But
    TBF has some major emulation flaws. The buffer (token bucket depth/rate) cannot
    be 0. Also the idea behind TBF is that the credit (token in buckets) fills if
    no packet is transmitted. So that there is always a "positive" credit for new
    packets. In real life this behavior contradicts the law of nature where
    nothing can travel faster as speed of light. E.g.: on an emulated 1000 byte/s
    link a small IPv4/TCP SYN packet with ~50 byte require ~0.05 seconds - not 0
    seconds.

    Netem is an excellent place to implement a rate limiting feature: static
    delay is already implemented, tfifo already has time information and the
    user can skip TBF configuration completely.

    This patch implement rate feature which can be configured via tc. e.g:

    tc qdisc add dev eth0 root netem rate 10kbit

    To emulate a link of 5000byte/s and add an additional static delay of 10ms:

    tc qdisc add dev eth0 root netem delay 10ms rate 5KBps

    Note: similar to TBF the rate extension is bounded to the kernel timing
    system. Depending on the architecture timer granularity, higher rates (e.g.
    10mbit/s and higher) tend to transmission bursts. Also note: further queues
    living in network adaptors; see ethtool(8).

    Signed-off-by: Hagen Paul Pfeifer
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Hagen Paul Pfeifer
     
  • Need not to used 'delta' flag when add single-source to interface
    filter source list.

    Signed-off-by: Jun Zhao
    Signed-off-by: David S. Miller

    Jun Zhao