25 Mar, 2020

1 commit

  • Currently, ethtool feature mask for checksum command is ORed with
    NETIF_F_FCOE_CRC_BIT, which is bit's position number, instead of the
    actual feature bit - NETIF_F_FCOE_CRC.

    The invalid bitmask here might affect unrelated features when toggling
    TX checksumming. For example, TX checksumming is always mistakenly
    reported as enabled on the netdevs tested (mlx5, virtio_net).

    Fixes: f70bb06563ed ("ethtool: update mapping of features to legacy ioctl requests")
    Signed-off-by: Vladyslav Tarasiuk
    Reviewed-by: Michal Kubecek
    Signed-off-by: David S. Miller

    Vladyslav Tarasiuk
     

24 Mar, 2020

8 commits

  • Previous changes to the IP routing code have removed all the
    tests for the DS_HOST route flag.
    Remove the flags and all the code that sets it.

    Signed-off-by: David Laight
    Acked-by: David Ahern
    Signed-off-by: David S. Miller

    David Laight
     
  • Provide a flow_dissect callback which returns the network offset and
    where to find the skb protocol, given the tags structure a common
    function works for both tagging formats that are supported.

    Signed-off-by: Florian Fainelli
    Reviewed-by: Vivien Didelot
    Signed-off-by: David S. Miller

    Florian Fainelli
     
  • Packet trap groups are now explicitly registered by drivers and not
    implicitly registered when the packet traps are registered. Therefore,
    there is no need to encode entire group structure the trap is associated
    with inside the trap structure.

    Instead, only pass the group identifier. Refer to it as initial group
    identifier, as future patches will allow user space to move traps
    between groups.

    Signed-off-by: Ido Schimmel
    Reviewed-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Ido Schimmel
     
  • Now that drivers explicitly register their supported packet trap groups
    there is no for devlink to create them on-demand and destroy them when
    their reference count reaches zero.

    Signed-off-by: Ido Schimmel
    Reviewed-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Ido Schimmel
     
  • Currently, packet trap groups are implicitly registered by drivers upon
    packet trap registration. When the traps are registered, each is
    associated with a group and the group is created by devlink, if it does
    not exist already.

    This makes it difficult for drivers to pass additional attributes for
    the groups.

    Therefore, as a preparation for future patches that require passing
    additional group attributes, add an API to explicitly register /
    unregister these groups.

    Next patches will convert existing drivers to use this API.

    Signed-off-by: Ido Schimmel
    Reviewed-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Ido Schimmel
     
  • Commit 53eca1f3479f ("net: rename flow_action_hw_stats_types* ->
    flow_action_hw_stats*") renamed just the flow action types and
    helpers. For consistency rename variables, enums, struct members
    and UAPI too (note that this UAPI was not in any official release,
    yet).

    Signed-off-by: Jakub Kicinski
    Reviewed-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • it's still possible for packetdrill to hang in mptcp_sendmsg(), when the
    MPTCP socket falls back to regular TCP (e.g. after receiving unsupported
    flags/version during the three-way handshake). Adjust MPTCP socket state
    earlier, to ensure correct functionality of mptcp_sendmsg() even in case
    of TCP fallback.

    Fixes: 767d3ded5fb8 ("net: mptcp: don't hang before sending 'MP capable with data'")
    Fixes: 1954b86016cf ("mptcp: Check connection state before attempting send")
    Signed-off-by: Davide Caratti
    Acked-by: Paolo Abeni
    Reviewed-by: Matthieu Baerts
    Signed-off-by: David S. Miller

    Davide Caratti
     
  • Problem:
    TCP checksum in the output path is not being offloaded during GSO
    in the following case:
    The network driver does not support scatter-gather but supports
    checksum offload with NETIF_F_HW_CSUM.

    Cause:
    skb_segment calls skb_copy_and_csum_bits if the network driver
    does not announce NETIF_F_SG. It does not check if the driver
    supports NETIF_F_HW_CSUM.
    So for devices which might want to offload checksum but do not support SG
    there is currently no way to do so if GSO is enabled.

    Solution:
    In skb_segment check if the network controller does checksum and if so
    call skb_copy_bits instead of skb_copy_and_csum_bits.

    Testing:
    Without the patch, ran iperf TCP traffic with NETIF_F_HW_CSUM enabled
    in the network driver. Observed the TCP checksum offload is not happening
    since the skbs received by the driver in the output path have
    skb->ip_summed set to CHECKSUM_NONE.

    With the patch ran iperf TCP traffic and observed that TCP checksum
    is being offloaded with skb->ip_summed set to CHECKSUM_PARTIAL.
    Also tested with the patch by disabling NETIF_F_HW_CSUM in the driver
    to cover the newly introduced if-else code path in skb_segment.

    Link: https://lore.kernel.org/netdev/CA+FuTSeYGYr3Umij+Mezk9CUcaxYwqEe5sPSuXF8jPE2yMFJAw@mail.gmail.com
    Signed-off-by: Yadu Kishore
    Acked-by: Willem de Bruijn
    Signed-off-by: David S. Miller

    Yadu Kishore
     

22 Mar, 2020

4 commits

  • Fixes gcc '-Wunused-but-set-variable' warning:

    net/mptcp/options.c: In function 'mptcp_established_options_dss':
    net/mptcp/options.c:338:7: warning:
    variable 'can_ack' set but not used [-Wunused-but-set-variable]

    commit dc093db5cc05 ("mptcp: drop unneeded checks")
    leave behind this unused, remove it.

    Signed-off-by: YueHaibing
    Acked-by: Paolo Abeni
    Signed-off-by: David S. Miller

    YueHaibing
     
  • sockmap performs lockless writes to sk->sk_prot on the following paths:

    tcp_bpf_{recvmsg|sendmsg} / sock_map_unref
    sk_psock_put
    sk_psock_drop
    sk_psock_restore_proto
    WRITE_ONCE(sk->sk_prot, proto)

    To prevent load/store tearing [1], and to make tooling aware of intentional
    shared access [2], we need to annotate other sites that access sk_prot with
    READ_ONCE/WRITE_ONCE macros.

    Change done with Coccinelle with following semantic patch:

    @@
    expression E;
    identifier I;
    struct sock *sk;
    identifier sk_prot =~ "^sk_prot$";
    @@
    (
    E =
    -sk->sk_prot
    +READ_ONCE(sk->sk_prot)
    |
    -sk->sk_prot = E
    +WRITE_ONCE(sk->sk_prot, E)
    |
    -sk->sk_prot
    +READ_ONCE(sk->sk_prot)
    ->I
    )

    Signed-off-by: Jakub Sitnicki
    Signed-off-by: David S. Miller

    Jakub Sitnicki
     
  • Apart from being a "tremendous" win when it comes to generated machine
    code (see bloat-o-meter output for x86-64 below) this mainly prepares
    ground for annotating access to sk_prot with READ_ONCE, so that we don't
    pepper the code with access annotations and needlessly repeat loads.

    add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-46 (-46)
    Function old new delta
    tls_init 851 805 -46
    Total: Before=21063, After=21017, chg -0.22%

    Signed-off-by: Jakub Sitnicki
    Signed-off-by: David S. Miller

    Jakub Sitnicki
     
  • The helper that builds kTLS proto ops doesn't need to and should not modify
    the base proto ops. Annotate the parameter as read-only.

    Signed-off-by: Jakub Sitnicki
    Signed-off-by: David S. Miller

    Jakub Sitnicki
     

20 Mar, 2020

20 commits

  • …m/linux/kernel/git/jberg/mac80211-next

    Johannes Berg says:

    ====================
    Another set of changes:
    * HE ranging (fine timing measurement) API support
    * hwsim gets virtio support, for use with wmediumd,
    to be able to simulate with multiple machines
    * eapol-over-nl80211 improvements to exclude preauth
    * IBSS reset support, to recover connections from
    userspace
    * and various others.
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • Now that we have a nested tunnel info attribute we can add a separate
    one for the tunnel command and require it explicitly from user-space. It
    must be one of RTM_SETLINK/DELLINK. Only RTM_SETLINK requires a valid
    tunnel id, DELLINK just removes it if it was set before. This allows us
    to have all tunnel attributes and control in one place, thus removing
    the need for an outside vlan info flag.

    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     
  • While discussing the new API, Roopa mentioned that we'll be adding more
    tunnel attributes and options in the future, so it's better to make it a
    nested attribute, since this is still in net-next we can easily change it
    and nest the tunnel id attribute under BRIDGE_VLANDB_ENTRY_TUNNEL_INFO.

    The new format is:
    [BRIDGE_VLANDB_ENTRY]
    [BRIDGE_VLANDB_ENTRY_TUNNEL_INFO]
    [BRIDGE_VLANDB_TINFO_ID]

    Any new tunnel attributes can be nested under
    BRIDGE_VLANDB_ENTRY_TUNNEL_INFO.

    Suggested-by: Roopa Prabhu
    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     
  • Some of the drivers are not using channel context, but let the
    stack to control/switch channels instead. For such cases, driver
    can still remain on channel because the mac80211 stack actually
    supports it.

    The stack will check if the driver is using chan_ctx and has
    ops->remain_on_channel been hooked. Otherwise it will start its
    ROC work to remain on channel. So, even if the driver is not
    using chan_ctx, the driver is still capable of doing remain on
    channel.

    Signed-off-by: Yan-Hsuan Chuang
    Link: https://lore.kernel.org/r/20200312074337.16198-1-yhchuang@realtek.com
    Signed-off-by: Johannes Berg

    Yan-Hsuan Chuang
     
  • The long if chain of interface types is hard to read,
    especially now with the additional condition after it.
    Use a switch statement to clarify this code.

    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200320113834.2c51b9e8e341.I3fa5dc3f7d3cb1dbbd77191d764586f7da993f3f@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • Drivers that trigger roaming need to know the lifetime of the configured
    PMKSA for deciding whether to trigger the full or PMKSA cache based
    authentication. The configured PMKSA is invalid after the PMK lifetime
    has expired and must not be used after that and the STA needs to
    disassociate if the PMK expires. Hence the STA is expected to refresh
    the PMK with a full authentication before this happens (e.g., when
    reassociating to a new BSS the next time or by performing EAPOL
    reauthentication depending on the AKM) to avoid unnecessary
    disconnection.

    The PMK reauthentication threshold is the percentage of the PMK lifetime
    value and indicates to the driver to trigger a full authentication roam
    (without PMKSA caching) after the reauthentication threshold time, but
    before the PMK timer has expired. Authentication methods like SAE need
    to be able to generate a new PMKSA entry without having to force a
    disconnection after this threshold timeout. If no roaming occurs between
    the reauthentication threshold time and PMK lifetime expiration,
    disassociation is still forced.

    The new attributes for providing these values correspond to the dot11
    MIB variables dot11RSNAConfigPMKLifetime and
    dot11RSNAConfigPMKReauthThreshold.

    This type of functionality is already available in cases where user
    space component is in control of roaming. This commit extends that same
    capability into cases where parts or all of this functionality is
    offloaded to the driver.

    Signed-off-by: Veerendranath Jakkam
    Signed-off-by: Jouni Malinen
    Link: https://lore.kernel.org/r/20200312235903.18462-1-jouni@codeaurora.org
    Signed-off-by: Johannes Berg

    Veerendranath Jakkam
     
  • Use perCPU pointers to get rx_stats in sta_set_sinfo
    when RSS is enabled

    Signed-off-by: Seevalamuthu Mariappan
    Link: https://lore.kernel.org/r/1584526555-25960-1-git-send-email-seevalam@codeaurora.org
    Signed-off-by: Johannes Berg

    Seevalamuthu Mariappan
     
  • Set the NL80211_EXT_FEATURE_DEL_IBSS_STA if the interface support IBSS
    mode, so that stations can be reset from user space.

    mac80211 already deletes stations by itself, so mac80211 drivers must
    already support this.

    This has been successfully tested with ath9k.

    Signed-off-by: Nicolas Cavallari
    Link: https://lore.kernel.org/r/20200305135754.12094-2-cavallar@lri.fr
    Signed-off-by: Johannes Berg

    Nicolas Cavallari
     
  • Sometimes, userspace is able to detect that a peer silently lost its
    state (like, if the peer reboots). wpa_supplicant does this for IBSS-RSN
    by registering for auth/deauth frames, but when it detects this, it is
    only able to remove the encryption keys of the peer and close its port.

    However, the kernel also hold other state about the station, such as BA
    sessions, probe response parameters and the like. They also need to be
    resetted correctly.

    This patch adds the NL80211_EXT_FEATURE_DEL_IBSS_STA feature flag
    indicating the driver accepts deleting stations in IBSS mode, which
    should send a deauth and reset the state of the station, just like in
    mesh point mode.

    Signed-off-by: Nicolas Cavallari
    Link: https://lore.kernel.org/r/20200305135754.12094-1-cavallar@lri.fr
    [preserve -EINVAL return]
    Signed-off-by: Johannes Berg

    Nicolas Cavallari
     
  • We use the parsing CRC for checking if the beacon changed, and
    if the WLAN_EID_EXT_HE_OPERATION extended element changes we
    need to track it so we can react to that. Include it in the CRC
    calculation.

    Link: https://lore.kernel.org/r/20200131111300.891737-22-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • In AP mode, set htc_trig_based_pkt_ext and frame_time_rts_th
    for driver use.

    Signed-off-by: Shaul Triebitz
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/20200131111300.891737-19-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Shaul Triebitz
     
  • Pass the AP's HE operation element to the driver.

    Signed-off-by: Shaul Triebitz
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/20200131111300.891737-18-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Shaul Triebitz
     
  • Add support for requesting that the ranging measurement will use
    the trigger-based / non trigger-based flow instead of the EDCA based
    flow.

    Signed-off-by: Avraham Stern
    Signed-off-by: Luca Coelho
    Link: https://lore.kernel.org/r/20200131111300.891737-2-luca@coelho.fi
    Signed-off-by: Johannes Berg

    Avraham Stern
     
  • In beacon protection, don't leave skb->next/prev pointing to the
    on-stack list, even if that's actually harmless since we don't use
    them again afterwards.

    While at it, check that the SKB on the list is still the same, as
    that's required here. If not, the encryption (protection) code is
    buggy.

    Fixes: 0a3a84360b37 ("mac80211: Beacon protection using the new BIGTK (AP)")
    Signed-off-by: Johannes Berg
    Link: https://lore.kernel.org/r/20200320102021.1be7823fc05e.Ia89fb79a0469d32137c9a04315a1d2dfc7b7d6f5@changeid
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • This patch adds support for disabling pre-auth rx over the nl80211 control
    port for mac80211.

    Signed-off-by: Markus Theil
    Link: https://lore.kernel.org/r/20200312091055.54257-3-markus.theil@tu-ilmenau.de
    [fix indentation slightly, squash feature enablement]
    Signed-off-by: Johannes Berg

    Markus Theil
     
  • If the nl80211 control port is used before this patch, pre-auth frames
    (0x88c7) are send to userspace uncoditionally. While this enables userspace
    to only use nl80211 on the station side, it is not always useful for APs.
    Furthermore, pre-auth frames are ordinary data frames and not related to
    the control port. Therefore it should for example be possible for pre-auth
    frames to be bridged onto a wired network on AP side without touching
    userspace.

    For backwards compatibility to code already using pre-auth over nl80211,
    this patch adds a feature flag to disable this behavior, while it remains
    enabled by default. An additional ext. feature flag is added to detect this
    from userspace.

    Thanks to Jouni for pointing out, that pre-auth frames should be handled as
    ordinary data frames.

    Signed-off-by: Markus Theil
    Link: https://lore.kernel.org/r/20200312091055.54257-2-markus.theil@tu-ilmenau.de
    Signed-off-by: Johannes Berg

    Markus Theil
     
  • …etooth/bluetooth-next

    Johan Hedberg says:

    ====================
    pull request: bluetooth-next 2020-03-19

    Here's the main bluetooth-next pull request for the 5.7 kernel.

    - Added wideband speech support to mgmt and the ability for HCI drivers
    to declare support for it.
    - Added initial support for L2CAP Enhanced Credit Based Mode
    - Fixed suspend handling for several use cases
    - Fixed Extended Advertising related issues
    - Added support for Realtek 8822CE device
    - Added DT bindings for QTI chip WCN3991
    - Cleanups to replace zero-length arrays with flexible-array members
    - Several other smaller cleanups & fixes
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     
  • The skbedit action "priority" is used for adjusting SKB priority. Allow
    drivers to offload the action by introducing two new skbedit getters and a
    new flow action, and initializing appropriately in tc_setup_flow_action().

    Signed-off-by: Petr Machata
    Reviewed-by: Jiri Pirko
    Signed-off-by: Ido Schimmel
    Signed-off-by: David S. Miller

    Petr Machata
     
  • This patch adds support for vlan stats to be included when dumping vlan
    information. We have to dump them only when explicitly requested (thus the
    flag below) because that disables the vlan range compression and will make
    the dump significantly larger. In order to request the stats to be
    included we add a new dump attribute called BRIDGE_VLANDB_DUMP_FLAGS which
    can affect dumps with the following first flag:
    - BRIDGE_VLANDB_DUMPF_STATS
    The stats are intentionally nested and put into separate attributes to make
    it easier for extending later since we plan to add per-vlan mcast stats,
    drop stats and possibly STP stats. This is the last missing piece from the
    new vlan API which makes the dumped vlan information complete.

    A dump request which should include stats looks like:
    [BRIDGE_VLANDB_DUMP_FLAGS] |= BRIDGE_VLANDB_DUMPF_STATS

    A vlandb entry attribute with stats looks like:
    [BRIDGE_VLANDB_ENTRY] = {
    [BRIDGE_VLANDB_ENTRY_STATS] = {
    [BRIDGE_VLANDB_STATS_RX_BYTES]
    [BRIDGE_VLANDB_STATS_RX_PACKETS]
    ...
    }
    }

    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     
  • The name is misleading, it actually tracks the 'fully established'
    status.

    Reviewed-by: Mat Martineau
    Signed-off-by: Paolo Abeni
    Signed-off-by: David S. Miller

    Paolo Abeni
     

19 Mar, 2020

2 commits

  • In the commit referenced below, hw_stats_type of an entry is set for every
    entry that corresponds to a pedit action. However, the assignment is only
    done after the entry pointer is bumped, and therefore could overwrite
    memory outside of the entries array.

    The reason for this positioning may have been that the current entry's
    hw_stats_type is already set above, before the action-type dispatch.
    However, if there are no more actions, the assignment is wrong. And if
    there are, the next round of the for_each_action loop will make the
    assignment before the action-type dispatch anyway.

    Therefore fix this issue by simply reordering the two lines.

    Fixes: 74522e7baae2 ("net: sched: set the hw_stats_type in pedit loop")
    Signed-off-by: Petr Machata
    Signed-off-by: David S. Miller

    Petr Machata
     
  • This reverts the following commits:

    8537f78647c0 ("netfilter: Introduce egress hook")
    5418d3881e1f ("netfilter: Generalize ingress hook")
    b030f194aed2 ("netfilter: Rename ingress hook include file")

    >From the discussion in [0], the author's main motivation to add a hook
    in fast path is for an out of tree kernel module, which is a red flag
    to begin with. Other mentioned potential use cases like NAT{64,46}
    is on future extensions w/o concrete code in the tree yet. Revert as
    suggested [1] given the weak justification to add more hooks to critical
    fast-path.

    [0] https://lore.kernel.org/netdev/cover.1583927267.git.lukas@wunner.de/
    [1] https://lore.kernel.org/netdev/20200318.011152.72770718915606186.davem@davemloft.net/

    Signed-off-by: Daniel Borkmann
    Cc: David Miller
    Cc: Pablo Neira Ayuso
    Cc: Alexei Starovoitov
    Nacked-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Daniel Borkmann
     

18 Mar, 2020

5 commits

  • BlueZ cancels adv when starting a scan, but does not cancel a scan when
    starting to adv. Neither is required, so this brings both to a
    consistent state (of not affecting each other). Some very rare (I've
    never seen one) BT 4.0 chips will fail to do both at once. Even this is
    ok since the command that will fail will be the second one, and thus the
    common sense logic of first-come-first-served is preserved for BLE
    requests.

    Signed-off-by: Dmitry Grinberg
    Signed-off-by: Manish Mandlik
    Signed-off-by: Marcel Holtmann

    Dmitry Grinberg
     
  • Pablo Neira Ayuso says:

    ====================
    Netfilter updates for net-next

    The following patchset contains Netfilter updates for net-next:

    1) Use nf_flow_offload_tuple() to fetch flow stats, from Paul Blakey.

    2) Add new xt_IDLETIMER hard mode, from Manoj Basapathi.
    Follow up patch to clean up this new mode, from Dan Carpenter.

    3) Add support for geneve tunnel options, from Xin Long.

    4) Make sets built-in and remove modular infrastructure for sets,
    from Florian Westphal.

    5) Remove unused TEMPLATE_NULLS_VAL, from Li RongQing.

    6) Statify nft_pipapo_get, from Chen Wandun.

    7) Use C99 flexible-array member, from Gustavo A. R. Silva.

    8) More descriptive variable names for bitwise, from Jeremy Sowden.

    9) Four patches to add tunnel device hardware offload to the flowtable
    infrastructure, from wenxu.

    10) pipapo set supports for 8-bit grouping, from Stefano Brivio.

    11) pipapo can switch between nibble and byte grouping, also from
    Stefano.

    12) Add AVX2 vectorized version of pipapo, from Stefano Brivio.

    13) Update pipapo to be use it for single ranges, from Stefano.

    14) Add stateful expression support to elements via control plane,
    eg. counter per element.

    15) Re-visit sysctls in unprivileged namespaces, from Florian Westphal.

    15) Add new egress hook, from Lukas Wunner.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • After commit 58b09919626b ("mptcp: create msk early"), the
    msk socket is already available at subflow_syn_recv_sock()
    time. Let's move there the state update, to mirror more
    closely the first subflow state.

    The above will also help multiple subflow supports.

    Signed-off-by: Paolo Abeni
    Reviewed-by: Matthieu Baerts
    Signed-off-by: David S. Miller

    Paolo Abeni
     
  • This patch adds support for manipulating vlan/tunnel mappings. The
    tunnel ids are globally unique and are one per-vlan. There were two
    trickier issues - first in order to support vlan ranges we have to
    compute the current tunnel id in the following way:
    - base tunnel id (attr) + current vlan id - starting vlan id
    This is in line how the old API does vlan/tunnel mapping with ranges. We
    already have the vlan range present, so it's redundant to add another
    attribute for the tunnel range end. It's simply base tunnel id + vlan
    range. And second to support removing mappings we need an out-of-band way
    to tell the option manipulating function because there are no
    special/reserved tunnel id values, so we use a vlan flag to denote the
    operation is tunnel mapping removal.

    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov
     
  • Add a new option - BRIDGE_VLANDB_ENTRY_TUNNEL_ID which is used to dump
    the tunnel id mapping. Since they're unique per vlan they can enter a
    vlan range if they're consecutive, thus we can calculate the tunnel id
    range map simply as: vlan range end id - vlan range start id. The
    starting point is the tunnel id in BRIDGE_VLANDB_ENTRY_TUNNEL_ID. This
    is similar to how the tunnel entries can be created in a range via the
    old API (a vlan range maps to a tunnel range).

    Signed-off-by: Nikolay Aleksandrov
    Signed-off-by: David S. Miller

    Nikolay Aleksandrov