06 Jul, 2017

1 commit

  • Pull networking updates from David Miller:
    "Reasonably busy this cycle, but perhaps not as busy as in the 4.12
    merge window:

    1) Several optimizations for UDP processing under high load from
    Paolo Abeni.

    2) Support pacing internally in TCP when using the sch_fq packet
    scheduler for this is not practical. From Eric Dumazet.

    3) Support mutliple filter chains per qdisc, from Jiri Pirko.

    4) Move to 1ms TCP timestamp clock, from Eric Dumazet.

    5) Add batch dequeueing to vhost_net, from Jason Wang.

    6) Flesh out more completely SCTP checksum offload support, from
    Davide Caratti.

    7) More plumbing of extended netlink ACKs, from David Ahern, Pablo
    Neira Ayuso, and Matthias Schiffer.

    8) Add devlink support to nfp driver, from Simon Horman.

    9) Add RTM_F_FIB_MATCH flag to RTM_GETROUTE queries, from Roopa
    Prabhu.

    10) Add stack depth tracking to BPF verifier and use this information
    in the various eBPF JITs. From Alexei Starovoitov.

    11) Support XDP on qed device VFs, from Yuval Mintz.

    12) Introduce BPF PROG ID for better introspection of installed BPF
    programs. From Martin KaFai Lau.

    13) Add bpf_set_hash helper for TC bpf programs, from Daniel Borkmann.

    14) For loads, allow narrower accesses in bpf verifier checking, from
    Yonghong Song.

    15) Support MIPS in the BPF selftests and samples infrastructure, the
    MIPS eBPF JIT will be merged in via the MIPS GIT tree. From David
    Daney.

    16) Support kernel based TLS, from Dave Watson and others.

    17) Remove completely DST garbage collection, from Wei Wang.

    18) Allow installing TCP MD5 rules using prefixes, from Ivan
    Delalande.

    19) Add XDP support to Intel i40e driver, from Björn Töpel

    20) Add support for TC flower offload in nfp driver, from Simon
    Horman, Pieter Jansen van Vuuren, Benjamin LaHaise, Jakub
    Kicinski, and Bert van Leeuwen.

    21) IPSEC offloading support in mlx5, from Ilan Tayari.

    22) Add HW PTP support to macb driver, from Rafal Ozieblo.

    23) Networking refcount_t conversions, From Elena Reshetova.

    24) Add sock_ops support to BPF, from Lawrence Brako. This is useful
    for tuning the TCP sockopt settings of a group of applications,
    currently via CGROUPs"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1899 commits)
    net: phy: dp83867: add workaround for incorrect RX_CTRL pin strap
    dt-bindings: phy: dp83867: provide a workaround for incorrect RX_CTRL pin strap
    cxgb4: Support for get_ts_info ethtool method
    cxgb4: Add PTP Hardware Clock (PHC) support
    cxgb4: time stamping interface for PTP
    nfp: default to chained metadata prepend format
    nfp: remove legacy MAC address lookup
    nfp: improve order of interfaces in breakout mode
    net: macb: remove extraneous return when MACB_EXT_DESC is defined
    bpf: add missing break in for the TCP_BPF_SNDCWND_CLAMP case
    bpf: fix return in load_bpf_file
    mpls: fix rtm policy in mpls_getroute
    net, ax25: convert ax25_cb.refcount from atomic_t to refcount_t
    net, ax25: convert ax25_route.refcount from atomic_t to refcount_t
    net, ax25: convert ax25_uid_assoc.refcount from atomic_t to refcount_t
    net, sctp: convert sctp_ep_common.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_transport.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_chunk.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_datamsg.refcnt from atomic_t to refcount_t
    net, sctp: convert sctp_auth_bytes.refcnt from atomic_t to refcount_t
    ...

    Linus Torvalds
     

21 Jun, 2017

1 commit

  • follow Johannes Berg, semantic patch file as below,
    @@
    identifier p, p2;
    expression len;
    expression skb;
    type t, t2;
    @@
    (
    -p = __skb_put(skb, len);
    +p = __skb_put_zero(skb, len);
    |
    -p = (t)__skb_put(skb, len);
    +p = __skb_put_zero(skb, len);
    )
    ... when != p
    (
    p2 = (t2)p;
    -memset(p2, 0, len);
    |
    -memset(p, 0, len);
    )

    @@
    identifier p;
    expression len;
    expression skb;
    type t;
    @@
    (
    -t p = __skb_put(skb, len);
    +t p = __skb_put_zero(skb, len);
    )
    ... when != p
    (
    -memset(p, 0, len);
    )

    @@
    type t, t2;
    identifier p, p2;
    expression skb;
    @@
    t *p;
    ...
    (
    -p = __skb_put(skb, sizeof(t));
    +p = __skb_put_zero(skb, sizeof(t));
    |
    -p = (t *)__skb_put(skb, sizeof(t));
    +p = __skb_put_zero(skb, sizeof(t));
    )
    ... when != p
    (
    p2 = (t2)p;
    -memset(p2, 0, sizeof(*p));
    |
    -memset(p, 0, sizeof(*p));
    )

    @@
    expression skb, len;
    @@
    -memset(__skb_put(skb, len), 0, len);
    +__skb_put_zero(skb, len);

    @@
    expression skb, len, data;
    @@
    -memcpy(__skb_put(skb, len), data, len);
    +__skb_put_data(skb, data, len);

    @@
    expression SKB, C, S;
    typedef u8;
    identifier fn = {__skb_put};
    fresh identifier fn2 = fn ## "_u8";
    @@
    - *(u8 *)fn(SKB, S) = C;
    + fn2(SKB, C);

    Signed-off-by: yuan linyu
    Signed-off-by: David S. Miller

    yuan linyu
     

