1. 09 11月, 2017 9 次提交
  2. 08 11月, 2017 11 次提交
    • Y
      openvswitch: enable NSH support · b2d0f5d5
      Yi Yang 提交于
      v16->17
       - Fixed disputed check code: keep them in nsh_push and nsh_pop
         but also add them in __ovs_nla_copy_actions
      
      v15->v16
       - Add csum recalculation for nsh_push, nsh_pop and set_nsh
         pointed out by Pravin
       - Move nsh key into the union with ipv4 and ipv6 and add
         check for nsh key in match_validate pointed out by Pravin
       - Add nsh check in validate_set and __ovs_nla_copy_actions
      
      v14->v15
       - Check size in nsh_hdr_from_nlattr
       - Fixed four small issues pointed out By Jiri and Eric
      
      v13->v14
       - Rename skb_push_nsh to nsh_push per Dave's comment
       - Rename skb_pop_nsh to nsh_pop per Dave's comment
      
      v12->v13
       - Fix NSH header length check in set_nsh
      
      v11->v12
       - Fix missing changes old comments pointed out
       - Fix new comments for v11
      
      v10->v11
       - Fix the left three disputable comments for v9
         but not fixed in v10.
      
      v9->v10
       - Change struct ovs_key_nsh to
             struct ovs_nsh_key_base base;
             __be32 context[NSH_MD1_CONTEXT_SIZE];
       - Fix new comments for v9
      
      v8->v9
       - Fix build error reported by daily intel build
         because nsh module isn't selected by openvswitch
      
      v7->v8
       - Rework nested value and mask for OVS_KEY_ATTR_NSH
       - Change pop_nsh to adapt to nsh kernel module
       - Fix many issues per comments from Jiri Benc
      
      v6->v7
       - Remove NSH GSO patches in v6 because Jiri Benc
         reworked it as another patch series and they have
         been merged.
       - Change it to adapt to nsh kernel module added by NSH
         GSO patch series
      
      v5->v6
       - Fix the rest comments for v4.
       - Add NSH GSO support for VxLAN-gpe + NSH and
         Eth + NSH.
      
      v4->v5
       - Fix many comments by Jiri Benc and Eric Garver
         for v4.
      
      v3->v4
       - Add new NSH match field ttl
       - Update NSH header to the latest format
         which will be final format and won't change
         per its author's confirmation.
       - Fix comments for v3.
      
      v2->v3
       - Change OVS_KEY_ATTR_NSH to nested key to handle
         length-fixed attributes and length-variable
         attriubte more flexibly.
       - Remove struct ovs_action_push_nsh completely
       - Add code to handle nested attribute for SET_MASKED
       - Change PUSH_NSH to use the nested OVS_KEY_ATTR_NSH
         to transfer NSH header data.
       - Fix comments and coding style issues by Jiri and Eric
      
      v1->v2
       - Change encap_nsh and decap_nsh to push_nsh and pop_nsh
       - Dynamically allocate struct ovs_action_push_nsh for
         length-variable metadata.
      
      OVS master and 2.8 branch has merged NSH userspace
      patch series, this patch is to enable NSH support
      in kernel data path in order that OVS can support
      NSH in compat mode by porting this.
      Signed-off-by: NYi Yang <yi.y.yang@intel.com>
      Acked-by: NJiri Benc <jbenc@redhat.com>
      Acked-by: NEric Garver <e@erig.me>
      Acked-by: NPravin Shelar <pshelar@ovn.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b2d0f5d5
    • A
      pktgen: document 32-bit timestamp overflow · 7f5d3f27
      Arnd Bergmann 提交于
      Timestamps in pktgen are currently retrieved using the deprecated
      do_gettimeofday() function that wraps its signed 32-bit seconds in 2038
      (on 32-bit architectures) and requires a division operation to calculate
      microseconds.
      
      The pktgen header is also defined with the same limitations, hardcoding
      to a 32-bit seconds field that can be interpreted as unsigned to produce
      times that only wrap in 2106. Whatever code reads the timestamps should
      be aware of that problem in general, but probably doesn't care too
      much as we are mostly interested in the time passing between packets,
      and that is correctly represented.
      
      Using 64-bit nanoseconds would be cheaper and good for 584 years. Using
      monotonic times would also make this unambiguous by avoiding the overflow,
      but would make it harder to correlate to the times with those on remote
      machines. Either approach would require adding a new runtime flag and
      implementing the same thing on the remote side, which we probably don't
      want to do unless someone sees it as a real problem. Also, this should
      be coordinated with other pktgen implementations and might need a new
      magic number.
      
      For the moment, I'm documenting the overflow in the source code, and
      changing the implementation over to an open-coded ktime_get_real_ts64()
      plus division, so we don't have to look at it again while scanning for
      deprecated time interfaces.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f5d3f27
    • C
      rtnetlink: fix missing size for IFLA_IF_NETNSID · 03ac738d
      Colin Ian King 提交于
      The size for IFLA_IF_NETNSID is missing from the size calculation
      because the proceeding semicolon was not removed. Fix this by removing
      the semicolon.
      
      Detected by CoverityScan, CID#1461135 ("Structurally dead code")
      
      Fixes: 79e1ad14 ("rtnetlink: use netnsid to query interface")
      Signed-off-by: NColin Ian King <colin.king@canonical.com>
      Acked-by: NJiri Benc <jbenc@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      03ac738d
    • E
      net: dsa: lan9303: Adjust indenting · 92f25caf
      Egil Hjelmeland 提交于
      Remove scripts/checkpatch.pl CHECKs by adjusting indenting.
      Signed-off-by: NEgil Hjelmeland <privat@egil-hjelmeland.no>
      Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      92f25caf
    • N
      net_sch: cbs: Change TC_SETUP_CBS to TC_SETUP_QDISC_CBS · 8521db4c
      Nogah Frankel 提交于
      Change TC_SETUP_CBS to TC_SETUP_QDISC_CBS to match the new convention..
      Signed-off-by: NNogah Frankel <nogahf@mellanox.com>
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Reviewed-by: NSimon Horman <simon.horman@netronome.com>
      Acked-by: NVinicius Costa Gomes <vinicius.gomes@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8521db4c
    • N
      net_sch: mqprio: Change TC_SETUP_MQPRIO to TC_SETUP_QDISC_MQPRIO · 575ed7d3
      Nogah Frankel 提交于
      Change TC_SETUP_MQPRIO to TC_SETUP_QDISC_MQPRIO to match the new
      convention.
      Signed-off-by: NNogah Frankel <nogahf@mellanox.com>
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Reviewed-by: NSimon Horman <simon.horman@netronome.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      575ed7d3
    • N
      net_sch: red: Add offload ability to RED qdisc · 602f3baf
      Nogah Frankel 提交于
      Add the ability to offload RED qdisc by using ndo_setup_tc.
      There are four commands for RED offloading:
      * TC_RED_SET: handles set and change.
      * TC_RED_DESTROY: handle qdisc destroy.
      * TC_RED_STATS: update the qdiscs counters (given as reference)
      * TC_RED_XSTAT: returns red xstats.
      
      Whether RED is being offloaded is being determined every time dump action
      is being called because parent change of this qdisc could change its
      offload state but doesn't require any RED function to be called.
      Signed-off-by: NNogah Frankel <nogahf@mellanox.com>
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Reviewed-by: NSimon Horman <simon.horman@netronome.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      602f3baf
    • T
      ila: Add a hook type for LWT routes · fddb231e
      Tom Herbert 提交于
      In LWT tunnels both an input and output route method is defined.
      If both of these are executed in the same path then double translation
      happens and the effect is not correct.
      
      This patch adds a new attribute that indicates the hook type. Two
      values are defined for route output and route output. ILA
      translation is only done for the one that is set. The default is
      to enable ILA on route output.
      Signed-off-by: NTom Herbert <tom@quantonium.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fddb231e
    • T
      ila: allow configuration of identifier type · 70d5aef4
      Tom Herbert 提交于
      Allow identifier to be explicitly configured for a mapping.
      This can either be one of the identifier types specified in the
      ILA draft or a value of ILA_ATYPE_USE_FORMAT which means the
      identifier type is inferred from the identifier type field.
      If a value other than ILA_ATYPE_USE_FORMAT is set for a
      mapping then it is assumed that the identifier type field is
      not present in an identifier.
      Signed-off-by: NTom Herbert <tom@quantonium.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      70d5aef4
    • T
      ila: add checksum neutral map auto · 84287bb3
      Tom Herbert 提交于
      Add checksum neutral auto that performs checksum neutral mapping
      without using the C-bit. This is enabled by configuration of
      a mapping.
      
      The checksum neutral function has been split into
      ila_csum_do_neutral_fmt and ila_csum_do_neutral_nofmt. The former
      handles the C-bit and includes it in the adjustment value. The latter
      just sets the adjustment value on the locator diff only.
      
      Added configuration for checksum neutral map aut in ila_lwt
      and ila_xlat.
      Signed-off-by: NTom Herbert <tom@quantonium.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      84287bb3
    • T
      ila: cleanup checksum diff · 80661e76
      Tom Herbert 提交于
      Consolidate computing checksum diff into one function.
      
      Add get_csum_diff_iaddr that computes the checksum diff between
      an address argument and locator being written. get_csum_diff
      calls this using the destination address in the IP header as
      the argument.
      
      Also moved ila_init_saved_csum to be close to the checksum
      
      diff functions.
      Signed-off-by: NTom Herbert <tom@quantonium.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      80661e76
  3. 07 11月, 2017 4 次提交
    • E
      ipv6: addrconf: fix a lockdep splat · fffcefe9
      Eric Dumazet 提交于
      Fixes a case where GFP_ATOMIC allocation must be used instead of
      GFP_KERNEL one.
      
      [   54.891146]  lock_acquire+0xb3/0x2f0
      [   54.891153]  ? fs_reclaim_acquire.part.60+0x5/0x30
      [   54.891165]  fs_reclaim_acquire.part.60+0x29/0x30
      [   54.891170]  ? fs_reclaim_acquire.part.60+0x5/0x30
      [   54.891178]  kmem_cache_alloc_trace+0x3f/0x500
      [   54.891186]  ? cyc2ns_read_end+0x1e/0x30
      [   54.891196]  ipv6_add_addr+0x15a/0xc30
      [   54.891217]  ? ipv6_create_tempaddr+0x2ea/0x5d0
      [   54.891223]  ipv6_create_tempaddr+0x2ea/0x5d0
      [   54.891238]  ? manage_tempaddrs+0x195/0x220
      [   54.891249]  ? addrconf_prefix_rcv_add_addr+0x1c0/0x4f0
      [   54.891255]  addrconf_prefix_rcv_add_addr+0x1c0/0x4f0
      [   54.891268]  addrconf_prefix_rcv+0x2e5/0x9b0
      [   54.891279]  ? neigh_update+0x446/0xb90
      [   54.891298]  ? ndisc_router_discovery+0x5ab/0xf00
      [   54.891303]  ndisc_router_discovery+0x5ab/0xf00
      [   54.891311]  ? retint_kernel+0x2d/0x2d
      [   54.891331]  ndisc_rcv+0x1b6/0x270
      [   54.891340]  icmpv6_rcv+0x6aa/0x9f0
      [   54.891345]  ? ipv6_chk_mcast_addr+0x176/0x530
      [   54.891351]  ? do_csum+0x17b/0x260
      [   54.891360]  ip6_input_finish+0x194/0xb20
      [   54.891372]  ip6_input+0x5b/0x2c0
      [   54.891380]  ? ip6_rcv_finish+0x320/0x320
      [   54.891389]  ip6_mc_input+0x15a/0x250
      [   54.891396]  ipv6_rcv+0x772/0x1050
      [   54.891403]  ? consume_skb+0xbe/0x2d0
      [   54.891412]  ? ip6_make_skb+0x2a0/0x2a0
      [   54.891418]  ? ip6_input+0x2c0/0x2c0
      [   54.891425]  __netif_receive_skb_core+0xa0f/0x1600
      [   54.891436]  ? process_backlog+0xac/0x400
      [   54.891441]  process_backlog+0xfa/0x400
      [   54.891448]  ? net_rx_action+0x145/0x1130
      [   54.891456]  net_rx_action+0x310/0x1130
      [   54.891524]  ? RTUSBBulkReceive+0x11d/0x190 [mt7610u_sta]
      [   54.891538]  __do_softirq+0x140/0xaba
      [   54.891553]  irq_exit+0x10b/0x160
      [   54.891561]  do_IRQ+0xbb/0x1b0
      
      Fixes: f3d9832e ("ipv6: addrconf: cleanup locking in ipv6_add_addr")
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Reported-by: NValdis Kletnieks <valdis.kletnieks@vt.edu>
      Acked-by: NDavid Ahern <dsahern@gmail.com>
      Tested-by: NDavid Ahern <dsahern@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fffcefe9
    • P
      netfilter: nf_tables: get set elements via netlink · ba0e4d99
      Pablo Neira Ayuso 提交于
      This patch adds a new get operation to look up for specific elements in
      a set via netlink interface. You can also use it to check if an interval
      already exists.
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      ba0e4d99
    • P
      netfilter: nf_tables: performance set policy skips size description in selection · 644e334e
      Pablo Neira Ayuso 提交于
      Use the complexity and space notations if policy is performance, this
      results in placing the bitmap set representation over the hashtable for
      key <= 16 for better performance as we discussed during the last NFWS in
      Faro, Portugal.
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      644e334e
    • V
      netfilter: conntrack: use power efficient workqueue · 0984d427
      Vincent Guittot 提交于
      conntrack uses the bounded system_long_wq workqueue for its works that
      don't have to run on the cpu they have been queued.
      Using bounded workqueue prevents the scheduler to make smart decision about
      the best place to schedule the work.
      
      This patch replaces system_long_wq with system_power_efficient_wq. the work
      stays bounded to a cpu by default unless the CONFIG_WQ_POWER_EFFICIENT is
      enable. In the latter case, the work can be scheduled on the best cpu from
      a power or a performance point of view.
      Signed-off-by: NVincent Guittot <vincent.guittot@linaro.org>
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      0984d427
  4. 06 11月, 2017 7 次提交
  5. 05 11月, 2017 9 次提交