Netdev List
 help / color / mirror / Atom feed
* [GIT] Networking
From: David Miller @ 2014-02-11  7:14 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, netdev, linux-kernel


1) Fix flexcan build on big endian, from Arnd Bergmann.

2) Correctly attach cpsw to GPIO bitbang MDIO drive, from Stefan Roese.

3) udp_add_offload has to use GFP_ATOMIC since it can be invoked from
   non-sleepable contexts.  From Or Gerlitz.

4) vxlan_gro_receive() does not iterate over all possible flows properly,
   fix also from Or Gerlitz.

5) CAN core doesn't use a proper SKB destructor when it hooks up sockets
   to SKBs.  Fix from Oliver Hartkopp.

6) ip_tunnel_xmit() can use an uninitialized route pointer, fix from
   Eric Dumazet.

7) Fix address family assignment in IPVS, from Michal Kubecek.

8) Fix ath9k build on ARM, from Sujith Manoharan.

9) Make sure fail_over_mac only applies for the correct bonding modes,
   from Ding Tianhong.

10) The udp offload code doesn't use RCU correctly, from Shlomo Pongratz.

11) Handle gigabit features properly in generic PHY code, from Florian
    Fainelli.

12) Don't blindly invoke link operations in
    rtnl_link_get_slave_info_data_size, they are optional.  Fix from
    Fernando Luis Vazquez Cao.

13) Add USB IDs for Netgear Aircard 340U, from Bjørn Mork.

14) Handle netlink packet padding properly in openvswitch, from Thomas
    Graf.

15) Fix oops when deleting chains in nf_tables, from Patrick McHardy.

16) Fix RX stalls in xen-netback driver, from Zoltan Kiss.

17) Fix deadlock in mac80211 stack, from Emmanuel Grumbach.

18) inet_nlmsg_size() forgets to consider ifa_cacheinfo, fix from Geert
    Uytterhoeven.

19) tg3_change_mtu() can deadlock, fix from Nithin Sujir.

20) Fix regression in setting SCTP local source addresses on accepted
    sockets, caused by some generic ipv6 socket changes.  Fix from
    Matija Glavinic Pecotic.

21) IPPROTO_* must be pure defines, otherwise module aliases don't get
    constructed properly.  Fix from Jan Moskyto.

22) IPV6 netconsole setup doesn't work properly unless an explicit
    source address is specified, fix from Sabrina Dubroca.

23) Use __GFP_NORETRY for high order skb page allocations in sock_alloc_send_pskb
    and skb_page_frag_refill.  From Eric Dumazet.

24) Fix a regression added in netconsole over bridging, from Cong Wang.

25) TCP uses an artificial offset of 1ms for SRTT, but this doesn't jive
    well with TCP pacing which needs the SRTT to be accurate.  Fix from
    Eric Dumazet.

26) Several cases of missing header file includes from Rashika Kheria.

27) Add ZTE MF667 device ID to qmi_wwan driver, from Raymond Wanyoike.

28) TCP Small Queues doesn't handle nonagle properly in some corner cases,
    fix from Eric Dumazet.

29) Remove extraneous read_unlock in bond_enslave, whoops.  From Ding
    Tianhong.

30) Fix 9p trans_virtio handling of vmalloc buffers, from Richard Yao.

Please pull, thanks a lot!

The following changes since commit 53d8ab29f8f6d67e37857b68189b38fa3d87dd8e:

  Merge branch 'for-3.14/drivers' of git://git.kernel.dk/linux-block (2014-01-30 11:40:10 -0800)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/davem/net master

for you to fetch changes up to 20e7c4e80dcd01dad5e6c8b32455228b8fe9c619:

  6lowpan: fix lockdep splats (2014-02-10 17:51:29 -0800)

----------------------------------------------------------------
Alexander Shiyan (1):
      net: irda: ep7211-sir: Remove driver

Alexey Dobriyan (1):
      netfilter: nf_nat_h323: fix crash in nf_ct_unlink_expect_report()

Andrey Vagin (1):
      netfilter: nf_conntrack: fix RCU race in nf_conntrack_find_get

Andy Zhou (2):
      openvswitch: Fix kernel panic on ovs_flow_free
      openvswitch: Suppress error messages on megaflow updates

Arnd Bergmann (1):
      can: flexcan: fix flexcan driver build for big endian on ARM and little endian on PowerPc

Arturo Borrero (1):
      netfilter: nft_ct: fix unconditional dump of 'dir' attr

Bjørn Mork (1):
      net: qmi_wwan: add Netgear Aircard 340U

Christian Engelmayer (4):
      6lowpan: Remove unused pointer in lowpan_header_create()
      wan: dlci: Remove unused netdev_priv pointer
      3c59x: Remove unused pointer in vortex_eisa_cleanup()
      net: vxge: Remove unused device pointer

Cong Wang (1):
      bridge: fix netconsole setup over bridge

Dan Carpenter (3):
      tg3: cleanup an error path in tg3_phy_reset_5703_4_5()
      isdn/hisax: hex vs decimal typo in prfeatureind()
      hso: remove some dead code

Daniel Baluta (1):
      vxlan: remove extra newline after function definition

Daniele Di Proietto (1):
      openvswitch: Fix ovs_dp_cmd_msg_size()

David S. Miller (7):
      Merge tag 'linux-can-fixes-for-3.14-20140129' of git://gitorious.org/linux-can/linux-can
      Merge branch 'ethoc'
      Merge branch 'bonding_fail_over_mac'
      Merge branch 'fixes' of git://git.kernel.org/.../jesse/openvswitch
      Merge branch 'master' of git://git.kernel.org/.../pablo/nf
      Merge branch 'for-davem' of git://git.kernel.org/.../linville/wireless
      Merge branch 'bridge'

David Spinadel (1):
      iwlwifi: mvm: notify match found without filtering

David Vrabel (1):
      xen-netfront: handle backend CLOSED without CLOSING

Dmitry Kravkov (1):
      bnx2x: fix L2-GRE TCP issues

Eliad Peller (1):
      mac80211: move roc cookie assignment earlier

Emmanuel Grumbach (6):
      iwlwifi: mvm: print the version of the firmware when it asserts
      iwlwifi: mvm: don't leak a station when we drain
      iwlwifi: mvm: BT Coex - disable BT when TXing probe request in scan
      iwlwifi: mvm: don't allow A band if SKU forbids it
      mac80211: avoid deadlock revealed by lockdep
      mac80211: release the channel in error path in start_ap

Eric Dumazet (4):
      ip_tunnel: fix panic in ip_tunnel_xmit()
      net: use __GFP_NORETRY for high order allocations
      tcp: remove 1ms offset in srtt computation
      6lowpan: fix lockdep splats

FX Le Bail (1):
      ipv6: icmp6_send: fix Oops when pinging a not set up IPv6 peer on a sit tunnel

Fernando Luis Vazquez Cao (1):
      rtnetlink: fix oops in rtnl_link_get_slave_info_data_size

Florian Fainelli (1):
      net: phy: ensure Gigabit features are masked off if requested

Geert Uytterhoeven (1):
      ipv4: Fix runtime WARNING in rtmsg_ifa()

Ira W. Snyder (1):
      can: janz-ican3: fix uninitialized variable warnings

James M Leddy (1):
      bnx2[x]: Make module parameters readable

Jan Moskyto Matejka (1):
      inet: defines IPPROTO_* needed for module alias generation

Jesper Juhl (1):
      tcp: correct code comment stating 3 min timeout for FIN_WAIT2, we only do 1 min

Johannes Berg (7):
      iwlwifi: mvm: make local pointer non-static
      iwlwifi: mvm: disable scheduled scan
      cfg80211: re-enable 5/10 MHz support
      cfg80211: fix scan done race
      cfg80211: send scan results from work queue
      mac80211: fix fragmentation code, particularly for encryption
      mac80211: fix virtual monitor interface iteration

