- Jul 05, 2016
-
-
Maor Gottlieb authored
Implement etrhtool set_rxnfc callback to support ethtool flow spec direct steering. This patch adds only the support of ether flow type spec. L3/L4 flow specs support will be added in downstream patches. Signed-off-by:
Maor Gottlieb <maorg@mellanox.com> Signed-off-by:
Saeed Mahameed <saeedm@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Maor Gottlieb authored
Instead of explicitly cleaning up the well known parts of the steering tree, we use the generic tree structure to traverse for cleanup. No functional changes. Signed-off-by:
Maor Gottlieb <maorg@mellanox.com> Signed-off-by:
Saeed Mahameed <saeedm@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Maor Gottlieb authored
Instead of having all steering private name spaces and steering module fields flat in mlx5_core_priv, we wrap them in mlx5_flow_steering for better modularity and API exposure. Signed-off-by:
Maor Gottlieb <maorg@mellanox.com> Signed-off-by:
Saeed Mahameed <saeedm@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Maor Gottlieb authored
Reduce the set of arguments passed to mlx5_add_flow_rule by introducing flow_spec structure. Signed-off-by:
Maor Gottlieb <maorg@mellanox.com> Signed-off-by:
Saeed Mahameed <saeedm@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
John Crispin authored
Commit 80673029 ("net-next: mediatek: add support for IRQ grouping") adds handling for irq 1 and 2 to the uninit function but did not remove irq 0 which is not used since irq grouping was introduced. Fix this by removing the superfluous call to free_irq(). Reported-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
John Crispin <john@phrozen.org> Acked-by:
Arnd Bergmann <arnd@arndb.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Fabio Estevam authored
Since commit f786f356 ("net: ethernet: lpc_eth: use phydev from struct net_device") the 'pldat' variable became unused, so just remove it. Reported-by:
Olof's autobuilder <build@lixom.net> Signed-off-by:
Fabio Estevam <festevam@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
git://git.open-mesh.org/linux-mergeDavid S. Miller authored
Simon Wunderlich says: ==================== This feature patchset includes the following changes: - Cleanup work by Markus Pargmann and Sven Eckelmann (six patches) - Initial Netlink support by Matthias Schiffer (two patches) - Throughput Meter implementation by Antonio Quartulli, a kernel-space traffic generator to estimate link speeds. This feature is useful on low-end WiFi APs where running iperf or netperf from userspace gives wrong results due to heavy userspace/kernelspace overhead. (two patches) - API clean-up work by Antonio Quartulli (one patch) ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Jiri Pirko says: ==================== mlxsw: Implement basic FIB offload and router interfaces Introduce LPM trees management including virtual router management for HW. Implement basic FIB offloading using switchdev FIB objects. For now only support local routes and direct routes (next-hop support will be introduced in a follow-up patchset). Introduce router interfaces in patches 10-14. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ido Schimmel authored
As with the previously introduced L3 interfaces, listen to 'inetaddr' notifications sent for bridges devices configured on top of the port netdevs and create / destroy router interfaces (RIFs) accordingly. This also includes VLAN devices configured on top of the VLAN-aware bridge. The RIFs will be destroyed either when the last IP address is removed or when the underlying FID is is destroyed. Signed-off-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ido Schimmel authored
Before introducing support for L3 interfaces on top of the VLAN-aware bridge we need to add some missing infrastructure. Such an interface can either be the bridge device itself or a VLAN device on top of it. In the first case the router interface (RIF) is associated with FID 1, which is created whenever the first port netdev joins the bridge. We currently assume the default PVID is 1 and that it's already created, as it seems reasonable. This can be extended in the future. However, in the second case it's entirely possible we've yet to create a matching FID. This can happen if the VLAN device was configured before making any bridge port member in the VLAN. Prevent such ordering problems by using the VLAN device's CHANGEUPPER event to configure the FID. Make the VLAN device hold a reference to the FID and prevent it from being destroyed even if none of the port netdevs is using it. Signed-off-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ido Schimmel authored
Previous commit deprecated the vFIDs used to get traffic to the CPU ('port_vfids'). Thus, we now use the vFIDs as god intended and the artificial split is no longer needed. Rename functions and variables to reflect that. Signed-off-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ido Schimmel authored
Up until now we only supported bridged interfaces. Packets ingressing through the switch ports were either classified to FIDs (in the case of the VLAN-aware bridge) or vFIDs (in the case of VLAN-unaware bridges). The packets were then forwarded according to the FDB. Routing was done entirely in slowpath, by splitting the vFID range in two and using the lower 0.5K vFIDs as dummy bridges that simply flooded all incoming traffic to the CPU. Instead, allow packets to be routed in the device by creating router interfaces (RIFs) that will direct them to the router block. Specifically, the RIFs introduced here are Sub-port RIFs used for VLAN devices and port netdevs. Packets ingressing from the {Port / LAG ID, VID} with which the RIF was programmed with will be assigned to a special kind of FIDs called rFIDs and from there directed to the router. Create a RIF whenever the first IPv4 address was programmed on a VLAN / LAG / port netdev. Destroy it upon removal of the last IPv4 address. Receive these notifications by registering for the 'inetaddr' notification chain. A non-zero (10) priority is used for the notification block, so that RIFs will be created before routes are offloaded via FIB code. Note that another trigger for RIF destruction are CHANGEUPPER notifications causing the underlying FID's reference count to go down to zero. This can happen, for example, when a VLAN netdev with an IP address is put under bridge. While this configuration doesn't make sense it does cause the device and the kernel to get out of sync when the netdev is unbridged. We intend to address this in the future, hopefully in current cycle. Finally, Remove the lower 0.5K vFIDs, as they are deprecated by the RIFs, which will trap packets according to their DIP. Signed-off-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Ido Schimmel authored
We are just about to introduce router interfaces (RIFs), but before that we need to be able update the device with the correct RIF attributes whenever they change for the netdev the RIF is backing. Two such attributes are MTU and MAC. The MAC is used both to set the source MAC of packets egressing from the RIF and also to program an FDB rule that will direct packets to the router block. Use the existing netdevice notification block and respond to CHANGEADDR and CHANGEMTU accordingly. Store both attributes in the RIF struct in case we need to revert to old attributes following a failed update. Signed-off-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Add functions that iterate over lower devices and find port device. As a dependency add netdev_for_each_all_lower_dev and netdev_for_each_all_lower_dev_rcu macro with netdev_all_lower_get_next and netdev_all_lower_get_next_rcu shelpers. Also, add functions to return mlxsw struct according to lower device found and mlxsw_port struct with a reference to lower device. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Reviewed-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Implement ipv4 FIB entries addition and removal. Initially, we support local and broadcast routes using "ip2me" trap action. Also, unicast routes without nexthop are supported using "local" action. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Reviewed-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Serves for adding, updating and removing fib entries. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Reviewed-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Virtual router is a construct used inside HW. In this implementation we map kernel tables to virtual routers one to one. Introduce management logic to create virtual routers when needed and destroy in case they are no longer in use. According to that, call into LPM tree management. Each virtual router is always bound to one LPM tree. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Reviewed-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Introduce basic LPM tree management allowing to share the trees in between tables if the used prefixes in the tables are the same. Build the tree structure according to the used prefixes. Although it is not optimal for many use cases, this initial implementation does only simple linear left-tree. More advanced structures will be introduced later on, possibly including mechanisms to change trees on the fly. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Reviewed-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
This register is used to bind virtual router and protocol to an allocated LPM tree. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Reviewed-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Serves to build LPM tree structure. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Reviewed-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Register serves for allocation and deallocation of LPM search tree. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Reviewed-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jiri Pirko authored
Shadow FIB is needed in order to hold additional information for FIB entries and keep track of used prefixes. That is needed for the LPM tree construction to be introduced later on in this set. Signed-off-by:
Jiri Pirko <jiri@mellanox.com> Reviewed-by:
Ido Schimmel <idosch@mellanox.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jason Wang authored
Stephen Rothwell reports a build warnings(powerpc ppc64_defconfig) drivers/net/tun.c: In function 'tun_do_read.part.5': /home/sfr/next/next/drivers/net/tun.c:1491:6: warning: 'err' may be used uninitialized in this function [-Wmaybe-uninitialized] int err; This is because tun_ring_recv() may return an uninitialized err, fix this. Reported-by:
Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by:
Jason Wang <jasowang@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Raghu Vatsavayi says: ==================== liquidio updates and bug fixes Following V2 patchset contains updates and bug fixes for liquidio driver. This patchset also has changes that you suggested in vxlan code. Please apply the patches in following order as some of the patches depend on earlier patches in the series. ==================== Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch changes response header to be able to communicate with new firmware interface. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch removes redundant file includes and conditions. Provides some meaningful comments and code alignment. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch removes redudant droq num validation. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch limits the MTU between 68 bytes and 16000 bytes. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch fixes the issue of proper freeing of queue memory resources during free device. It also has fix for correct pcie error reporting. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch removes the dependency of number of iq/oq's on number of cpus. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch updates the delay constant for softcommands in accrodance with new requirements. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch tries to protect against bh preemption with sc_buf_pool. It also modifies the syncronization primitives during input queue processing. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch has minor replacements of ACCESS_ONCE macros with WRITE_ONCE and replacement of BUG_ON with polite version WARN_ON. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Raghu Vatsavayi authored
This patch adds support for Vxaln offloads in liquidio driver. Signed-off-by:
Derek Chickles <derek.chickles@caviumnetworks.com> Signed-off-by:
Satanand Burla <satananda.burla@caviumnetworks.com> Signed-off-by:
Felix Manlunas <felix.manlunas@caviumnetworks.com> Signed-off-by:
Raghu Vatsavayi <raghu.vatsavayi@caviumnetworks.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Borkmann authored
If skb_clear_hash() was invoked due to mangling of relevant headers and BPF program needs skb->hash later on, we can add a helper to trigger hash recalculation via bpf_get_hash_recalc(). The helper will return the newly retrieved hash directly, but later access can also be done via skb context again through skb->hash directly (inline) without needing to call the helper once more. Signed-off-by:
Daniel Borkmann <daniel@iogearbox.net> Acked-by:
Alexei Starovoitov <ast@kernel.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
John Fastabend authored
This adds samples for pktgen to use with new mode to inject pkts into the qdisc layer. This also doubles as nice test cases to test any patches against qdisc layer. Signed-off-by:
John Fastabend <john.r.fastabend@intel.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
John Fastabend authored
Add another xmit_mode to pktgen to allow testing xmit functionality of qdiscs. The new mode "queue_xmit" injects packets at __dev_queue_xmit() so that qdisc is called. Signed-off-by:
John Fastabend <john.r.fastabend@intel.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Philippe Reynes authored
There are two generics functions phy_ethtool_{get|set}_link_ksettings, so we can use them instead of defining the same code in the driver. Signed-off-by:
Philippe Reynes <tremyfr@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Philippe Reynes authored
The private structure contain a pointer to phydev, but the structure net_device already contain such pointer. So we can remove the pointer phy in the private structure, and update the driver to use the one contained in struct net_device. Signed-off-by:
Philippe Reynes <tremyfr@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Philippe Reynes authored
There are two generics functions phy_ethtool_{get|set}_link_ksettings, so we can use them instead of defining the same code in the driver. Signed-off-by:
Philippe Reynes <tremyfr@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-