1. 14 8月, 2018 38 次提交
    • D
      Merge tag 'mlx5e-updates-2018-08-10' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · c371e7b4
      David S. Miller 提交于
      Saeed Mahameed says:
      
      ====================
      mlx5e-updates-2018-08-10
      
      This series provides the following updates to mlx5e netdevice driver.
      
      1) First 4 patches extends the support for ethtool rxnfc flow steering
         - Added ipv6 support
         - l4 proto ip field for both ip6 and ip4
      
      2) Next 4 patches, reorganizing flow steering structures and declaration into
      one header file, and add two Kconfig flags to allow disabling/enabling mlx5
      netdevice rx flow steering at compile time:
      CONFIG_MLX5_EN_ARFS for en_arfs.c
      CONFIG_MLX5_EN_RXNFC for en_fs_ehtool.c
      
      3) More kconfig flags dependencies
      - vxlan.c depends on CONFIG_VXLAN
      - clock.c depends on CONFIG_PTP_1588_CLOCK
      
      4) Reorganize the Makefile
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c371e7b4
    • E
      net/mlx5: Improve argument name for add flow API · cf916ffb
      Eli Cohen 提交于
      The last argument to mlx5_add_flow_rules passes the number of
      destinations in the struct pointed to by the dest arg. Change the name
      to better reflect this fact.
      Signed-off-by: NEli Cohen <eli@mellanox.com>
      Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      cf916ffb
    • S
      net/mlx5: Reorganize the makefile · a8274b85
      Saeed Mahameed 提交于
      Reorganize the Makefile and group files together according to their
      functionality and importance.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      a8274b85
    • M
      net/mlx5e: clock.c depends on CONFIG_PTP_1588_CLOCK · 6dbc80ca
      Moshe Shemesh 提交于
      lib/clock.c includes clock related functions which require ptp support.
      Thus compile out lib/clock.c and add the needed function stubs in case
      kconfig CONFIG_PTP_1588_CLOCK is off.
      Signed-off-by: NMoshe Shemesh <moshe@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      6dbc80ca
    • S
      net/mlx5e: vxlan.c depends on CONFIG_VXLAN · c5791ab0
      Saeed Mahameed 提交于
      When vxlan is not enabled by kernel, no need to enable it in mlx5.
      Compile out lib/vxlan.c if CONFIG_VXLAN is not selected.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Reviewed-by: NMoshe Shemesh <moshe@mellanox.com>
      Reviewed-by: NEran Ben Elisha <eranbe@mellanox.com>
      c5791ab0
    • S
      net/mlx5e: Move flow steering declarations into en/fs.h · 44f68ae0
      Saeed Mahameed 提交于
      Move flow steering declarations and definitions into the dedicated
      en/fs.h header file
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Reviewed-by: NMoshe Shemesh <moshe@mellanox.com>
      44f68ae0
    • S
      net/mlx5e: Add CONFIG_MLX5_EN_ARFS for accelerated flow steering support · ec080045
      Saeed Mahameed 提交于
      Add new mlx5 Kconfig flag to allow selecting accelerated flow steering
      support, and compile out en_arfs.c if not selected.
      
      Move arfs declarations and definitions to en/fs.h header file.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Reviewed-by: NMoshe Shemesh <moshe@mellanox.com>
      ec080045
    • S
      net/mlx5e: Add CONFIG_MLX5_EN_RXNFC for ethtool rx nfc · fe6d86b3
      Saeed Mahameed 提交于
      Add new mlx5 Kconfig flag to allow selecting ethtool rx nfc support,
      and compile out en_fs_ehtool.c if not selected.
      
      Add en/fs.h header file to host all steering declarations and
      definitions.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Reviewed-by: NMoshe Shemesh <moshe@mellanox.com>
      fe6d86b3
    • S
      net/mlx5e: Ethtool steering, move ethtool callbacks · cff2b1e3
      Saeed Mahameed 提交于
      Move ethool rxnfc callback into en_fs_etthool file where they belong.
      This will allow us to make many ethtool fs related helper functions
      static.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      cff2b1e3
    • S
      net/mlx5e: Ethtool steering, l4 proto support · 974ce34a
      Saeed Mahameed 提交于
      Add support for l4 proto ip field in ethtool flow steering.
      
      Example: Redirect icmpv6 to rx queue #2
      
      ethtool -U eth0 flow-type ip6 l4proto 58 action 2
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      974ce34a
    • S
      net/mlx5e: Ethtool steering, ip6 support · ca7deb02
      Saeed Mahameed 提交于
      Add ip6 support for ethtool flow steering.
      
      New supported flow types: ip6|tcp6|udp6|
      Supported fields: src-ip|dst-ip|src-port|dst-port
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      ca7deb02
    • S
      net/mlx5e: Ethtool steering flow parsing refactoring · 142644f8
      Saeed Mahameed 提交于
      Have a parsing function per flow type, that converts from ethtool rx flow
      spec to mlx5 flow spec.
      
      Will be useful to add support for ip6 ethtool flow steering in the
      next patch.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      142644f8
    • S
      net/mlx5e: Ethtool steering flow validation refactoring · b29c61da
      Saeed Mahameed 提交于
      Have a ethtool rx flow spec validation helper function per flow type.
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      b29c61da
    • V
      net: sched: act_ife: disable bh when taking ife_mod_lock · 42c625a4
      Vlad Buslov 提交于
      Lockdep reports deadlock for following locking scenario in ife action:
      
      Task one:
      1) Executes ife action update.
      2) Takes tcfa_lock.
      3) Waits on ife_mod_lock which is already taken by task two.
      
      Task two:
      
      1) Executes any path that obtains ife_mod_lock without disabling bh (any
      path that takes ife_mod_lock while holding tcfa_lock has bh disabled) like
      loading a meta module, or creating new action.
      2) Takes ife_mod_lock.
      3) Task is preempted by rate estimator timer.
      4) Timer callback waits on tcfa_lock which is taken by task one.
      
      In described case tasks deadlock because they take same two locks in
      different order. To prevent potential deadlock reported by lockdep, always
      disable bh when obtaining ife_mod_lock.
      
      Lockdep warning:
      
      [  508.101192] =====================================================
      [  508.107708] WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected
      [  508.114728] 4.18.0-rc8+ #646 Not tainted
      [  508.119050] -----------------------------------------------------
      [  508.125559] tc/5460 [HC0[0]:SC0[2]:HE1:SE0] is trying to acquire:
      [  508.132025] 000000005a938c68 (ife_mod_lock){++++}, at: find_ife_oplist+0x1e/0xc0 [act_ife]
      [  508.140996]
                     and this task is already holding:
      [  508.147548] 00000000d46f6c56 (&(&p->tcfa_lock)->rlock){+.-.}, at: tcf_ife_init+0x6ae/0xf40 [act_ife]
      [  508.157371] which would create a new lock dependency:
      [  508.162828]  (&(&p->tcfa_lock)->rlock){+.-.} -> (ife_mod_lock){++++}
      [  508.169572]
                     but this new dependency connects a SOFTIRQ-irq-safe lock:
      [  508.178197]  (&(&p->tcfa_lock)->rlock){+.-.}
      [  508.178201]
                     ... which became SOFTIRQ-irq-safe at:
      [  508.189771]   _raw_spin_lock+0x2c/0x40
      [  508.193906]   est_fetch_counters+0x41/0xb0
      [  508.198391]   est_timer+0x83/0x3c0
      [  508.202180]   call_timer_fn+0x16a/0x5d0
      [  508.206400]   run_timer_softirq+0x399/0x920
      [  508.210967]   __do_softirq+0x157/0x97d
      [  508.215102]   irq_exit+0x152/0x1c0
      [  508.218888]   smp_apic_timer_interrupt+0xc0/0x4e0
      [  508.223976]   apic_timer_interrupt+0xf/0x20
      [  508.228540]   cpuidle_enter_state+0xf8/0x5d0
      [  508.233198]   do_idle+0x28a/0x350
      [  508.236881]   cpu_startup_entry+0xc7/0xe0
      [  508.241296]   start_secondary+0x2e8/0x3f0
      [  508.245678]   secondary_startup_64+0xa5/0xb0
      [  508.250347]
                     to a SOFTIRQ-irq-unsafe lock:  (ife_mod_lock){++++}
      [  508.256531]
                     ... which became SOFTIRQ-irq-unsafe at:
      [  508.267279] ...
      [  508.267283]   _raw_write_lock+0x2c/0x40
      [  508.273653]   register_ife_op+0x118/0x2c0 [act_ife]
      [  508.278926]   do_one_initcall+0xf7/0x4d9
      [  508.283214]   do_init_module+0x18b/0x44e
      [  508.287521]   load_module+0x4167/0x5730
      [  508.291739]   __do_sys_finit_module+0x16d/0x1a0
      [  508.296654]   do_syscall_64+0x7a/0x3f0
      [  508.300788]   entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  508.306302]
                     other info that might help us debug this:
      
      [  508.315286]  Possible interrupt unsafe locking scenario:
      
      [  508.322771]        CPU0                    CPU1
      [  508.327681]        ----                    ----
      [  508.332604]   lock(ife_mod_lock);
      [  508.336300]                                local_irq_disable();
      [  508.342608]                                lock(&(&p->tcfa_lock)->rlock);
      [  508.349793]                                lock(ife_mod_lock);
      [  508.355990]   <Interrupt>
      [  508.358974]     lock(&(&p->tcfa_lock)->rlock);
      [  508.363803]
                      *** DEADLOCK ***
      
      [  508.370715] 2 locks held by tc/5460:
      [  508.374680]  #0: 00000000e27e4fa4 (rtnl_mutex){+.+.}, at: rtnetlink_rcv_msg+0x583/0x7b0
      [  508.383366]  #1: 00000000d46f6c56 (&(&p->tcfa_lock)->rlock){+.-.}, at: tcf_ife_init+0x6ae/0xf40 [act_ife]
      [  508.393648]
                     the dependencies between SOFTIRQ-irq-safe lock and the holding lock:
      [  508.403505] -> (&(&p->tcfa_lock)->rlock){+.-.} ops: 1001553 {
      [  508.409646]    HARDIRQ-ON-W at:
      [  508.413136]                     _raw_spin_lock_bh+0x34/0x40
      [  508.419059]                     gnet_stats_start_copy_compat+0xa2/0x230
      [  508.426021]                     gnet_stats_start_copy+0x16/0x20
      [  508.432333]                     tcf_action_copy_stats+0x95/0x1d0
      [  508.438735]                     tcf_action_dump_1+0xb0/0x4e0
      [  508.444795]                     tcf_action_dump+0xca/0x200
      [  508.450673]                     tcf_exts_dump+0xd9/0x320
      [  508.456392]                     fl_dump+0x1b7/0x4a0 [cls_flower]
      [  508.462798]                     tcf_fill_node+0x380/0x530
      [  508.468601]                     tfilter_notify+0xdf/0x1c0
      [  508.474404]                     tc_new_tfilter+0x84a/0xc90
      [  508.480270]                     rtnetlink_rcv_msg+0x5bd/0x7b0
      [  508.486419]                     netlink_rcv_skb+0x184/0x220
      [  508.492394]                     netlink_unicast+0x31b/0x460
      [  508.507411]                     netlink_sendmsg+0x3fb/0x840
      [  508.513390]                     sock_sendmsg+0x7b/0xd0
      [  508.518907]                     ___sys_sendmsg+0x4c6/0x610
      [  508.524797]                     __sys_sendmsg+0xd7/0x150
      [  508.530510]                     do_syscall_64+0x7a/0x3f0
      [  508.536201]                     entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  508.543301]    IN-SOFTIRQ-W at:
      [  508.546834]                     _raw_spin_lock+0x2c/0x40
      [  508.552522]                     est_fetch_counters+0x41/0xb0
      [  508.558571]                     est_timer+0x83/0x3c0
      [  508.563912]                     call_timer_fn+0x16a/0x5d0
      [  508.569699]                     run_timer_softirq+0x399/0x920
      [  508.575840]                     __do_softirq+0x157/0x97d
      [  508.581538]                     irq_exit+0x152/0x1c0
      [  508.586882]                     smp_apic_timer_interrupt+0xc0/0x4e0
      [  508.593533]                     apic_timer_interrupt+0xf/0x20
      [  508.599686]                     cpuidle_enter_state+0xf8/0x5d0
      [  508.605895]                     do_idle+0x28a/0x350
      [  508.611147]                     cpu_startup_entry+0xc7/0xe0
      [  508.617097]                     start_secondary+0x2e8/0x3f0
      [  508.623029]                     secondary_startup_64+0xa5/0xb0
      [  508.629245]    INITIAL USE at:
      [  508.632686]                    _raw_spin_lock_bh+0x34/0x40
      [  508.638557]                    gnet_stats_start_copy_compat+0xa2/0x230
      [  508.645491]                    gnet_stats_start_copy+0x16/0x20
      [  508.651719]                    tcf_action_copy_stats+0x95/0x1d0
      [  508.657992]                    tcf_action_dump_1+0xb0/0x4e0
      [  508.663937]                    tcf_action_dump+0xca/0x200
      [  508.669716]                    tcf_exts_dump+0xd9/0x320
      [  508.675337]                    fl_dump+0x1b7/0x4a0 [cls_flower]
      [  508.681650]                    tcf_fill_node+0x380/0x530
      [  508.687366]                    tfilter_notify+0xdf/0x1c0
      [  508.693031]                    tc_new_tfilter+0x84a/0xc90
      [  508.698820]                    rtnetlink_rcv_msg+0x5bd/0x7b0
      [  508.704869]                    netlink_rcv_skb+0x184/0x220
      [  508.710758]                    netlink_unicast+0x31b/0x460
      [  508.716627]                    netlink_sendmsg+0x3fb/0x840
      [  508.722510]                    sock_sendmsg+0x7b/0xd0
      [  508.727931]                    ___sys_sendmsg+0x4c6/0x610
      [  508.733729]                    __sys_sendmsg+0xd7/0x150
      [  508.739346]                    do_syscall_64	+0x7a/0x3f0
      [  508.744943]                    entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  508.751930]  }
      [  508.753964]  ... key      at: [<ffffffff916b3e20>] __key.61145+0x0/0x40
      [  508.760946]  ... acquired at:
      [  508.764294]    _raw_read_lock+0x2f/0x40
      [  508.768513]    find_ife_oplist+0x1e/0xc0 [act_ife]
      [  508.773692]    tcf_ife_init+0x82f/0xf40 [act_ife]
      [  508.778785]    tcf_action_init_1+0x510/0x750
      [  508.783468]    tcf_action_init+0x1e8/0x340
      [  508.787938]    tcf_action_add+0xc5/0x240
      [  508.792241]    tc_ctl_action+0x203/0x2a0
      [  508.796550]    rtnetlink_rcv_msg+0x5bd/0x7b0
      [  508.801200]    netlink_rcv_skb+0x184/0x220
      [  508.805674]    netlink_unicast+0x31b/0x460
      [  508.810129]    netlink_sendmsg+0x3fb/0x840
      [  508.814611]    sock_sendmsg+0x7b/0xd0
      [  508.818665]    ___sys_sendmsg+0x4c6/0x610
      [  508.823029]    __sys_sendmsg+0xd7/0x150
      [  508.827246]    do_syscall_64+0x7a/0x3f0
      [  508.831483]    entry_SYSCALL_64_after_hwframe+0x49/0xbe
      
                     the dependencies between the lock to be acquired
      [  508.838945]  and SOFTIRQ-irq-unsafe lock:
      [  508.851177] -> (ife_mod_lock){++++} ops: 95 {
      [  508.855920]    HARDIRQ-ON-W at:
      [  508.859478]                     _raw_write_lock+0x2c/0x40
      [  508.865264]                     register_ife_op+0x118/0x2c0 [act_ife]
      [  508.872071]                     do_one_initcall+0xf7/0x4d9
      [  508.877947]                     do_init_module+0x18b/0x44e
      [  508.883819]                     load_module+0x4167/0x5730
      [  508.889595]                     __do_sys_finit_module+0x16d/0x1a0
      [  508.896043]                     do_syscall_64+0x7a/0x3f0
      [  508.901734]                     entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  508.908827]    HARDIRQ-ON-R at:
      [  508.912359]                     _raw_read_lock+0x2f/0x40
      [  508.918043]                     find_ife_oplist+0x1e/0xc0 [act_ife]
      [  508.924692]                     tcf_ife_init+0x82f/0xf40 [act_ife]
      [  508.931252]                     tcf_action_init_1+0x510/0x750
      [  508.937393]                     tcf_action_init+0x1e8/0x340
      [  508.943366]                     tcf_action_add+0xc5/0x240
      [  508.949130]                     tc_ctl_action+0x203/0x2a0
      [  508.954922]                     rtnetlink_rcv_msg+0x5bd/0x7b0
      [  508.961024]                     netlink_rcv_skb+0x184/0x220
      [  508.966970]                     netlink_unicast+0x31b/0x460
      [  508.972915]                     netlink_sendmsg+0x3fb/0x840
      [  508.978859]                     sock_sendmsg+0x7b/0xd0
      [  508.984400]                     ___sys_sendmsg+0x4c6/0x610
      [  508.990264]                     __sys_sendmsg+0xd7/0x150
      [  508.995952]                     do_syscall_64+0x7a/0x3f0
      [  509.001643]                     entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  509.008722]    SOFTIRQ-ON-W at:\
      [  509.012242]                     _raw_write_lock+0x2c/0x40
      [  509.018013]                     register_ife_op+0x118/0x2c0 [act_ife]
      [  509.024841]                     do_one_initcall+0xf7/0x4d9
      [  509.030720]                     do_init_module+0x18b/0x44e
      [  509.036604]                     load_module+0x4167/0x5730
      [  509.042397]                     __do_sys_finit_module+0x16d/0x1a0
      [  509.048865]                     do_syscall_64+0x7a/0x3f0
      [  509.054551]                     entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  509.061636]    SOFTIRQ-ON-R at:
      [  509.065145]                     _raw_read_lock+0x2f/0x40
      [  509.070854]                     find_ife_oplist+0x1e/0xc0 [act_ife]
      [  509.077515]                     tcf_ife_init+0x82f/0xf40 [act_ife]
      [  509.084051]                     tcf_action_init_1+0x510/0x750
      [  509.090172]                     tcf_action_init+0x1e8/0x340
      [  509.096124]                     tcf_action_add+0xc5/0x240
      [  509.101891]                     tc_ctl_action+0x203/0x2a0
      [  509.107671]                     rtnetlink_rcv_msg+0x5bd/0x7b0
      [  509.113811]                     netlink_rcv_skb+0x184/0x220
      [  509.119768]                     netlink_unicast+0x31b/0x460
      [  509.125716]                     netlink_sendmsg+0x3fb/0x840
      [  509.131668]                     sock_sendmsg+0x7b/0xd0
      [  509.137167]                     ___sys_sendmsg+0x4c6/0x610
      [  509.143010]                     __sys_sendmsg+0xd7/0x150
      [  509.148718]                     do_syscall_64+0x7a/0x3f0
      [  509.154443]                     entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  509.161533]    INITIAL USE at:
      [  509.164956]                    _raw_read_lock+0x2f/0x40
      [  509.170574]                    find_ife_oplist+0x1e/0xc0 [act_ife]
      [  509.177134]                    tcf_ife_init+0x82f/0xf40 [act_ife]
      [  509.183619]                    tcf_action_init_1+0x510/0x750
      [  509.189674]                    tcf_action_init+0x1e8/0x340
      [  509.195534]                    tcf_action_add+0xc5/0x240
      [  509.201229]                    tc_ctl_action+0x203/0x2a0
      [  509.206920]                    rtnetlink_rcv_msg+0x5bd/0x7b0
      [  509.212936]                    netlink_rcv_skb+0x184/0x220
      [  509.218818]                    netlink_unicast+0x31b/0x460
      [  509.224699]                    netlink_sendmsg+0x3fb/0x840
      [  509.230581]                    sock_sendmsg+0x7b/0xd0
      [  509.235984]                    ___sys_sendmsg+0x4c6/0x610
      [  509.241791]                    __sys_sendmsg+0xd7/0x150
      [  509.247425]                    do_syscall_64+0x7a/0x3f0
      [  509.253007]                    entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  509.259975]  }
      [  509.261998]  ... key      at: [<ffffffffc1554258>] ife_mod_lock+0x18/0xffffffffffff8dc0 [act_ife]
      [  509.271569]  ... acquired at:
      [  509.274912]    _raw_read_lock+0x2f/0x40
      [  509.279134]    find_ife_oplist+0x1e/0xc0 [act_ife]
      [  509.284324]    tcf_ife_init+0x82f/0xf40 [act_ife]
      [  509.289425]    tcf_action_init_1+0x510/0x750
      [  509.294068]    tcf_action_init+0x1e8/0x340
      [  509.298553]    tcf_action_add+0xc5/0x240
      [  509.302854]    tc_ctl_action+0x203/0x2a0
      [  509.307153]    rtnetlink_rcv_msg+0x5bd/0x7b0
      [  509.311805]    netlink_rcv_skb+0x184/0x220
      [  509.316282]    netlink_unicast+0x31b/0x460
      [  509.320769]    netlink_sendmsg+0x3fb/0x840
      [  509.325248]    sock_sendmsg+0x7b/0xd0
      [  509.329290]    ___sys_sendmsg+0x4c6/0x610
      [  509.333687]    __sys_sendmsg+0xd7/0x150
      [  509.337902]    do_syscall_64+0x7a/0x3f0
      [  509.342116]    entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  509.349601]
                     stack backtrace:
      [  509.354663] CPU: 6 PID: 5460 Comm: tc Not tainted 4.18.0-rc8+ #646
      [  509.361216] Hardware name: Supermicro SYS-2028TP-DECR/X10DRT-P, BIOS 2.0b 03/30/2017
      
      Fixes: ef6980b6 ("introduce IFE action")
      Signed-off-by: NVlad Buslov <vladbu@mellanox.com>
      Acked-by: NJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      42c625a4
    • D
      Merge branch 'for-upstream' of... · bb2a0812
      David S. Miller 提交于
      Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
      
      Johan Hedberg says:
      
      ====================
      pull request: bluetooth-next 2018-08-13
      
      There was one pretty bad bug that slipped into the MediaTek HCI driver
      in the last bluetooth-next pull request. Would it be possible to get
      this one-liner fix pulled to net-next before you make your first 4.19
      pull request for Linus? Thanks.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bb2a0812
    • D
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · c1617fb4
      David S. Miller 提交于
      Daniel Borkmann says:
      
      ====================
      pull-request: bpf-next 2018-08-13
      
      The following pull-request contains BPF updates for your *net-next* tree.
      
      The main changes are:
      
      1) Add driver XDP support for veth. This can be used in conjunction with
         redirect of another XDP program e.g. sitting on NIC so the xdp_frame
         can be forwarded to the peer veth directly without modification,
         from Toshiaki.
      
      2) Add a new BPF map type REUSEPORT_SOCKARRAY and prog type SK_REUSEPORT
         in order to provide more control and visibility on where a SO_REUSEPORT
         sk should be located, and the latter enables to directly select a sk
         from the bpf map. This also enables map-in-map for application migration
         use cases, from Martin.
      
      3) Add a new BPF helper bpf_skb_ancestor_cgroup_id() that returns the id
         of cgroup v2 that is the ancestor of the cgroup associated with the
         skb at the ancestor_level, from Andrey.
      
      4) Implement BPF fs map pretty-print support based on BTF data for regular
         hash table and LRU map, from Yonghong.
      
      5) Decouple the ability to attach BTF for a map from the key and value
         pretty-printer in BPF fs, and enable further support of BTF for maps for
         percpu and LPM trie, from Daniel.
      
      6) Implement a better BPF sample of using XDP's CPU redirect feature for
         load balancing SKB processing to remote CPU. The sample implements the
         same XDP load balancing as Suricata does which is symmetric hash based
         on IP and L4 protocol, from Jesper.
      
      7) Revert adding NULL pointer check with WARN_ON_ONCE() in __xdp_return()'s
         critical path as it is ensured that the allocator is present, from Björn.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c1617fb4
    • D
      Merge tag 'wireless-drivers-next-for-davem-2018-08-12' of... · 961d9735
      David S. Miller 提交于
      Merge tag 'wireless-drivers-next-for-davem-2018-08-12' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
      
      Kalle Valo says:
      
      ====================
      pull-request: wireless-drivers-next 2018-08-12
      
      wireless-drivers-next patches for 4.19
      
      Last set of new features for 4.19. Most notable is simplifying SSB
      debugging code with two Kconfig option removals and fixing mt76 USB
      build problems.
      
      Major changes:
      
      ath10k
      
      * add debugfs file warm_hw_reset
      
      wil6210
      
      * add debugfs files tx_latency, link_stats and link_stats_global
      
      * add 3-MSI support
      
      * allow scan on AP interface
      
      * support max aggregation window size 64
      
      ssb
      
      * remove CONFIG_SSB_SILENT and CONFIG_SSB_DEBUG Kconfig options
      
      mt76
      
      * fix build problems with recently added USB support
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      961d9735
    • Y
      liquidio: remove set but not used variable 'is25G' · 45c91fb2
      YueHaibing 提交于
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/net/ethernet/cavium/liquidio/lio_ethtool.c: In function 'lio_set_link_ksettings':
      drivers/net/ethernet/cavium/liquidio/lio_ethtool.c:392:6: warning:
       variable 'is25G' set but not used [-Wunused-but-set-variable]
      Signed-off-by: NYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      45c91fb2
    • Y
      cxgb4: remove set but not used variable 'spd' · 0ec45680
      YueHaibing 提交于
      Fixes gcc '-Wunused-but-set-variable' warning:
      drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c: In function 'print_port_info':
      drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c:5147:14: warning:
       variable 'spd' set but not used [-Wunused-but-set-variable]
      
      variable 'spd' is set but not used since
      commit 547fd272 ("cxgb4: Warn if device doesn't have enough PCI bandwidth")
      Signed-off-by: NYueHaibing <yuehaibing@huawei.com>
      Acked-by: NGanesh Goudar <ganeshgr@chelsio.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0ec45680
    • Y
      lan743x: lan743x: Remove duplicated include from lan743x_ptp.c · 3b20818b
      Yue Haibing 提交于
      Remove duplicated include.
      Signed-off-by: NYue Haibing <yuehaibing@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b20818b
    • Y
      virtio_net: remove duplicated include from virtio_net.c · 1150827b
      YueHaibing 提交于
      Remove duplicated include linux/netdevice.h
      Signed-off-by: NYueHaibing <yuehaibing@huawei.com>
      Acked-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1150827b
    • L
      packet: switch kvzalloc to allocate memory · 71e41286
      Li RongQing 提交于
      The patches includes following change:
      
      *Use modern kvzalloc()/kvfree() instead of custom allocations.
      
      *Remove order argument for alloc_pg_vec, it can get from req.
      
      *Remove order argument for free_pg_vec, free_pg_vec now uses
      kvfree which does not need order argument.
      
      *Remove pg_vec_order from struct packet_ring_buffer, no longer
      need to save/restore 'order'
      
      *Remove variable 'order' for packet_set_ring, it is now unused
      Signed-off-by: NZhang Yu <zhangyu31@baidu.com>
      Signed-off-by: NLi RongQing <lirongqing@baidu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      71e41286
    • Z
      net: Change the layout of structure trace_event_raw_fib_table_lookup · 0192e7d4
      Zong Li 提交于
      There is an unalignment access about the structure
      'trace_event_raw_fib_table_lookup'.
      
      In include/trace/events/fib.h, there is a memory operation which casting
      the 'src' data member to a pointer, and then store a value to this
      pointer point to.
      
      p32 = (__be32 *) __entry->src;
      *p32 = flp->saddr;
      
      The offset of 'src' in structure trace_event_raw_fib_table_lookup is not
      four bytes alignment. On some architectures, they don't permit the
      unalignment access, it need to pay the price to handle this situation in
      exception handler.
      
      Adjust the layout of structure to avoid this case.
      
      Fixes: 9f323973 ("net/ipv4: Udate fib_table_lookup tracepoint")
      Signed-off-by: NZong Li <zong@andestech.com>
      Acked-by: NDavid Ahern <dsahern@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0192e7d4
    • D
      Merge branch 'net-sched-actions-rename-for-grep-ability-and-consistency' · a72ce9ad
      David S. Miller 提交于
      Jamal Hadi Salim says:
      
      ====================
      net: sched: actions rename for grep-ability and consistency
      
      Having a structure (example tcf_mirred) and a function with the same name is
      not good for readability or grepability.
      
      This long overdue patchset improves it and make sure there is consistency
      across all actions
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a72ce9ad
    • J
    • J
    • J
    • J
    • J
    • J
    • J
    • J
    • J
    • J
    • J
    • J
    • J
    • W
      cpumask: make cpumask_next_wrap available without smp · 9af18e56
      Willem de Bruijn 提交于
      The kbuild robot shows build failure on machines without CONFIG_SMP:
      
        drivers/net/virtio_net.c:1916:10: error:
          implicit declaration of function 'cpumask_next_wrap'
      
      cpumask_next_wrap is exported from lib/cpumask.o, which has
      
          lib-$(CONFIG_SMP) += cpumask.o
      
      same as other functions, also define it as static inline in the
      NR_CPUS==1 branch in include/linux/cpumask.h.
      
      If wrap is true and next == start, return nr_cpumask_bits, or 1.
      Else wrap across the range of valid cpus, here [0].
      
      Fixes: 2ca653d6 ("virtio_net: Stripe queue affinities across cores.")
      Signed-off-by: NWillem de Bruijn <willemb@google.com>
      Tested-by: NKrzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9af18e56
  2. 13 8月, 2018 2 次提交