John Greene (1):
      alx: add missing stats_lock spinlock init

John Ogness (1):
      tcp: tsq: fix nonagle handling

John W. Linville (3):
      Merge branch 'for-john' of git://git.kernel.org/.../iwlwifi/iwlwifi-fixes
      Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless into for-davem

Liu Junliang (1):
      USB2NET : SR9800 : One chip USB2.0 USB2NET SR9800 Device Driver Support

Maciej Żenczykowski (1):
      net: fix 'ip rule' iif/oif device rename

Matija Glavinic Pecotic (1):
      net: sctp: fix initialization of local source address on accepted ipv6 sockets

Max Filippov (6):
      net: ethoc: implement basic ethtool operations
      net: ethoc: implement ethtool get/set settings
      net: ethoc: implement ethtool get registers
      net: ethoc: implement ethtool get/set ring parameters
      net: ethoc: don't advertise gigabit speed on attached PHY
      net: ethoc: set up MII management bus clock

Maxime Ripard (3):
      net: ethernet: sunxi: Add new compatibles
      net: phy: sunxi: Add new compatibles
      ARM: sunxi: dt: Convert to the new net compatibles

Michal Kubecek (1):
      ipvs: fix AF assignment in ip_vs_conn_new()

Michele Baldessari (1):
      e100: Fix "disabling already-disabled device" warning

Nithin Sujir (1):
      tg3: Fix deadlock in tg3_change_mtu()

Oleksij Rempel (2):
      ath9k_htc: Do not support PowerSave by default
      ar5523: fix usb id for Gigaset.

Oliver Hartkopp (1):
      can: add destructor for self generated skbs

Or Gerlitz (2):
      net/ipv4: Use non-atomic allocation of udp offloads structure instance
      net/vxlan: Go over all candidate streams for GRO matching

Oren Givon (1):
      iwlwifi: add more 7265 HW IDs

Pablo Neira Ayuso (5):
      netfilter: nf_conntrack: don't release a conntrack with non-zero refcnt
      netfilter: nf_tables: fix racy rule deletion
      netfilter: nf_tables: do not allow NFT_SET_ELEM_INTERVAL_END flag and data
      netfilter: nft_rbtree: fix data handling of end interval elements
      netfilter: nf_tables: fix loop checking with end interval elements

Patrick McHardy (9):
      netfilter: nf_tables: fix oops when deleting a chain with references
      netfilter: nf_tables: fix overrun in nf_tables_set_alloc_name()
      netfilter: nf_tables: fix potential oops when dumping sets
      netfilter: nft_ct: fix missing NFT_CT_L3PROTOCOL key in validity checks
      netfilter: nf_tables: add AF specific expression support
      netfilter: nft_reject: split up reject module into IPv4 and IPv6 specifc parts
      netfilter: nf_tables: add reject module for NFPROTO_INET
      netfilter: nf_tables: fix log/queue expressions for NFPROTO_INET
      netfilter: nf_tables: unininline nft_trace_packet()

Paul Gortmaker (1):
      drivers/net: fix build warning in ethernet/sfc/tx.c

Pontus Fuchs (1):
      nl80211: Reset split_start when netlink skb is exhausted

Pravin B Shelar (1):
      openvswitch: Fix ovs_flow_free() ovs-lock assert.

Rashika Kheria (12):
      net: Mark function as static in 9p/client.c
      net: Include appropriate header file in caif/caif_dev.c
      net: Include appropriate header file in caif/cfsrvl.c
      net: Mark functions as static in core/dev.c
      net: Move prototype declaration to appropriate header file from decnet/af_decnet.c
      net: Move prototype declaration to header file include/net/dn.h from net/decnet/af_decnet.c
      net: Move prototype declaration to include/net/ipx.h from net/ipx/ipx_route.c
      net: Move prototype declaration to header file include/net/ipx.h from net/ipx/af_ipx.c
      net: Move prototype declaration to header file include/net/datalink.h from net/ipx/af_ipx.c
      net: Move prototype declaration to header file include/net/net_namespace.h from net/ipx/af_ipx.c
      net: Include appropriate header file in netfilter/nft_lookup.c
      net: Mark functions as static in net/sunrpc/svc_xprt.c

Raymond Wanyoike (1):
      net: qmi_wwan: add ZTE MF667

Richard Yao (1):
      9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers

Rostislav Lisovy (1):
      can: Propagate SO_PRIORITY of raw sockets to skbs

Sabrina Dubroca (1):
      netpoll: fix netconsole IPv6 setup

Shlomo Pongratz (1):
      net/ipv4: Use proper RCU APIs for writer-side in udp_offload.c

Stanislaw Gruszka (4):
      ath9k_htc: make ->sta_rc_update atomic for most calls
      rt2800: disable PS by default on USB
      rt2500: disable PS by default
      ath9k_htc: avoid scheduling while atomic on sta_rc_update

Stefan Roese (1):
      net: eth: cpsw: Correctly attach to GPIO bitbang MDIO driver

Stefan Sørensen (4):
      net:phy:dp83640: Declare that TX timestamping possible
      net:phy:dp83640: Do not hardcode timestamping event edge
      net:phy:dp83640: Initialize PTP clocks at device init.
      ptp: Allow selecting trigger/event index in testptp

Sujith Manoharan (4):
      ath9k: Fix build error on ARM
      ath9k: Do not support PowerSave by default
      ath9k: Fix TX power calculation
      mac80211: Fix IBSS disconnect

Thomas Graf (1):
      openvswitch: Pad OVS_PACKET_ATTR_PACKET if linear copy was performed

Toshiaki Makita (9):
      bridge: Fix the way to find old local fdb entries in br_fdb_changeaddr
      bridge: Fix the way to insert new local fdb entries in br_fdb_changeaddr
      bridge: Fix the way to find old local fdb entries in br_fdb_change_mac_address
      bridge: Change local fdb entries whenever mac address of bridge device changes
      bridge: Fix the way to check if a local fdb entry can be deleted
      bridge: Properly check if local fdb entry can be deleted in br_fdb_change_mac_address
      bridge: Properly check if local fdb entry can be deleted in br_fdb_delete_by_port
      bridge: Properly check if local fdb entry can be deleted when deleting vlan
      bridge: Prevent possible race condition in br_fdb_change_mac_address

Venkat Venkatsubra (1):
      rds: The maintainer needs to be updated.

Yuval Mintz (1):
      bnx2x: Allow VF rss on higher PFs

Zoltan Kiss (1):
      xen-netback: Fix Rx stall due to race condition

andrea.merello (2):
      rtl8180: Add error check for pci_map_single return value in RX path
      rtl8180: Add error check for pci_map_single return value in TX path

dingtianhong (3):
      bonding: fail_over_mac should only affect AB mode at enslave and removal processing
      bonding: fail_over_mac should only affect AB mode in bond_set_mac_address()
      bonding: remove unwanted bond lock for enslave processing

