Thread (26 messages) 26 messages, 5 authors, 2013-12-21

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 +0200
quoted
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 || !VXLAN
I 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help