16 Jun, 2017

1 commit

  • A common pattern with skb_put() is to just want to memcpy()
    some data into the new space, introduce skb_put_data() for
    this.

    An spatch similar to the one for skb_put_zero() converts many
    of the places using it:

    @@
    identifier p, p2;
    expression len, skb, data;
    type t, t2;
    @@
    (
    -p = skb_put(skb, len);
    +p = skb_put_data(skb, data, len);
    |
    -p = (t)skb_put(skb, len);
    +p = skb_put_data(skb, data, len);
    )
    (
    p2 = (t2)p;
    -memcpy(p2, data, len);
    |
    -memcpy(p, data, len);
    )

    @@
    type t, t2;
    identifier p, p2;
    expression skb, data;
    @@
    t *p;
    ...
    (
    -p = skb_put(skb, sizeof(t));
    +p = skb_put_data(skb, data, sizeof(t));
    |
    -p = (t *)skb_put(skb, sizeof(t));
    +p = skb_put_data(skb, data, sizeof(t));
    )
    (
    p2 = (t2)p;
    -memcpy(p2, data, sizeof(*p));
    |
    -memcpy(p, data, sizeof(*p));
    )

    @@
    expression skb, len, data;
    @@
    -memcpy(skb_put(skb, len), data, len);
    +skb_put_data(skb, data, len);

    (again, manually post-processed to retain some comments)

    Reviewed-by: Stephen Hemminger
    Signed-off-by: Johannes Berg
    Signed-off-by: David S. Miller

    Johannes Berg
     

15 May, 2017

1 commit


08 Mar, 2017

1 commit

  • A cleanup patch left one local variable without a reference:

    drivers/staging/octeon/ethernet-rx.c:339:28: warning: unused variable 'priv' [-Wunused-variable]

    This removes the declaration too.

    Fixes: 66812da3a689 ("staging: octeon: Use net_device_stats from struct net_device")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

23 Feb, 2017

1 commit

  • Pull staging/iio driver updates from Greg KH:
    "Here is the big staging and iio driver patchsets for 4.11-rc1.

    We almost broke even this time around, with only a few thousand lines
    added overall, as we removed the old and obsolete i4l code, but added
    some new drivers for the RPi platform, as well as adding some new IIO
    drivers.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'staging-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (669 commits)
    Staging: vc04_services: Fix the "space prohibited" code style errors
    Staging: vc04_services: Fix the "wrong indent" code style errors
    staging: octeon: Use net_device_stats from struct net_device
    Staging: rtl8192u: ieee80211: ieee80211.h - style fix
    Staging: rtl8192u: ieee80211: ieee80211_tx.c - style fix
    Staging: rtl8192u: ieee80211: rtl819x_BAProc.c - style fix
    Staging: rtl8192u: ieee80211: ieee80211_module.c - style fix
    Staging: rtl8192u: ieee80211: rtl819x_TSProc.c - style fix
    Staging: rtl8192u: r8192U.h - style fix
    Staging: rtl8192u: r8192U_core.c - style fix
    Staging: rtl8192u: r819xU_cmdpkt.c - style fix
    staging: rtl8192u: blank lines aren't necessary before a close brace '}'
    staging: rtl8192u: Adding space after enum and struct definition
    staging: rtl8192u: Adding space after struct definition
    Staging: ks7010: Add required and preferred spaces around operators
    Staging: ks7010: ks*: Remove redundant blank lines
    Staging: ks7010: ks*: Add missing blank lines after declarations
    staging: visorbus, replace init_timer with setup_timer
    staging: vt6656: rxtx.c Removed multiple dereferencing
    staging: vt6656: Alignment match open parenthesis
    ...

    Linus Torvalds
     

17 Feb, 2017

1 commit


05 Feb, 2017

1 commit

  • This patch fix the line over 80 characters warning that was detected
    using checkpatch.pl script.

    Fixes: 6fe5efa1415c ('staging: octeon: Convert create_singlethread_workqueue()')
    Cc: Bhaktipriya Shridhar
    Signed-off-by: Kamal Heib
    Signed-off-by: Greg Kroah-Hartman

    Kamal Heib
     