hayeswang (1):
      r8152: fix the submission of the interrupt transfer

 Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt |   5 +-
 Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt |   5 +-
 Documentation/ptp/testptp.c                                    |  11 +-
 MAINTAINERS                                                    |   2 +-
 arch/arm/boot/dts/sun4i-a10.dtsi                               |   4 +-
 arch/arm/boot/dts/sun5i-a10s.dtsi                              |   4 +-
 arch/arm/boot/dts/sun7i-a20.dtsi                               |   4 +-
 drivers/isdn/hisax/q931.c                                      |   2 +-
 drivers/net/bonding/bond_main.c                                |  26 +-
 drivers/net/can/Kconfig                                        |   2 +-
 drivers/net/can/dev.c                                          |  15 +-
 drivers/net/can/flexcan.c                                      |   7 +-
 drivers/net/can/janz-ican3.c                                   |  20 +-
 drivers/net/can/vcan.c                                         |   9 +-
 drivers/net/ethernet/3com/3c59x.c                              |   2 -
 drivers/net/ethernet/allwinner/sun4i-emac.c                    |   3 +
 drivers/net/ethernet/atheros/alx/main.c                        |   1 +
 drivers/net/ethernet/broadcom/bnx2.c                           |   2 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h                |   2 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c               |  12 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c              |   6 +-
 drivers/net/ethernet/broadcom/tg3.c                            |  17 +-
 drivers/net/ethernet/ethoc.c                                   | 138 +++++-
 drivers/net/ethernet/intel/e100.c                              |   2 +-
 drivers/net/ethernet/neterion/vxge/vxge-main.c                 |   6 -
 drivers/net/ethernet/sfc/tx.c                                  |   2 +
 drivers/net/ethernet/ti/cpsw.c                                 |  14 +-
 drivers/net/irda/Kconfig                                       |   7 -
 drivers/net/irda/Makefile                                      |   1 -
 drivers/net/irda/ep7211-sir.c                                  |  70 ---
 drivers/net/phy/dp83640.c                                      |  19 +-
 drivers/net/phy/mdio-sun4i.c                                   |   3 +
 drivers/net/phy/phy_device.c                                   |  38 +-
 drivers/net/usb/Kconfig                                        |  16 +
 drivers/net/usb/Makefile                                       |   1 +
 drivers/net/usb/hso.c                                          |  32 +-
 drivers/net/usb/qmi_wwan.c                                     |   2 +
 drivers/net/usb/r8152.c                                        |  17 +-
 drivers/net/usb/sr9800.c                                       | 870 +++++++++++++++++++++++++++++++++++
 drivers/net/usb/sr9800.h                                       | 202 ++++++++
 drivers/net/vxlan.c                                            |   3 -
 drivers/net/wan/dlci.c                                         |   5 -
 drivers/net/wireless/ath/ar5523/ar5523.c                       |   2 +-
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c                 |   4 +
 drivers/net/wireless/ath/ath9k/htc.h                           |   2 +
 drivers/net/wireless/ath/ath9k/htc_drv_init.c                  |   8 +-
 drivers/net/wireless/ath/ath9k/htc_drv_main.c                  |  63 ++-
 drivers/net/wireless/ath/ath9k/hw.c                            |   5 +-
 drivers/net/wireless/ath/ath9k/init.c                          |   8 +-
 drivers/net/wireless/iwlwifi/iwl-nvm-parse.c                   |   5 +
 drivers/net/wireless/iwlwifi/mvm/fw-api-scan.h                 |   4 +-
 drivers/net/wireless/iwlwifi/mvm/mac80211.c                    |   2 +-
 drivers/net/wireless/iwlwifi/mvm/scan.c                        |   5 +-
 drivers/net/wireless/iwlwifi/mvm/sta.c                         |   2 +-
 drivers/net/wireless/iwlwifi/mvm/tx.c                          |  73 +--
 drivers/net/wireless/iwlwifi/mvm/utils.c                       |   2 +
 drivers/net/wireless/iwlwifi/pcie/drv.c                        |   7 +-
 drivers/net/wireless/rt2x00/rt2500pci.c                        |   5 +
 drivers/net/wireless/rt2x00/rt2500usb.c                        |   5 +
 drivers/net/wireless/rt2x00/rt2800lib.c                        |   5 +-
 drivers/net/wireless/rtl818x/rtl8180/dev.c                     |  23 +-
 drivers/net/xen-netback/common.h                               |   6 +-
 drivers/net/xen-netback/interface.c                            |   1 -
 drivers/net/xen-netback/netback.c                              |  16 +-
 drivers/net/xen-netfront.c                                     |   5 +-
 include/linux/can/skb.h                                        |  38 ++
 include/net/datalink.h                                         |   2 +
 include/net/dn.h                                               |   2 +
 include/net/dn_route.h                                         |   2 +
 include/net/ethoc.h                                            |   1 +
 include/net/ipx.h                                              |  11 +
 include/net/net_namespace.h                                    |   8 +
 include/net/netfilter/nf_conntrack.h                           |   2 +
 include/net/netfilter/nf_tables.h                              |   9 +-
 include/net/netfilter/nft_reject.h                             |  25 +
 include/uapi/linux/in6.h                                       |  23 +-
 net/9p/client.c                                                |   2 +-
 net/9p/trans_virtio.c                                          |   5 +-
 net/bridge/br_device.c                                         |  54 ++-
 net/bridge/br_fdb.c                                            | 137 ++++--
 net/bridge/br_if.c                                             |   6 +-
 net/bridge/br_input.c                                          |   4 +-
 net/bridge/br_private.h                                        |  13 +-
 net/bridge/br_stp_if.c                                         |   2 +
 net/bridge/br_vlan.c                                           |  27 +-
 net/caif/caif_dev.c                                            |   1 +
 net/caif/cfsrvl.c                                              |   1 +
 net/can/af_can.c                                               |   3 +-
 net/can/bcm.c                                                  |   4 +-
 net/can/raw.c                                                  |   1 +
 net/core/dev.c                                                 |   6 +-
 net/core/fib_rules.c                                           |   7 +
 net/core/netpoll.c                                             |   4 +-
 net/core/rtnetlink.c                                           |   2 +-
 net/core/sock.c                                                |   6 +-
 net/decnet/af_decnet.c                                         |   5 -
 net/ieee802154/6lowpan.c                                       |  23 +-
 net/ipv4/devinet.c                                             |   3 +-
 net/ipv4/ip_tunnel.c                                           |  29 +-
 net/ipv4/netfilter/Kconfig                                     |   5 +
 net/ipv4/netfilter/Makefile                                    |   1 +
 net/ipv4/netfilter/nf_nat_h323.c                               |   5 +-
 net/ipv4/netfilter/nft_reject_ipv4.c                           |  75 +++
 net/ipv4/tcp.c                                                 |   2 +-
 net/ipv4/tcp_input.c                                           |  18 +-
 net/ipv4/tcp_output.c                                          |  15 +-
 net/ipv4/udp_offload.c                                         |  17 +-
 net/ipv6/icmp.c                                                |   2 +-
 net/ipv6/netfilter/Kconfig                                     |   5 +
 net/ipv6/netfilter/Makefile                                    |   1 +
 net/ipv6/netfilter/nft_reject_ipv6.c                           |  76 +++
 net/ipx/af_ipx.c                                               |  22 +-
 net/ipx/ipx_route.c                                            |   4 -
 net/mac80211/cfg.c                                             |  44 +-
 net/mac80211/ht.c                                              |   4 +-
 net/mac80211/ibss.c                                            |   5 +-
 net/mac80211/iface.c                                           |  27 +-
 net/mac80211/tx.c                                              |   2 +-
 net/netfilter/Kconfig                                          |   6 +-
 net/netfilter/Makefile                                         |   1 +
 net/netfilter/ipvs/ip_vs_conn.c                                |   8 +-
 net/netfilter/nf_conntrack_core.c                              |  55 ++-
 net/netfilter/nf_synproxy_core.c                               |   5 +-
 net/netfilter/nf_tables_api.c                                  |  82 ++--
 net/netfilter/nf_tables_core.c                                 |   6 +-
 net/netfilter/nft_ct.c                                         |  16 +-
 net/netfilter/nft_log.c                                        |   5 +-
 net/netfilter/nft_lookup.c                                     |   1 +
 net/netfilter/nft_queue.c                                      |   4 +-
 net/netfilter/nft_rbtree.c                                     |  16 +-
 net/netfilter/nft_reject.c                                     |  89 +---
 net/netfilter/nft_reject_inet.c                                |  63 +++
 net/netfilter/xt_CT.c                                          |   7 +-
 net/openvswitch/datapath.c                                     |  23 +-
 net/openvswitch/flow_table.c                                   |  88 ++--
 net/openvswitch/flow_table.h                                   |   2 +-
 net/sctp/ipv6.c                                                |   2 +
 net/sunrpc/svc_xprt.c                                          |   6 +-
 net/wireless/core.c                                            |  17 +-
 net/wireless/core.h                                            |   4 +-
 net/wireless/nl80211.c                                         |  32 +-
 net/wireless/nl80211.h                                         |   8 +-
 net/wireless/scan.c                                            |  40 +-
 net/wireless/sme.c                                             |   2 +-
 144 files changed, 2454 insertions(+), 799 deletions(-)
 delete mode 100644 drivers/net/irda/ep7211-sir.c
 create mode 100644 drivers/net/usb/sr9800.c
 create mode 100644 drivers/net/usb/sr9800.h
 create mode 100644 include/net/netfilter/nft_reject.h
 create mode 100644 net/ipv4/netfilter/nft_reject_ipv4.c
 create mode 100644 net/ipv6/netfilter/nft_reject_ipv6.c
 create mode 100644 net/netfilter/nft_reject_inet.c

