1. 28 Jun, 2018 25 commits
  2. 27 Jun, 2018 9 commits
  3. 26 Jun, 2018 6 commits
    • Petr Machata's avatar
      selftests: forwarding: mirror_gre_vlan_bridge_1q: Unset rp_filter · 27a2628b
      Petr Machata authored
      The IP addresses of tunnel endpoint at H3 are set at the VLAN device
      $h3.555. Therefore when test_gretap_untagged_egress() sets vlan 555 to
      egress untagged at $swp3, $h3's rp_filter rejects these packets. The
      test then spuriously fails.
      
      Therefore turn off net.ipv4.conf.{all, $h3}.rp_filter.
      
      Fixes: 9c7c8a82 ("selftests: forwarding: mirror_gre_vlan_bridge_1q: Add more tests")
      Signed-off-by: default avatarPetr Machata <petrm@mellanox.com>
      Reviewed-by: default avatarIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      27a2628b
    • Kees Cook's avatar
      mdio-mux-gpio: Remove VLA usage · 68cc444d
      Kees Cook authored
      In the quest to remove all stack VLA usage from the kernel[1], this
      allocates the values buffer during the callback instead of putting it
      on the stack.
      
      [1] https://lkml.kernel.org/r/CA+55aFzCG-zNmZwX4A2FQpadafLfEzK6CC=qPXydAacU1RqZWA@mail.gmail.comSigned-off-by: default avatarKees Cook <keescook@chromium.org>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      68cc444d
    • David S. Miller's avatar
      Merge branch 'net-sched-support-replay-of-filter-offload-when-binding-to-block' · a6e65e5d
      David S. Miller authored
      Jakub Kicinski says:
      
      ====================
      net: sched: support replay of filter offload when binding to block
      
      This series from John adds the ability to replay filter offload requests
      when new offload callback is being registered on a TC block.  This is most
      likely to take place for shared blocks today, when a block which already
      has rules is bound to another interface.  Prior to this patch set if any
      of the rules were offloaded the block bind would fail.
      
      A new tcf_proto_op is added to generate a filter-specific offload request.
      The new 'offload' op is supporting extack from day 0, hence we need to
      propagate extack to .ndo_setup_tc TC_BLOCK_BIND/TC_BLOCK_UNBIND and
      through tcf_block_cb_register() to tcf_block_playback_offloads().
      
      The immediate use of this patch set is to simplify life of drivers which
      require duplicating rules when sharing blocks.  Switch drivers (mlxsw)
      can bind ports to rule lists dynamically, NIC drivers generally don't
      have that ability and need the rules to be duplicated for each ingress
      they match on.  In code terms this means that switch drivers don't
      register multiple callbacks for each port.  NIC drivers do, and get a
      separate request and hance rule per-port, as if the block was not shared.
      The registration fails today, however, if some rules were already present.
      
      As John notes in description of patch 7, drivers which register multiple
      callbacks to shared blocks will likely need to flush the rules on block
      unbind.  This set makes the core not only replay the the offload add
      requests but also offload remove requests when callback is unregistered.
      
      v2:
       - name parameters in patch 2;
       - use unsigned int instead of u32 for in_hw_coun;
       - improve extack message in patch 7.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a6e65e5d
    • John Hurley's avatar
      net: sched: call reoffload op on block callback reg · 32636742
      John Hurley authored
      Call the reoffload tcf_proto_op on all tcf_proto nodes in all chains of a
      block when a callback tries to register to a block that already has
      offloaded rules. If all existing rules cannot be offloaded then the
      registration is rejected. This replaces the previous policy of rejecting
      such callback registration outright.
      
      On unregistration of a callback, the rules are flushed for that given cb.
      The implementation of block sharing in the NFP driver, for example,
      duplicates shared rules to all devs bound to a block. This meant that
      rules could still exist in hw even after a device is unbound from a block
      (assuming the block still remains active).
      Signed-off-by: default avatarJohn Hurley <john.hurley@netronome.com>
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Acked-by: default avatarJiri Pirko <jiri@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      32636742
    • John Hurley's avatar
      net: sched: cls_bpf: implement offload tcf_proto_op · 7e916b76
      John Hurley authored
      Add the offload tcf_proto_op in cls_bpf to generate an offload message for
      each bpf prog in the given tcf_proto. Call the specified callback with
      this new offload message. The function only returns an error if the
      callback rejects adding a 'hardware only' prog.
      
      A prog contains a flag to indicate if it is in hardware or not. To
      ensure the offload function properly maintains this flag, keep a reference
      counter for the number of instances of the prog that are in hardware. Only
      update the flag when this counter changes from or to 0.
      Signed-off-by: default avatarJohn Hurley <john.hurley@netronome.com>
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7e916b76
    • John Hurley's avatar
      net: sched: cls_u32: implement offload tcf_proto_op · 530d9951
      John Hurley authored
      Add the offload tcf_proto_op in cls_u32 to generate an offload message for
      each filter and the hashtable in the given tcf_proto. Call the specified
      callback with this new offload message. The function only returns an error
      if the callback rejects adding a 'hardware only' rule.
      
      A filter contains a flag to indicate if it is in hardware or not. To
      ensure the offload function properly maintains this flag, keep a reference
      counter for the number of instances of the filter that are in hardware.
      Only update the flag when this counter changes from or to 0.
      Signed-off-by: default avatarJohn Hurley <john.hurley@netronome.com>
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      530d9951