31 Jan, 2017

1 commit

  • napi_complete_done() allows to opt-in for gro_flush_timeout,
    added back in linux-3.19, commit 3b47d30396ba
    ("net: gro: add a per device gro flush timer")

    This allows for more efficient GRO aggregation without
    sacrifying latencies.

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

    Eric Dumazet
     

10 Jan, 2017

1 commit


09 Jan, 2017

1 commit

  • Extract the remaining two fields from tc_verd and remove the __u16
    completely. TC_AT and TC_FROM are converted to equivalent two-bit
    integer fields tc_at and tc_from. Where possible, use existing
    helper skb_at_tc_ingress when reading tc_at. Introduce helper
    skb_reset_tc to clear fields.

    Not documenting tc_from and tc_at, because they will be replaced
    with single bit fields in follow-on patches.

    Signed-off-by: Willem de Bruijn
    Signed-off-by: David S. Miller

    Willem de Bruijn
     

04 Jan, 2017

1 commit

  • The Octeon driver calls into PHYLIB which now checks for
    net_device->dev.parent, so make sure we do set it before calling into
    any MDIO/PHYLIB related function.

    Fixes: ec988ad78ed6 ("phy: Don't increment MDIO bus refcount unless it's a different owner")
    Reported-by: Aaro Koskinen
    Cc: stable # 4.9+
    Signed-off-by: Florian Fainelli
    Signed-off-by: Greg Kroah-Hartman

    Florian Fainelli
     

18 Oct, 2016

1 commit

  • et131x: min_mtu 64, max_mtu 9216

    altera_tse: min_mtu 64, max_mtu 1500

    amd8111e: min_mtu 60, max_mtu 9000

    bnad: min_mtu 46, max_mtu 9000

    macb: min_mtu 68, max_mtu 1500 or 10240 depending on hardware capability

    xgmac: min_mtu 46, max_mtu 9000

    cxgb2: min_mtu 68, max_mtu 9582 (pm3393) or 9600 (vsc7326)

    enic: min_mtu 68, max_mtu 9000

    gianfar: min_mtu 50, max_mu 9586

    hns_enet: min_mtu 68, max_mtu 9578 (v1) or 9706 (v2)

    ksz884x: min_mtu 60, max_mtu 1894

    myri10ge: min_mtu 68, max_mtu 9000

    natsemi: min_mtu 64, max_mtu 2024

    nfp: min_mtu 68, max_mtu hardware-specific

    forcedeth: min_mtu 64, max_mtu 1500 or 9100, depending on hardware

    pch_gbe: min_mtu 46, max_mtu 10300

    pasemi_mac: min_mtu 64, max_mtu 9000

    qcaspi: min_mtu 46, max_mtu 1500
    - remove qcaspi_netdev_change_mtu as it is now redundant

    rocker: min_mtu 68, max_mtu 9000

    sxgbe: min_mtu 68, max_mtu 9000

    stmmac: min_mtu 46, max_mtu depends on hardware

    tehuti: min_mtu 60, max_mtu 16384
    - driver had no max mtu checking, but product docs say 16k jumbo packets
    are supported by the hardware

    netcp: min_mtu 68, max_mtu 9486
    - remove netcp_ndo_change_mtu as it is now redundant

    via-velocity: min_mtu 64, max_mtu 9000

    octeon: min_mtu 46, max_mtu 65370

    CC: netdev@vger.kernel.org
    CC: Mark Einon
    CC: Vince Bridgers
    CC: Rasesh Mody
    CC: Nicolas Ferre
    CC: Santosh Raspatur
    CC: Hariprasad S
    CC: Christian Benvenuti
    CC: Sujith Sankar
    CC: Govindarajulu Varadarajan
    CC: Neel Patel
    CC: Claudiu Manoil
    CC: Yisen Zhuang
    CC: Salil Mehta
    CC: Hyong-Youb Kim
    CC: Jakub Kicinski
    CC: Olof Johansson
    CC: Jiri Pirko
    CC: Byungho An
    CC: Girish K S
    CC: Vipul Pandya
    CC: Giuseppe Cavallaro
    CC: Alexandre Torgue
    CC: Andy Gospodarek
    CC: Wingman Kwok
    CC: Murali Karicheri
    CC: Francois Romieu
    Signed-off-by: Jarod Wilson
    Signed-off-by: David S. Miller

    Jarod Wilson
     

20 Sep, 2016

1 commit


18 Sep, 2016

1 commit


16 Sep, 2016

2 commits


12 Sep, 2016

1 commit


02 Sep, 2016

12 commits


01 Sep, 2016

1 commit


22 Aug, 2016

5 commits


28 Mar, 2016

2 commits


12 Mar, 2016

2 commits