^ permalink raw reply

* [PATCH] ipvs: Reduce checkpatch noise in ip_vs_lblc.c
From: Tingwei Liu @ 2014-02-11  6:29 UTC (permalink / raw)
  To: netdev; +Cc: Tingwei Liu, Tingwei Liu, Wensong Zhang

Add whitespace after operator and put open brace { on the previous line

Signed-off-by: Tingwei Liu <tingw.liu@gmail.com>
Cc: Tingwei Liu <liutingwei@hisense.com>
Cc: Wensong Zhang <wensong@linux-vs.org>
---
 net/netfilter/ipvs/ip_vs_lblc.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/net/netfilter/ipvs/ip_vs_lblc.c b/net/netfilter/ipvs/ip_vs_lblc.c
index ca056a3..547ff33 100644
--- a/net/netfilter/ipvs/ip_vs_lblc.c
+++ b/net/netfilter/ipvs/ip_vs_lblc.c
@@ -238,7 +238,7 @@ static void ip_vs_lblc_flush(struct ip_vs_service *svc)
 
 	spin_lock_bh(&svc->sched_lock);
 	tbl->dead = 1;
-	for (i=0; i<IP_VS_LBLC_TAB_SIZE; i++) {
+	for (i = 0; i < IP_VS_LBLC_TAB_SIZE; i++) {
 		hlist_for_each_entry_safe(en, next, &tbl->bucket[i], list) {
 			ip_vs_lblc_del(en);
 			atomic_dec(&tbl->entries);
@@ -265,7 +265,7 @@ static inline void ip_vs_lblc_full_check(struct ip_vs_service *svc)
 	unsigned long now = jiffies;
 	int i, j;
 
-	for (i=0, j=tbl->rover; i<IP_VS_LBLC_TAB_SIZE; i++) {
+	for (i = 0, j = tbl->rover; i < IP_VS_LBLC_TAB_SIZE; i++) {
 		j = (j + 1) & IP_VS_LBLC_TAB_MASK;
 
 		spin_lock(&svc->sched_lock);
@@ -321,7 +321,7 @@ static void ip_vs_lblc_check_expire(unsigned long data)
 	if (goal > tbl->max_size/2)
 		goal = tbl->max_size/2;
 
-	for (i=0, j=tbl->rover; i<IP_VS_LBLC_TAB_SIZE; i++) {
+	for (i = 0, j = tbl->rover; i < IP_VS_LBLC_TAB_SIZE; i++) {
 		j = (j + 1) & IP_VS_LBLC_TAB_MASK;
 
 		spin_lock(&svc->sched_lock);
@@ -340,7 +340,7 @@ static void ip_vs_lblc_check_expire(unsigned long data)
 	tbl->rover = j;
 
   out:
-	mod_timer(&tbl->periodic_timer, jiffies+CHECK_EXPIRE_INTERVAL);
+	mod_timer(&tbl->periodic_timer, jiffies + CHECK_EXPIRE_INTERVAL);
 }
 
 
@@ -363,7 +363,7 @@ static int ip_vs_lblc_init_svc(struct ip_vs_service *svc)
 	/*
 	 *    Initialize the hash buckets
 	 */
-	for (i=0; i<IP_VS_LBLC_TAB_SIZE; i++) {
+	for (i = 0; i < IP_VS_LBLC_TAB_SIZE; i++) {
 		INIT_HLIST_HEAD(&tbl->bucket[i]);
 	}
 	tbl->max_size = IP_VS_LBLC_TAB_SIZE*16;
@@ -536,8 +536,7 @@ out:
 /*
  *      IPVS LBLC Scheduler structure
  */
-static struct ip_vs_scheduler ip_vs_lblc_scheduler =
-{
+static struct ip_vs_scheduler ip_vs_lblc_scheduler = {
 	.name =			"lblc",
 	.refcnt =		ATOMIC_INIT(0),
 	.module =		THIS_MODULE,
-- 
1.6.0.2

^ permalink raw reply related

* Re: Re: [PATCH] USB2NET : SR9800 : One chip USB2.0 USB2NET SR9800Device Driver Support
From: liujunliang_ljl @ 2014-02-11  5:59 UTC (permalink / raw)
  To: David Miller
  Cc: joe, horms, romieu, gregkh, netdev, linux-usb, linux-kernel,
	sunhecheng
In-Reply-To: <20140210.165352.625954565773549494.davem@davemloft.net>

Dear Miller :

		Thanks a lot.


2014-02-11 



liujunliang_ljl 



发件人: David Miller 
发送时间: 2014-02-11  08:54:00 
收件人: liujunliang_ljl 
抄送: joe; horms; romieu; gregkh; netdev; linux-usb; linux-kernel; sunhecheng 
主题: Re: [PATCH] USB2NET : SR9800 : One chip USB2.0 USB2NET SR9800Device Driver Support 
 
From: liujunliang_ljl@163.com
Date: Mon, 10 Feb 2014 14:31:42 +0800
> From: Liu Junliang <liujunliang_ljl@163.com>
> 
> 
> Signed-off-by: Liu Junliang <liujunliang_ljl@163.com>
Applied, thanks.

^ permalink raw reply

* Re: [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Eric Dumazet @ 2014-02-11  5:38 UTC (permalink / raw)
  To: Cong Wang
  Cc: Hannes Frederic Sowa, Cong Wang, netdev, Patrick McHardy,
	David S. Miller
In-Reply-To: <1392097032.6615.73.camel@edumazet-glaptop2.roam.corp.google.com>

On Mon, 2014-02-10 at 21:37 -0800, Eric Dumazet wrote:

> 
> Simple patch would be :
> 
> diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
> index 048dc8d183aa..31bbba34fd1e 100644
> --- a/net/core/rtnetlink.c
> +++ b/net/core/rtnetlink.c
> @@ -963,6 +963,7 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,
>  	    nla_put_u32(skb, IFLA_NUM_RX_QUEUES, dev->num_rx_queues) ||
>  #endif
>  	    (dev->ifindex != dev->iflink &&
> +	     __dev_get_by_index(dev_net(dev), dev->iflink) &&
>  	     nla_put_u32(skb, IFLA_LINK, dev->iflink)) ||
>  	    (upper_dev &&
>  	     nla_put_u32(skb, IFLA_MASTER, upper_dev->ifindex)) ||
> 

Hmm, not enough.

We probably need to keep a pointer to iflink net structure.

^ permalink raw reply

* Re: [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Eric Dumazet @ 2014-02-11  5:37 UTC (permalink / raw)
  To: Cong Wang
  Cc: Hannes Frederic Sowa, Cong Wang, netdev, Patrick McHardy,
	David S. Miller
In-Reply-To: <1392096087.6615.72.camel@edumazet-glaptop2.roam.corp.google.com>

On Mon, 2014-02-10 at 21:21 -0800, Eric Dumazet wrote:
> On Mon, 2014-02-10 at 20:41 -0800, Cong Wang wrote:
> 
> > Exactly broken by design.
> 
> Design of what ? Do you have a pointer to a document about this
> 'design' ?
> 
> > 
> > IFA_LINK is an ifindex, ifindex is per-netns. macvlan should not use IFA_LINK.
> 
> When this was 'designed', ifindex were not per netns.
> 
> Apparently nobody spotted this when ifindexes become per netns.
> 
> I am sure we can find a solution, keeping this very useful
> functionality.

Simple patch would be :

diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 048dc8d183aa..31bbba34fd1e 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -963,6 +963,7 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,
 	    nla_put_u32(skb, IFLA_NUM_RX_QUEUES, dev->num_rx_queues) ||
 #endif
 	    (dev->ifindex != dev->iflink &&
+	     __dev_get_by_index(dev_net(dev), dev->iflink) &&
 	     nla_put_u32(skb, IFLA_LINK, dev->iflink)) ||
 	    (upper_dev &&
 	     nla_put_u32(skb, IFLA_MASTER, upper_dev->ifindex)) ||

^ permalink raw reply related

* [PATCH] ipvs: Reduce checkpatch noise in ip_vs_lblc.c
From: Tingwei Liu @ 2014-02-11  5:35 UTC (permalink / raw)
  To: netdev; +Cc: Tingwei Liu, Tony

Add whitespace after operator and put open brace { on the previous line

Cc: Tony <liutingwei@hisense.com>
Signed-off-by: Tingwei Liu <tingw.liu@gmail.com>
---
 net/netfilter/ipvs/ip_vs_lblc.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/net/netfilter/ipvs/ip_vs_lblc.c b/net/netfilter/ipvs/ip_vs_lblc.c
index ca056a3..547ff33 100644
--- a/net/netfilter/ipvs/ip_vs_lblc.c
+++ b/net/netfilter/ipvs/ip_vs_lblc.c
@@ -238,7 +238,7 @@ static void ip_vs_lblc_flush(struct ip_vs_service *svc)
 
 	spin_lock_bh(&svc->sched_lock);
 	tbl->dead = 1;
-	for (i=0; i<IP_VS_LBLC_TAB_SIZE; i++) {
+	for (i = 0; i < IP_VS_LBLC_TAB_SIZE; i++) {
 		hlist_for_each_entry_safe(en, next, &tbl->bucket[i], list) {
 			ip_vs_lblc_del(en);
 			atomic_dec(&tbl->entries);
@@ -265,7 +265,7 @@ static inline void ip_vs_lblc_full_check(struct ip_vs_service *svc)
 	unsigned long now = jiffies;
 	int i, j;
 
-	for (i=0, j=tbl->rover; i<IP_VS_LBLC_TAB_SIZE; i++) {
+	for (i = 0, j = tbl->rover; i < IP_VS_LBLC_TAB_SIZE; i++) {
 		j = (j + 1) & IP_VS_LBLC_TAB_MASK;
 
 		spin_lock(&svc->sched_lock);
@@ -321,7 +321,7 @@ static void ip_vs_lblc_check_expire(unsigned long data)
 	if (goal > tbl->max_size/2)
 		goal = tbl->max_size/2;
 
-	for (i=0, j=tbl->rover; i<IP_VS_LBLC_TAB_SIZE; i++) {
+	for (i = 0, j = tbl->rover; i < IP_VS_LBLC_TAB_SIZE; i++) {
 		j = (j + 1) & IP_VS_LBLC_TAB_MASK;
 
 		spin_lock(&svc->sched_lock);
@@ -340,7 +340,7 @@ static void ip_vs_lblc_check_expire(unsigned long data)
 	tbl->rover = j;
 
   out:
-	mod_timer(&tbl->periodic_timer, jiffies+CHECK_EXPIRE_INTERVAL);
+	mod_timer(&tbl->periodic_timer, jiffies + CHECK_EXPIRE_INTERVAL);
 }
 
 
@@ -363,7 +363,7 @@ static int ip_vs_lblc_init_svc(struct ip_vs_service *svc)
 	/*
 	 *    Initialize the hash buckets
 	 */
-	for (i=0; i<IP_VS_LBLC_TAB_SIZE; i++) {
+	for (i = 0; i < IP_VS_LBLC_TAB_SIZE; i++) {
 		INIT_HLIST_HEAD(&tbl->bucket[i]);
 	}
 	tbl->max_size = IP_VS_LBLC_TAB_SIZE*16;
@@ -536,8 +536,7 @@ out:
 /*
  *      IPVS LBLC Scheduler structure
  */
-static struct ip_vs_scheduler ip_vs_lblc_scheduler =
-{
+static struct ip_vs_scheduler ip_vs_lblc_scheduler = {
 	.name =			"lblc",
 	.refcnt =		ATOMIC_INIT(0),
 	.module =		THIS_MODULE,
-- 
1.6.0.2

^ permalink raw reply related

* Re: [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Eric Dumazet @ 2014-02-11  5:21 UTC (permalink / raw)
  To: Cong Wang
  Cc: Hannes Frederic Sowa, Cong Wang, netdev, Patrick McHardy,
	David S. Miller
In-Reply-To: <CAHA+R7MhHuOPaT5oAF_S-a3u1_2mt=Vqd5HCdi9r3JV-fK-6Pw@mail.gmail.com>

On Mon, 2014-02-10 at 20:41 -0800, Cong Wang wrote:

> Exactly broken by design.

Design of what ? Do you have a pointer to a document about this
'design' ?

> 
> IFA_LINK is an ifindex, ifindex is per-netns. macvlan should not use IFA_LINK.

When this was 'designed', ifindex were not per netns.

Apparently nobody spotted this when ifindexes become per netns.

I am sure we can find a solution, keeping this very useful
functionality.

BTW, are Cong Wang <cwang@twopensource.com> and Cong Wang
<xiyou.wangcong@gmail.com> different persons ?

^ permalink raw reply

* Re: [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Cong Wang @ 2014-02-11  4:41 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Hannes Frederic Sowa, Cong Wang, netdev, Patrick McHardy,
	David S. Miller
In-Reply-To: <1392092120.6615.64.camel@edumazet-glaptop2.roam.corp.google.com>

On Mon, Feb 10, 2014 at 8:15 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> On Tue, 2014-02-11 at 03:40 +0100, Hannes Frederic Sowa wrote:
>
>> Setting up a macvlan and moving it into another namespace without moving
>> the parent device is a nice feature. I am not an administrator, so I don't
>> use that stuff often, but given you can easily spawn namespaces and put
>> applications into them, one of the easiest things to connect those to
>> local network without routing over veth and such is the macvlan interface.
>
> Exactly.
>

Exactly broken by design.

IFA_LINK is an ifindex, ifindex is per-netns. macvlan should not use IFA_LINK.

^ permalink raw reply

* Re: [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Eric Dumazet @ 2014-02-11  4:15 UTC (permalink / raw)
  To: Hannes Frederic Sowa
  Cc: Cong Wang, Cong Wang, netdev, Patrick McHardy, David S. Miller
In-Reply-To: <20140211024009.GD11150@order.stressinduktion.org>

On Tue, 2014-02-11 at 03:40 +0100, Hannes Frederic Sowa wrote:

> Setting up a macvlan and moving it into another namespace without moving
> the parent device is a nice feature. I am not an administrator, so I don't
> use that stuff often, but given you can easily spawn namespaces and put
> applications into them, one of the easiest things to connect those to
> local network without routing over veth and such is the macvlan interface.

Exactly.

^ permalink raw reply

* Re: [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Eric Dumazet @ 2014-02-11  4:14 UTC (permalink / raw)
  To: Cong Wang; +Cc: netdev, Patrick McHardy, David S. Miller, Cong Wang
In-Reply-To: <1392082593-7742-1-git-send-email-xiyou.wangcong@gmail.com>

On Mon, 2014-02-10 at 17:36 -0800, Cong Wang wrote:
> From: Cong Wang <cwang@twopensource.com>
> 
> BZ: https://bugzilla.kernel.org/show_bug.cgi?id=66691
> 
> There is no point to allow moving a macvlan device to
> another namespace while the lower device is still in
> this namespace. tunnels already set this flag.

What do you mean ?

This is probably one of the needed/useful feature of macvlan !

^ permalink raw reply

* Re: linux 3.13: problems with isatap tunnel device and UFO
From: Hannes Frederic Sowa @ 2014-02-11  2:44 UTC (permalink / raw)
  To: Wolfgang Walter; +Cc: netdev
In-Reply-To: <1581659.JtJ1UQaXJr@h2o.as.studentenwerk.mhn.de>

On Sun, Feb 09, 2014 at 12:17:15AM +0100, Wolfgang Walter wrote:
> host A (which shows the problem with kernel 3.13):
> 
> $ ip addr ls eth0
> 4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
> group default qlen 1000
>     link/ether 11:22:33:44:55:66 brd ff:ff:ff:ff:ff:ff
>     inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0
>        valid_lft forever preferred_lft forever
>     inet6 2001:1111:2222:aaaa:0:5efe:c0a8:101/120 scope global 
>        valid_lft forever preferred_lft forever
>     inet6 fe80::1322:33ff:fe44:5566/64 scope link 
>        valid_lft forever preferred_lft forever

What driver does this interface use?

ethtool -i eth0

Greetings,

  Hannes

^ permalink raw reply

* Re: [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Hannes Frederic Sowa @ 2014-02-11  2:40 UTC (permalink / raw)
  To: Cong Wang; +Cc: Cong Wang, netdev, Patrick McHardy, David S. Miller
In-Reply-To: <CAHA+R7N2rxt5vyF+i8mi04dJaLk5bCgMAZOCexOLULLcQ-mT6w@mail.gmail.com>

On Mon, Feb 10, 2014 at 06:25:51PM -0800, Cong Wang wrote:
> On Mon, Feb 10, 2014 at 5:45 PM, Hannes Frederic Sowa
> <hannes@stressinduktion.org> wrote:
> > On Mon, Feb 10, 2014 at 05:36:33PM -0800, Cong Wang wrote:
> >> From: Cong Wang <cwang@twopensource.com>
> >>
> >> BZ: https://bugzilla.kernel.org/show_bug.cgi?id=66691
> >>
> >> There is no point to allow moving a macvlan device to
> >> another namespace while the lower device is still in
> >> this namespace. tunnels already set this flag.
> >
> > Can't we solve this somehow differently, like not showing anything at all
> > etc.? I guess this is a feature some people use and haven't noticed yet.
> >
> 
> I don't understand what you mean by "not showing anything at all".
> I assume you mean mac1@xxx, not matter whether we show xxx
> here, mac1 relies on xxx to function.

Sorry, I have no idea how to resolve this easily, maybe set the ifindex to
something generic. I'll try to think about it.

Maybe revserve an id and install a generic name for it, so old software
doesn't get confused.

> Please give a real use case rather than just guessing, I don't think
> there is any valid case until we support moving multiple devices into
> a netns atomically.

Setting up a macvlan and moving it into another namespace without moving
the parent device is a nice feature. I am not an administrator, so I don't
use that stuff often, but given you can easily spawn namespaces and put
applications into them, one of the easiest things to connect those to
local network without routing over veth and such is the macvlan interface.

Greetings,

  Hannes

^ permalink raw reply

* RE: RTL8153 fails to get link after applying c7de7dec2 to 3.8 kernel
From: hayeswang @ 2014-02-11  2:36 UTC (permalink / raw)
  To: 'Grant Grundler'
  Cc: inky.yoo, 'netdev', 'David Miller'
In-Reply-To: <CANEJEGtzUF+rdSqgTHL0BmsDbCeoWki=aAWZwSx-dZ24jQ=nVg@mail.gmail.com>

 Grant Grundler [mailto:grundler@google.com] 
> Sent: Tuesday, February 11, 2014 9:39 AM
> To: Hayes Wang
> Cc: inky.yoo@samsung.com; netdev; David Miller
> Subject: RTL8153 fails to get link after applying c7de7dec2 
> to 3.8 kernel
> 
> Hi Hayes,
> "r8152: ecm and vendor modes coexist" patch prevents RTL8153 device
> from establishing a link in the backport I've worked on for
> chromeos-3.8 kernel. IIRC, r815x driver claims this device. Without
> this patch, r8152 is able to establish a link with RTL8153 device.
> 
> This was the last patch in the series of 40 patches that I
> cherry-picked and r8152 driver seems to "basically" work WITHOUT this
> last patch.  I've not tested much yet...but DHCP worked and I'm able
> to run netperf tests. I've not investigated why this patch fails and
> probably won't.
> 
> If you have opportunity, can you confirm RTL8153 devices work for you
> with any recent upstream kernel?

I had tested the patch before I sent it, and I didn't see any problem.
I would test the RTL8153 again with kernel 3.14-RC2.

Does it work if you unplug and plug the dangle again?
 
Best Regards,
Hayes

^ permalink raw reply

* Re: xfrm: is pmtu broken with ESP tunneling?
From: Hannes Frederic Sowa @ 2014-02-11  2:32 UTC (permalink / raw)
  To: Ortwin Glück; +Cc: linux-kernel, netdev
In-Reply-To: <52F890D2.2060109@odi.ch>

Hi!

On Mon, Feb 10, 2014 at 09:41:54AM +0100, Ortwin Glück wrote:
> I am using Openswan to configure an IPSec VPN (using the xfrm/netkey 
> backend). Large HTTP POST requests from the client seem to get stuck, 
> because the outgoing packets are 1530 bytes (before being wrapped into 
> ESP packets). The problem goes away by setting sysctl 
> net.ipv4.ip_no_pmtu_disc=1.

This setting will shrink the path mtu to min_pmtu when a frag needed icmp is
received. It sounds like we calculate the path mtu incorreclty in case of
fragmentation.

> May have something to do with it:
> The tunneled network is 10.6.6.6/32 and I am SNAT'ing some destinations 
> to that IP, so they get routed through the tunnel. Any other networks 
> are not to go through the tunnel.
> 
> iptables -t nat -A POSTROUTING -d "${R}" -j SNAT --to-source 10.6.6.6
> 
> It seems quite clear to me that xfrm is doing something wrong here.

Can you send a ip route get <ip> to the problematic target to see how
far off the calculated value is?

Thanks,

  Hannes

^ permalink raw reply

* Re: [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Cong Wang @ 2014-02-11  2:25 UTC (permalink / raw)
  To: Cong Wang, netdev, Patrick McHardy, David S. Miller, Cong Wang
In-Reply-To: <20140211014535.GA11150@order.stressinduktion.org>

On Mon, Feb 10, 2014 at 5:45 PM, Hannes Frederic Sowa
<hannes@stressinduktion.org> wrote:
> On Mon, Feb 10, 2014 at 05:36:33PM -0800, Cong Wang wrote:
>> From: Cong Wang <cwang@twopensource.com>
>>
>> BZ: https://bugzilla.kernel.org/show_bug.cgi?id=66691
>>
>> There is no point to allow moving a macvlan device to
>> another namespace while the lower device is still in
>> this namespace. tunnels already set this flag.
>
> Can't we solve this somehow differently, like not showing anything at all
> etc.? I guess this is a feature some people use and haven't noticed yet.
>

I don't understand what you mean by "not showing anything at all".
I assume you mean mac1@xxx, not matter whether we show xxx
here, mac1 relies on xxx to function.

Please give a real use case rather than just guessing, I don't think
there is any valid case until we support moving multiple devices into
a netns atomically.

^ permalink raw reply

* Re: [PATCH net] net: Clear local_df only if crossing namespace.
From: Hannes Frederic Sowa @ 2014-02-11  2:11 UTC (permalink / raw)
  To: Pravin Shelar; +Cc: David Miller, netdev, Templin, Fred L, Nicolas Dichtel
In-Reply-To: <CALnjE+qiRbLWBJyhig7DFETRLRgAZHqJqUEYGVuJ6nXc7cPguw@mail.gmail.com>

On Mon, Feb 10, 2014 at 01:00:14PM -0800, Pravin Shelar wrote:
> On Fri, Feb 7, 2014 at 4:58 PM, Hannes Frederic Sowa
> <hannes@stressinduktion.org> wrote:
> > May I know because of wich vport, vxlan or gre, you did this change?
> >
> It affects both gre and vxlan.

Ok, thanks.

> > I am feeling a bit uncomfortable handling remote and local packets that
> > differently on lower tunnel output (local_df is mostly set on locally
> > originating packets).
> 
> For ip traffic it make sense to turn on local_df only for local
> traffic, since for remote case we can send icmp (frag-needed) back to
> source. No such thing exist for OVS tunnels. ICMP packet are not
> returned to source for the tunnels. That is why to be on safe side,
> local_df is turned on for tunnels in OVS.

I have a proposal:

I don't like it that much because of the many arguments. But I currently
don't see another easy solution. Maybe we should make bool xnet an enum and
test with bitops?

I left the clearing of local_df in skb_scrub_packet as we need it for the
dev_forward_skb case and it should be done that in any case.

This diff is slightly compile tested. ;)

I can test and make proper submit if you agree.

What do you think?

diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 026a313..630e72f 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -1657,7 +1657,7 @@ int vxlan_xmit_skb(struct vxlan_sock *vs,
 		return err;
 
 	return iptunnel_xmit(rt, skb, src, dst, IPPROTO_UDP, tos, ttl, df,
-			     false);
+			     false, false);
 }
 EXPORT_SYMBOL_GPL(vxlan_xmit_skb);
 
diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h
index 48ed75c..8863002 100644
--- a/include/net/ip_tunnels.h
+++ b/include/net/ip_tunnels.h
@@ -154,7 +154,8 @@ static inline u8 ip_tunnel_ecn_encap(u8 tos, const struct iphdr *iph,
 int iptunnel_pull_header(struct sk_buff *skb, int hdr_len, __be16 inner_proto);
 int iptunnel_xmit(struct rtable *rt, struct sk_buff *skb,
 		  __be32 src, __be32 dst, __u8 proto,
-		  __u8 tos, __u8 ttl, __be16 df, bool xnet);
+		  __u8 tos, __u8 ttl, __be16 df, bool xnet,
+		  bool clear_local_df);
 
 struct sk_buff *iptunnel_handle_offloads(struct sk_buff *skb, bool gre_csum,
 					 int gso_type_mask);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 8f519db..5773681 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -3903,12 +3903,13 @@ EXPORT_SYMBOL(skb_try_coalesce);
  */
 void skb_scrub_packet(struct sk_buff *skb, bool xnet)
 {
-	if (xnet)
+	if (xnet) {
 		skb_orphan(skb);
+		skb->local_df = 0;
+	}
 	skb->tstamp.tv64 = 0;
 	skb->pkt_type = PACKET_HOST;
 	skb->skb_iif = 0;
-	skb->local_df = 0;
 	skb_dst_drop(skb);
 	skb->mark = 0;
 	secpath_reset(skb);
diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c
index c0e3cb7..2922ec9 100644
--- a/net/ipv4/ip_tunnel.c
+++ b/net/ipv4/ip_tunnel.c
@@ -721,7 +721,8 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct net_device *dev,
 	}
 
 	err = iptunnel_xmit(rt, skb, fl4.saddr, fl4.daddr, protocol,
-			    tos, ttl, df, !net_eq(tunnel->net, dev_net(dev)));
+			    tos, ttl, df, !net_eq(tunnel->net, dev_net(dev)),
+			    true);
 	iptunnel_xmit_stats(err, &dev->stats, dev->tstats);
 
 	return;
diff --git a/net/ipv4/ip_tunnel_core.c b/net/ipv4/ip_tunnel_core.c
index 6156f4e..93beb04 100644
--- a/net/ipv4/ip_tunnel_core.c
+++ b/net/ipv4/ip_tunnel_core.c
@@ -48,13 +48,16 @@
 
 int iptunnel_xmit(struct rtable *rt, struct sk_buff *skb,
 		  __be32 src, __be32 dst, __u8 proto,
-		  __u8 tos, __u8 ttl, __be16 df, bool xnet)
+		  __u8 tos, __u8 ttl, __be16 df, bool xnet, 
+		  bool clear_df)
 {
 	int pkt_len = skb->len;
 	struct iphdr *iph;
 	int err;
 
 	skb_scrub_packet(skb, xnet);
+	if (clear_df)
+		skb->local_df = 0;
 
 	skb_clear_hash(skb);
 	skb_dst_set(skb, &rt->dst);
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
index 3dfbcf1..cc0be0e 100644
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -974,7 +974,7 @@ static netdev_tx_t ipip6_tunnel_xmit(struct sk_buff *skb,
 	}
 
 	err = iptunnel_xmit(rt, skb, fl4.saddr, fl4.daddr, IPPROTO_IPV6, tos,
-			    ttl, df, !net_eq(tunnel->net, dev_net(dev)));
+			    ttl, df, !net_eq(tunnel->net, dev_net(dev)), true);
 	iptunnel_xmit_stats(err, &dev->stats, dev->tstats);
 	return NETDEV_TX_OK;
 

^ permalink raw reply related

* Re: [PATCH] 6lowpan: fix lockdep splats
From: David Miller @ 2014-02-11  1:51 UTC (permalink / raw)
  To: eric.dumazet; +Cc: alex.aring, netdev
In-Reply-To: <1392061355.6615.52.camel@edumazet-glaptop2.roam.corp.google.com>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Mon, 10 Feb 2014 11:42:35 -0800

> From: Eric Dumazet <edumazet@google.com>
> 
> When a device ndo_start_xmit() calls again dev_queue_xmit(),
> lockdep can complain because dev_queue_xmit() is re-entered and the
> spinlocks protecting tx queues share a common lockdep class.
> 
> Same issue was fixed for bonding/l2tp/ppp in commits 
> 
> 0daa2303028a6 ("[PATCH] bonding: lockdep annotation")
> 49ee49202b4ac ("bonding: set qdisc_tx_busylock to avoid LOCKDEP splat")
> 23d3b8bfb8eb2 ("net: qdisc busylock needs lockdep annotations ")
> 303c07db487be ("ppp: set qdisc_tx_busylock to avoid LOCKDEP splat ")
> 
> Reported-by: Alexander Aring <alex.aring@gmail.com>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Tested-by: Alexander Aring <alex.aring@gmail.com>

Applied, thanks Eric.

^ permalink raw reply

* Re: [PATCH] alx: add missing stats_lock spinlock init
From: David Miller @ 2014-02-11  1:51 UTC (permalink / raw)
  To: jogreene; +Cc: netdev
In-Reply-To: <1392060844-30995-1-git-send-email-jogreene@redhat.com>

From: John Greene <jogreene@redhat.com>
Date: Mon, 10 Feb 2014 14:34:04 -0500

> Trivial fix for init time stack trace occuring in
> alx_get_stats64 upon start up. Should have been part of
> commit adding the spinlock:
> f1b6b106 alx: add alx_get_stats64 operation
> 
> Signed-off-by: John Greene <jogreene@redhat.com>

Applied, thank you.

^ permalink raw reply

* [PATCH v2 1/2] sctp: fix a missed .data initialization
From: Wang Weidong @ 2014-02-11  1:49 UTC (permalink / raw)
  To: nhorman, davem, vyasevich; +Cc: dborkman, netdev
In-Reply-To: <1392083346-9420-1-git-send-email-wangweidong1@huawei.com>

As commit 3c68198e75111a90("sctp: Make hmac algorithm selection for
 cookie generation dynamic"), we miss the .data initialization.
If we don't use the net_namespace, the problem that parts of the
sysctl configuration won't be isolation and won't occur.

In sctp_sysctl_net_register(), we register the sysctl for each
net, in the for(), we use the 'table[i].data' as check condition, so
when the 'i' is the index of sctp_hmac_alg, the data is NULL, then
break. So add the .data initialization.

Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
---
 net/sctp/sysctl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
index b0565af..2ddb401 100644
--- a/net/sctp/sysctl.c
+++ b/net/sctp/sysctl.c
@@ -152,6 +152,7 @@ static struct ctl_table sctp_net_table[] = {
 	},
 	{
 		.procname	= "cookie_hmac_alg",
+		.data		= &init_net.sctp.sctp_hmac_alg,
 		.maxlen		= 8,
 		.mode		= 0644,
 		.proc_handler	= proc_sctp_do_hmac_alg,
-- 
1.7.12

^ permalink raw reply related

* [PATCH v2 0/2] sctp: fix a problem with net_namespace
From: Wang Weidong @ 2014-02-11  1:49 UTC (permalink / raw)
  To: nhorman, davem, vyasevich; +Cc: dborkman, netdev

fix a problem with net_namespace, and optimize
the sctp_sysctl_net_register.

v1 -> v2:
  -patch1: add Neil's ACK.

Wang Weidong (2):
  sctp: fix a missed .data initialization
  sctp: optimize the sctp_sysctl_net_register

 net/sctp/sysctl.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

-- 
1.7.12

^ permalink raw reply

* [PATCH v2 2/2] sctp: optimize the sctp_sysctl_net_register
From: Wang Weidong @ 2014-02-11  1:49 UTC (permalink / raw)
  To: nhorman, davem, vyasevich; +Cc: dborkman, netdev
In-Reply-To: <1392083346-9420-1-git-send-email-wangweidong1@huawei.com>

Here, when the net is init_net, we needn't to kmemdup the ctl_table
again. So add a check for net. Also we can save some memory.

Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
---
 net/sctp/sysctl.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
index 2ddb401..b65396b 100644
--- a/net/sctp/sysctl.c
+++ b/net/sctp/sysctl.c
@@ -403,15 +403,17 @@ static int proc_sctp_do_rto_max(struct ctl_table *ctl, int write,
 
 int sctp_sysctl_net_register(struct net *net)
 {
-	struct ctl_table *table;
-	int i;
+	struct ctl_table *table = sctp_net_table;
 
-	table = kmemdup(sctp_net_table, sizeof(sctp_net_table), GFP_KERNEL);
-	if (!table)
-		return -ENOMEM;
+	if (!net_eq(net, &init_net)) {
+		int i;
+		table = kmemdup(sctp_net_table, sizeof(sctp_net_table), GFP_KERNEL);
+		if (!table)
+			return -ENOMEM;
 
-	for (i = 0; table[i].data; i++)
-		table[i].data += (char *)(&net->sctp) - (char *)&init_net.sctp;
+		for (i = 0; table[i].data; i++)
+			table[i].data += (char *)(&net->sctp) - (char *)&init_net.sctp;
+	}
 
 	net->sctp.sysctl_header = register_net_sysctl(net, "net/sctp", table);
 	return 0;
-- 
1.7.12

^ permalink raw reply related

* Re: Latest version of zero-copy fix
From: David Miller @ 2014-02-11  1:48 UTC (permalink / raw)
  To: ryao; +Cc: netdev
In-Reply-To: <52F97D5F.4040100@gentoo.org>

From: Richard Yao <ryao@gentoo.org>
Date: Mon, 10 Feb 2014 20:31:11 -0500

> 1. We allocate a temporary buffer with vmalloc().
> 2. We read the module into that buffer.

Ok, I didn't catch this, I'll apply your patch thanks!

^ permalink raw reply

* Re: [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Hannes Frederic Sowa @ 2014-02-11  1:45 UTC (permalink / raw)
  To: Cong Wang; +Cc: netdev, Patrick McHardy, David S. Miller, Cong Wang
In-Reply-To: <1392082593-7742-1-git-send-email-xiyou.wangcong@gmail.com>

On Mon, Feb 10, 2014 at 05:36:33PM -0800, Cong Wang wrote:
> From: Cong Wang <cwang@twopensource.com>
> 
> BZ: https://bugzilla.kernel.org/show_bug.cgi?id=66691
> 
> There is no point to allow moving a macvlan device to
> another namespace while the lower device is still in
> this namespace. tunnels already set this flag.

Can't we solve this somehow differently, like not showing anything at all
etc.? I guess this is a feature some people use and haven't noticed yet.

Greetings,

  Hannes

^ permalink raw reply

* RTL8153 fails to get link after applying c7de7dec2 to 3.8 kernel
From: Grant Grundler @ 2014-02-11  1:38 UTC (permalink / raw)
  To: Hayes Wang; +Cc: inky.yoo, netdev, David Miller

Hi Hayes,
"r8152: ecm and vendor modes coexist" patch prevents RTL8153 device
from establishing a link in the backport I've worked on for
chromeos-3.8 kernel. IIRC, r815x driver claims this device. Without
this patch, r8152 is able to establish a link with RTL8153 device.

This was the last patch in the series of 40 patches that I
cherry-picked and r8152 driver seems to "basically" work WITHOUT this
last patch.  I've not tested much yet...but DHCP worked and I'm able
to run netperf tests. I've not investigated why this patch fails and
probably won't.

If you have opportunity, can you confirm RTL8153 devices work for you
with any recent upstream kernel?

I'm testing with a Realtek branded device that lsusb says is:
   Bus 002 Device 002: ID 0bda:8153 Realtek Semiconductor Corp.

cheers
grant

git log drivers/net/usb/r8152.c
...
commit c7de7dec2ff2528ec630c55e68c25bd9d972b677
Author: hayeswang <hayeswang@realtek.com>
Date:   Wed Jan 15 10:42:16 2014 +0800

    r8152: ecm and vendor modes coexist

    Remove the limitation that the ecm and r8152 drivers couldn't coexist.
     - Remove the devices from the blacklist of relative drivers.
     - Remove usb_driver_set_configuration() from r8152 driver.
     - Modify the id_table of the r8152 driver for the vendor mode only.

    Signed-off-by: Hayes Wang <hayeswang@realtek.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

^ permalink raw reply

* [Patch net] macvlan: add NETIF_F_NETNS_LOCAL flag
From: Cong Wang @ 2014-02-11  1:36 UTC (permalink / raw)
  To: netdev; +Cc: Patrick McHardy, David S. Miller, Cong Wang, Cong Wang

From: Cong Wang <cwang@twopensource.com>

BZ: https://bugzilla.kernel.org/show_bug.cgi?id=66691

There is no point to allow moving a macvlan device to
another namespace while the lower device is still in
this namespace. tunnels already set this flag.

Cc: Patrick McHardy <kaber@trash.net>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <cwang@twopensource.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>

---
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 8433de4..9bc3b13 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -539,7 +539,7 @@ static int macvlan_init(struct net_device *dev)
 	dev->state		= (dev->state & ~MACVLAN_STATE_MASK) |
 				  (lowerdev->state & MACVLAN_STATE_MASK);
 	dev->features 		= lowerdev->features & MACVLAN_FEATURES;
-	dev->features		|= NETIF_F_LLTX;
+	dev->features		|= NETIF_F_LLTX | NETIF_F_NETNS_LOCAL;
 	dev->gso_max_size	= lowerdev->gso_max_size;
 	dev->iflink		= lowerdev->ifindex;
 	dev->hard_header_len	= lowerdev->hard_header_len;
@@ -699,7 +699,7 @@ static netdev_features_t macvlan_fix_features(struct net_device *dev,
 	features = netdev_increment_features(vlan->lowerdev->features,
 					     features,
 					     mask);
-	features |= NETIF_F_LLTX;
+	features |= NETIF_F_LLTX | NETIF_F_NETNS_LOCAL;
 
 	return features;
 }

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox