Re: [net-next v3 06/16] i40e: Implementation of vxlan ndo's
flat view
From: Joseph Gasparakis <hidden>
Date: 2013-12-20 23:07:53
On Fri, 20 Dec 2013, David Miller wrote:
From: Or Gerlitz <redacted> Date: Fri, 20 Dec 2013 23:06:06 +0200quoted
On Fri, Dec 20, 2013 at 8:21 PM, Jeff Kirsher [off-list ref] wrote:quoted
@@ -244,6 +244,7 @@ config IXGBEVF config I40E tristate "Intel(R) Ethernet Controller XL710 Family support" depends on PCI + depends on VXLAN || !VXLANI definitely want a clear detailed explanation for this gross dependency.
Right now the code in vxlan.h is:
#if IS_ENABLED(CONFIG_VXLAN)
void vxlan_get_rx_port(struct net_device *netdev);
#else
static inline void vxlan_get_rx_port(struct net_device *netdev)
{
}
#endif
so the function can be called from drivers whether vxlan is enabled in
.config or not. However, the "depends on VXLAN || !VXLAN" is needed when
the driver is compiled as a built-in, otherwise we get an undefined
reference for the above function. If this is not the right way to fix the
dependency please let me know and I will fix it accordingly.
quoted
quoted
+ i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_add_udp_tunnel); + + cmd->udp_port = cpu_to_le16(udp_port); + cmd->header_len = header_len; + cmd->protocol_index = protocol_index; + + status = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);so i40e_asq_send_command is called with a spinlock held or under rcu_read_lock from the vxlan driver code but might sleep, as it takes a mutex, seems problematic.Indeed this looks like a bug.
Ok, the comment makes sense, I will rework this.
-- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html