01 Apr, 2014

2 commits

  • This allows to monitor carrier on/off transitions and detect link
    flapping issues:
    - new /sys/class/net/X/carrier_changes
    - new rtnetlink IFLA_CARRIER_CHANGES (getlink)

    Tested:
    - grep . /sys/class/net/*/carrier_changes
    + ip link set dev X down/up
    + plug/unplug cable
    - updated iproute2: prints IFLA_CARRIER_CHANGES
    - iproute2 20121211-2 (debian): unchanged behavior

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

    david decotigny
     
  • NET_ADDR_* values are exported in the
    /sys/class/net//addr_assign_type sysfs attributes, and as such
    constitutes an user-space ABI. Move the NET_ADDR_* definitions from
    include/linux/netdevice.h to include/uapi/linux/netdevice.h

    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     

26 Mar, 2014

1 commit

  • John W. Linville says:

    ====================
    Please pull this batch of wireless updates intended for 3.15!

    For the mac80211 bits, Johannes says:

    "This has a whole bunch of bugfixes for things that went into -next
    previously as well as some other bugfixes I didn't want to rush into
    3.14 at this point. The rest of it is some cleanups and a few small
    features, the biggest of which is probably Janusz's regulatory DFS CAC
    time code."

    For the Bluetooth bits, Gustavo says:

    "One more pull request to 3.15. This is mostly and bug fix pull request, it
    contains several fixes and clean up all over the tree, plus some small new
    features."

    For the NFC bits, Samuel says:

    "This is the NFC pull request for 3.15. With this one we have:

    - Support for ISO 15693 a.k.a. NFC vicinity a.k.a. Type 5 tags. ISO
    15693 are long range (1 - 2 meters) vicinity tags/cards. The kernel
    now supports those through the NFC netlink and digital APIs.

    - Support for TI's trf7970a chipset. This chipset relies on the NFC
    digital layer and the driver currently supports type 2, 4A and 5 tags.

    - Support for NXP's pn544 secure firmare download. The pn544 C3 chipsets
    relies on a different firmware download protocal than the C2 one. We
    now support both and use the right one depending on the version we
    detect at runtime.

    - Support for 4A tags from the NFC digital layer.

    - A bunch of cleanups and minor fixes from Axel Lin and Thierry Escande."

    For the iwlwifi bits, Emmanuel says:

    "We were sending a host command while the mutex wasn't held. This
    led to hard-to-catch races."

    And...

    "I have a fix for a "merge damage" which is not really a merge
    damage: it enables scheduled scan which has been disabled in
    wireless.git. Since you merged wireless.git into wireless-next.git,
    this can now be fixed in wireless-next.git.

    Besides this, Alex made a workaround for a hardware bug. This fix
    allows us to consume less power in S3. Arik and Eliad continue to
    work on D0i3 which is a run-time power saving feature. Eliad also
    contributes a few bits to the rate scaling logic to which Eyal adds his
    own contribution. Avri dives deep in the power code - newer firmware
    will allow to enable power save in newer scenarios. Johannes made a few
    clean-ups. I have the regular amount of BT Coex boring stuff. I disable
    uAPSD since we identified firmware bugs that cause packet loss. One
    thing that do stand out is the udev event that we now send when the
    FW asserts. I hope it will allow us to debug the FW more easily."

    Also included is one last iwlwifi pull for a build breakage fix...

    For the Atheros bits, Kalle says:

    "Michal now did some optimisations and was able to improve throughput by
    100 Mbps on our MIPS based AP135 platform. Chun-Yeow added some
    workarounds to be able to better use ad-hoc mode. Ben improved log
    messages and added support for MSDU chaining. And, as usual, also some
    smaller fixes."

    Beyond that...

    Andrea Merello continues his rtl8180 refactoring, in preparation for
    a long-awaited rtl8187 driver. We get a new driver (rsi) for the
    RS9113 chip, from Fariya Fatima. And, of course, we get the usual
    round of updates for ath9k, brcmfmac, mwifiex, wil6210, etc. as well.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

22 Mar, 2014

2 commits


21 Mar, 2014

1 commit

  • This patch adds the MBIM extended functional descriptor structure
    defined in "Universal Serial Bus Communications Class Subclass
    Specification for Mobile Broadband Interface Model, Revision 1.0,
    Errata-1" published by USB-IF.

    Signed-off-by: Ben Chan
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: David S. Miller

    Ben Chan
     

20 Mar, 2014

1 commit


19 Mar, 2014

1 commit

  • Steffen Klassert says:

    ====================
    One patch to rename a newly introduced struct. The rest is
    the rework of the IPsec virtual tunnel interface for ipv6 to
    support inter address family tunneling and namespace crossing.

    1) Rename the newly introduced struct xfrm_filter to avoid a
    conflict with iproute2. From Nicolas Dichtel.

    2) Introduce xfrm_input_afinfo to access the address family
    dependent tunnel callback functions properly.

    3) Add and use a IPsec protocol multiplexer for ipv6.

    4) Remove dst_entry caching. vti can lookup multiple different
    dst entries, dependent of the configured xfrm states. Therefore
    it does not make to cache a dst_entry.

    5) Remove caching of flow informations. vti6 does not use the the
    tunnel endpoint addresses to do route and xfrm lookups.

    6) Update the vti6 to use its own receive hook.

    7) Remove the now unused xfrm_tunnel_notifier. This was used from vti
    and is replaced by the IPsec protocol multiplexer hooks.

    8) Support inter address family tunneling for vti6.

    9) Check if the tunnel endpoints of the xfrm state and the vti interface
    are matching and return an error otherwise.

    10) Enable namespace crossing for vti devices.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

18 Mar, 2014

2 commits

  • Pablo Neira Ayuso says:

    ====================
    Netfilter/IPVS updates for net-next

    The following patchset contains Netfilter/IPVS updates for net-next,
    most relevantly they are:

    * cleanup to remove double semicolon from stephen hemminger.

    * calm down sparse warning in xt_ipcomp, from Fan Du.

    * nf_ct_labels support for nf_tables, from Florian Westphal.

    * new macros to simplify rcu dereferences in the scope of nfnetlink
    and nf_tables, from Patrick McHardy.

    * Accept queue and drop (including reason for drop) to verdict
    parsing in nf_tables, also from Patrick.

    * Remove unused random seed initialization in nfnetlink_log, from
    Florian Westphal.

    * Allow to attach user-specific information to nf_tables rules, useful
    to attach user comments to rule, from me.

    * Return errors in ipset according to the manpage documentation, from
    Jozsef Kadlecsik.

    * Fix coccinelle warnings related to incorrect bool type usage for ipset,
    from Fengguang Wu.

    * Add hash:ip,mark set type to ipset, from Vytas Dauksa.

    * Fix message for each spotted by ipset for each netns that is created,
    from Ilia Mirkin.

    * Add forceadd option to ipset, which evicts a random entry from the set
    if it becomes full, from Josh Hunt.

    * Minor IPVS cleanups and fixes from Andi Kleen and Tingwei Liu.

    * Improve conntrack scalability by removing a central spinlock, original
    work from Eric Dumazet. Jesper Dangaard Brouer took them over to address
    remaining issues. Several patches to prepare this change come in first
    place.

    * Rework nft_hash to resolve bugs (leaking chain, missing rcu synchronization
    on element removal, etc. from Patrick McHardy.

    * Restore context in the rule deletion path, as we now release rule objects
    synchronously, from Patrick McHardy. This gets back event notification for
    anonymous sets.

    * Fix NAT family validation in nft_nat, also from Patrick.

    * Improve scalability of xt_connlimit by using an array of spinlocks and
    by introducing a rb-tree of hashtables for faster lookup of accounted
    objects per network. This patch was preceded by several patches and
    refactorizations to accomodate this change including the use of kmem_cache,
    from Florian Westphal.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Samuel Ortiz says:

    "NFC: 3.15: First pull request

    This is the NFC pull request for 3.15. With this one we have:

    - Support for ISO 15693 a.k.a. NFC vicinity a.k.a. Type 5 tags. ISO
    15693 are long range (1 - 2 meters) vicinity tags/cards. The kernel
    now supports those through the NFC netlink and digital APIs.

    - Support for TI's trf7970a chipset. This chipset relies on the NFC
    digital layer and the driver currently supports type 2, 4A and 5 tags.

    - Support for NXP's pn544 secure firmare download. The pn544 C3 chipsets
    relies on a different firmware download protocal than the C2 one. We
    now support both and use the right one depending on the version we
    detect at runtime.

    - Support for 4A tags from the NFC digital layer.

    - A bunch of cleanups and minor fixes from Axel Lin and Thierry Escande."

    Signed-off-by: John W. Linville

    John W. Linville
     

15 Mar, 2014

1 commit

  • Per IEEE 802.3*, the correct packet type for loopback 0x9000. There's
    already one ETH_P_LOOP 0x0060, which has been there for ages, however it's
    plainly wrong as anything that small is considered a length field.

    We can't remove it because legacy, so add a new type which corresponds to
    the correct id.

    http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml

    CC: "David S. Miller"
    CC: Stefan Richter
    CC: Simon Wunderlich
    CC: Neil Jerram
    CC: Simon Horman
    CC: Arvid Brodin
    Signed-off-by: Veaceslav Falico
    Signed-off-by: David S. Miller

    Veaceslav Falico
     

14 Mar, 2014

1 commit


07 Mar, 2014

3 commits

  • The configuration for CAN FD depends on CAN_CTRLMODE_FD enabled in the driver
    specific ctrlmode_supported capabilities.

    The configuration can be done either with the 'fd { on | off }' option in the
    'ip' tool from iproute2 or by setting the CAN netdevice MTU to CAN_MTU (16) or
    to CANFD_MTU (72).

    Signed-off-by: Oliver Hartkopp
    Acked-by: Stephane Grosjean
    Signed-off-by: Marc Kleine-Budde

    Oliver Hartkopp
     
  • As CAN FD offers a second bitrate for the data section of the CAN frame the
    infrastructure for storing and configuring this second bitrate is introduced.
    Improved the readability of the if-statement by inserting some newlines.

    Signed-off-by: Oliver Hartkopp
    Acked-by: Stephane Grosjean
    Signed-off-by: Marc Kleine-Budde

    Oliver Hartkopp
     
  • iproute2 already defines a structure with that name, let's use another one to
    avoid any conflict.

    CC: Stephen Hemminger
    Signed-off-by: Nicolas Dichtel
    Signed-off-by: Steffen Klassert

    Nicolas Dichtel
     

06 Mar, 2014

6 commits

  • Adds a new property for hash set types, where if a set is created
    with the 'forceadd' option and the set becomes full the next addition
    to the set may succeed and evict a random entry from the set.

    To keep overhead low eviction is done very simply. It checks to see
    which bucket the new entry would be added. If the bucket's pos value
    is non-zero (meaning there's at least one entry in the bucket) it
    replaces the first entry in the bucket. If pos is zero, then it continues
    down the normal add process.

    This property is useful if you have a set for 'ban' lists where it may
    not matter if you release some entries from the set early.

    Signed-off-by: Josh Hunt
    Signed-off-by: Jozsef Kadlecsik

    Josh Hunt
     
  • commit 2dfb973c0dcc6d2211 (add markmask for hash:ip,mark data type)
    inserted IPSET_ATTR_MARKMASK in-between other enum values, i.e.
    changing values of all further attributes. This causes 'ipset list'
    segfault on existing kernels since ipset no longer finds
    IPSET_ATTR_MEMSIZE (it has a different value on kernel side).

    Jozsef points out it should be moved below IPSET_ATTR_MARK which
    works since there is some extra reserved space after that value.

    Signed-off-by: Florian Westphal
    Signed-off-by: Jozsef Kadlecsik

    Florian Westphal
     
  • Signed-off-by: Jozsef Kadlecsik

    Jozsef Kadlecsik
     
  • Introduce packet mark mask for hash:ip,mark data type. This allows to
    set mark bit filter for the ip set.

    Change-Id: Id8dd9ca7e64477c4f7b022a1d9c1a5b187f1c96e

    Signed-off-by: Jozsef Kadlecsik

    Vytas Dauksa
     
  • Introduce packet mark support with new ip,mark hash set. This includes
    userspace and kernelspace code, hash:ip,mark set tests and man page
    updates.

    The intended use of ip,mark set is similar to the ip:port type, but for
    protocols which don't use a predictable port number. Instead of port
    number it matches a firewall mark determined by a layer 7 filtering
    program like opendpi.

    As well as allowing or blocking traffic it will also be used for
    accounting packets and bytes sent for each protocol.

    Signed-off-by: Jozsef Kadlecsik

    Vytas Dauksa
     
  • Conflicts:
    drivers/net/wireless/ath/ath9k/recv.c
    drivers/net/wireless/mwifiex/pcie.c
    net/ipv6/sit.c

    The SIT driver conflict consists of a bug fix being done by hand
    in 'net' (missing u64_stats_init()) whilst in 'net-next' a helper
    was created (netdev_alloc_pcpu_stats()) which takes care of this.

    The two wireless conflicts were overlapping changes.

    Signed-off-by: David S. Miller

    David S. Miller
     

05 Mar, 2014

2 commits


04 Mar, 2014

1 commit

  • Add the following snmp stats:

    TCPFastOpenActiveFail: Fast Open attempts (SYN/data) failed beacuse
    the remote does not accept it or the attempts timed out.

    TCPSynRetrans: number of SYN and SYN/ACK retransmits to break down
    retransmissions into SYN, fast-retransmits, timeout retransmits, etc.

    TCPOrigDataSent: number of outgoing packets with original data (excluding
    retransmission but including data-in-SYN). This counter is different from
    TcpOutSegs because TcpOutSegs also tracks pure ACKs. TCPOrigDataSent is
    more useful to track the TCP retransmission rate.

    Change TCPFastOpenActive to track only successful Fast Opens to be symmetric to
    TCPFastOpenPassive.

    Signed-off-by: Yuchung Cheng
    Signed-off-by: Eric Dumazet
    Signed-off-by: Nandita Dukkipati
    Signed-off-by: Lawrence Brakmo
    Signed-off-by: David S. Miller

    Yuchung Cheng
     

28 Feb, 2014

2 commits

  • These are private to userspace, and they're unstable
    anyway and can be shuffled at will (see 080e4130b1fb)
    so any userspace application relying on them is on crack.

    Test compiled with allyesconfig.

    mcgrof@drvbp1 /pub/mem/mcgrof/net-next (git::master)$ make allyesconfig
    mcgrof@drvbp1 /pub/mem/mcgrof/net-next (git::master)$ time make -j 20
    ...
    BUILD arch/x86/boot/bzImage
    Setup is 16992 bytes (padded to 17408 bytes).
    System is 56153 kB
    CRC 721d2751
    Kernel: arch/x86/boot/bzImage is ready (#1)
    real 19m35.744s
    user 280m37.984s
    sys 27m54.104s

    Cc: netdev@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Ben Hutchings
    Cc: Florian Fainelli
    Cc: David Miller
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: David S. Miller

    Luis R. Rodriguez
     
  • We have documentation for these flags but they're scattered
    all over the place. #defines don't allow documentation to be
    written easily so to help to start bringing some documentation
    together use the enums kdoc practice but keep the defines to
    allow userspace to be able to #ifdef them.

    I've verified the same values are assigned before and after
    with a simple userspace test program [0] and checksumming the
    output.

    [0] http://drvbp1.linux-foundation.org/~mcgrof/kdoc/netdev_flags/

    mcgrof@gnat ~/tmp $ ./check-flags | sha1sum
    0ec5b6b1840aa3bb9ce464e61c564820871c92c3 -

    Cc: netdev@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Ben Hutchings
    Cc: Florian Fainelli
    Cc: David Miller
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: David S. Miller

    Luis R. Rodriguez
     

27 Feb, 2014

6 commits

  • This allows us to store user comment strings, but it could be also
    used to store any kind of information that the user application needs
    to link to the rule.

    Scratch 8 bits for the new ulen field that indicates the length the
    user data area. 4 bits from the handle (so it's 42 bits long, according
    to Patrick, it would last 139 years with 1000 new rules per second)
    and 4 bits from dlen (so the expression data area is 4K, which seems
    sufficient by now even considering the compatibility layer).

    Signed-off-by: Pablo Neira Ayuso
    Acked-by: Patrick McHardy

    Pablo Neira Ayuso
     
  • Upcoming congestion controls for TCP require usec resolution for RTT
    estimations. Millisecond resolution is simply not enough these days.

    FQ/pacing in DC environments also require this change for finer control
    and removal of bimodal behavior due to the current hack in
    tcp_update_pacing_rate() for 'small rtt'

    TCP_CONG_RTT_STAMP is no longer needed.

    As Julian Anastasov pointed out, we need to keep user compatibility :
    tcp_metrics used to export RTT and RTTVAR in msec resolution,
    so we added RTT_US and RTTVAR_US. An iproute2 patch is needed
    to use the new attributes if provided by the kernel.

    In this example ss command displays a srtt of 32 usecs (10Gbit link)

    lpk51:~# ./ss -i dst lpk52
    Netid State Recv-Q Send-Q Local Address:Port Peer
    Address:Port
    tcp ESTAB 0 1 10.246.11.51:42959
    10.246.11.52:64614
    cubic wscale:6,6 rto:201 rtt:0.032/0.001 ato:40 mss:1448
    cwnd:10 send
    3620.0Mbps pacing_rate 7240.0Mbps unacked:1 rcv_rtt:993 rcv_space:29559

    Updated iproute2 ip command displays :

    lpk51:~# ./ip tcp_metrics | grep 10.246.11.52
    10.246.11.52 age 561.914sec cwnd 10 rtt 274us rttvar 213us source
    10.246.11.51

    Old binary displays :

    lpk51:~# ip tcp_metrics | grep 10.246.11.52
    10.246.11.52 age 561.914sec cwnd 10 rtt 250us rttvar 125us source
    10.246.11.51

    With help from Julian Anastasov, Stephen Hemminger and Yuchung Cheng

    Signed-off-by: Eric Dumazet
    Acked-by: Neal Cardwell
    Cc: Stephen Hemminger
    Cc: Yuchung Cheng
    Cc: Larry Brakmo
    Cc: Julian Anastasov
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • This option has the same semantic as IP_PMTUDISC_OMIT for IPv4 which
    got recently introduced. It doesn't honor the path mtu discovered by the
    host but in contrary to IPV6_PMTUDISC_INTERFACE allows the generation of
    fragments if the packet size exceeds the MTU of the outgoing interface
    MTU.

    Fixes: 93b36cf3425b9b ("ipv6: support IPV6_PMTU_INTERFACE on sockets")
    Cc: Florian Weimer
    Signed-off-by: Hannes Frederic Sowa
    Signed-off-by: David S. Miller

    Hannes Frederic Sowa
     
  • IP_PMTUDISC_INTERFACE has a design error: because it does not allow the
    generation of fragments if the interface mtu is exceeded, it is very
    hard to make use of this option in already deployed name server software
    for which I introduced this option.

    This patch adds yet another new IP_MTU_DISCOVER option to not honor any
    path mtu information and not accepting new icmp notifications destined for
    the socket this option is enabled on. But we allow outgoing fragmentation
    in case the packet size exceeds the outgoing interface mtu.

    As such this new option can be used as a drop-in replacement for
    IP_PMTUDISC_DONT, which is currently in use by most name server software
    making the adoption of this option very smooth and easy.

    The original advantage of IP_PMTUDISC_INTERFACE is still maintained:
    ignoring incoming path MTU updates and not honoring discovered path MTUs
    in the output path.

    Fixes: 482fc6094afad5 ("ipv4: introduce new IP_MTU_DISCOVER mode IP_PMTUDISC_INTERFACE")
    Cc: Florian Weimer
    Signed-off-by: Hannes Frederic Sowa
    Signed-off-by: David S. Miller

    Hannes Frederic Sowa
     
  • Three counters are added:
    - one to track when we went from non-zero to zero window
    - one to track the reverse
    - one counter incremented when we want to announce zero window,
    but can't because we would shrink current window.

    Suggested-by: Eric Dumazet
    Signed-off-by: Florian Westphal
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Florian Westphal
     
  • All ethertypes other than ETH_P_MPLS_UC, ETH_P_MPLS_MC and
    ETH_P_ATMMPOA were already ordered numerically. This commit moves
    those three ETH_P_... values into correct numerical order too.

    Signed-off-by: Neil Jerram
    Signed-off-by: David S. Miller

    Neil Jerram
     

26 Feb, 2014

1 commit

  • Introduce DFS CAC time as a regd param, configured per REG_RULE and
    set per channel in cfg80211. DFS CAC time is close connected with
    regulatory database configuration. Instead of using hardcoded values,
    get DFS CAC time form regulatory database. Pass DFS CAC time to user
    mode (mainly for iw reg get, iw list, iw info). Allow setting DFS CAC
    time via CRDA. Add support for internal regulatory database.

    Signed-off-by: Janusz Dziedzic
    [rewrap commit log]
    Signed-off-by: Johannes Berg

    Janusz Dziedzic
     

25 Feb, 2014

1 commit

  • Steffen Klassert says:

    ====================
    1) Introduce skb_to_sgvec_nomark function to add further data to the sg list
    without calling sg_unmark_end first. Needed to add extended sequence
    number informations. From Fan Du.

    2) Add IPsec extended sequence numbers support to the Authentication Header
    protocol for ipv4 and ipv6. From Fan Du.

    3) Make the IPsec flowcache namespace aware, from Fan Du.

    4) Avoid creating temporary SA for every packet when no key manager is
    registered. From Horia Geanta.

    5) Support filtering of SA dumps to show only the SAs that match a
    given filter. From Nicolas Dichtel.

    6) Remove caching of xfrm_policy_sk_bundles. The cached socket policy bundles
    are never used, instead we create a new cache entry whenever xfrm_lookup()
    is called on a socket policy. Most protocols cache the used routes to the
    socket, so this caching is not needed.

    7) Fix a forgotten SADB_X_EXT_FILTER length check in pfkey, from Nicolas
    Dichtel.

    8) Cleanup error handling of xfrm_state_clone.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

24 Feb, 2014

1 commit

  • Add the sched_setattr and sched_getattr syscalls to the generic syscall
    list, which is used by the following architectures: arc, arm64, c6x,
    hexagon, metag, openrisc, score, tile, unicore32.

    Signed-off-by: James Hogan
    Acked-by: Arnd Bergmann
    Acked-by: Catalin Marinas
    Cc: linux-arch@vger.kernel.org
    Cc: Vineet Gupta
    Cc: Will Deacon
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Mark Salter
    Cc: Aurelien Jacquiot
    Cc: linux-c6x-dev@linux-c6x.org
    Cc: Richard Kuo
    Cc: linux-hexagon@vger.kernel.org
    Cc: linux-metag@vger.kernel.org
    Cc: Jonas Bonn
    Cc: linux@lists.openrisc.net
    Cc: Chen Liqin
    Cc: Lennox Wu
    Cc: Chris Metcalf
    Cc: Guan Xuetao

    James Hogan
     

21 Feb, 2014

2 commits


20 Feb, 2014

3 commits