Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F102638142
D37457.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D37457.diff
View Options
diff --git a/sys/dev/ixl/i40e_osdep.h b/sys/dev/ixl/i40e_osdep.h
--- a/sys/dev/ixl/i40e_osdep.h
+++ b/sys/dev/ixl/i40e_osdep.h
@@ -160,10 +160,7 @@
u64 pa;
bus_dma_tag_t tag;
bus_dmamap_t map;
- bus_dma_segment_t seg;
bus_size_t size;
- int nseg;
- int flags;
};
struct i40e_virt_mem {
diff --git a/sys/dev/ixl/i40e_osdep.c b/sys/dev/ixl/i40e_osdep.c
--- a/sys/dev/ixl/i40e_osdep.c
+++ b/sys/dev/ixl/i40e_osdep.c
@@ -109,7 +109,6 @@
"error %u\n", err);
goto fail_2;
}
- mem->nseg = 1;
mem->size = size;
bus_dmamap_sync(mem->tag, mem->map,
BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
diff --git a/sys/dev/ixl/if_ixl.c b/sys/dev/ixl/if_ixl.c
--- a/sys/dev/ixl/if_ixl.c
+++ b/sys/dev/ixl/if_ixl.c
@@ -49,7 +49,7 @@
*********************************************************************/
#define IXL_DRIVER_VERSION_MAJOR 2
#define IXL_DRIVER_VERSION_MINOR 3
-#define IXL_DRIVER_VERSION_BUILD 2
+#define IXL_DRIVER_VERSION_BUILD 3
#define IXL_DRIVER_VERSION_STRING \
__XSTRING(IXL_DRIVER_VERSION_MAJOR) "." \
@@ -1720,9 +1720,10 @@
if ((if_getcapenable(ifp) & IFCAP_VLAN_HWFILTER) == 0)
return;
- if (vsi->num_vlans < IXL_MAX_VLAN_FILTERS)
+ /* One filter is used for untagged frames */
+ if (vsi->num_vlans < IXL_MAX_VLAN_FILTERS - 1)
ixl_del_filter(vsi, hw->mac.addr, vtag);
- else if (vsi->num_vlans == IXL_MAX_VLAN_FILTERS) {
+ else if (vsi->num_vlans == IXL_MAX_VLAN_FILTERS - 1) {
ixl_del_filter(vsi, hw->mac.addr, IXL_VLAN_ANY);
ixl_add_vlan_filters(vsi, hw->mac.addr);
}
diff --git a/sys/dev/ixl/ixl.h b/sys/dev/ixl/ixl.h
--- a/sys/dev/ixl/ixl.h
+++ b/sys/dev/ixl/ixl.h
@@ -164,9 +164,6 @@
#define IXL_VF_MAX_HDR_BUFFER 0x840
#define IXL_VF_MAX_FRAME 0x3FFF
-/* ERJ: hardware can support ~2k (SW5+) filters between all functions */
-#define IXL_MAX_FILTERS 256
-
#define IXL_NVM_VERSION_LO_SHIFT 0
#define IXL_NVM_VERSION_LO_MASK (0xff << IXL_NVM_VERSION_LO_SHIFT)
#define IXL_NVM_VERSION_HI_SHIFT 12
@@ -195,7 +192,7 @@
#define IXL_VLAN_ANY -1
/* Maximum number of MAC/VLAN filters supported by HW */
-#define IXL_MAX_VLAN_FILTERS 256
+#define IXL_MAX_VLAN_FILTERS 255
#define CSUM_OFFLOAD_IPV4 (CSUM_IP|CSUM_TCP|CSUM_UDP|CSUM_SCTP)
#define CSUM_OFFLOAD_IPV6 (CSUM_TCP_IPV6|CSUM_UDP_IPV6|CSUM_SCTP_IPV6)
diff --git a/sys/dev/ixl/ixl_pf_main.c b/sys/dev/ixl/ixl_pf_main.c
--- a/sys/dev/ixl/ixl_pf_main.c
+++ b/sys/dev/ixl/ixl_pf_main.c
@@ -1396,6 +1396,11 @@
b->flags = 0;
}
b->flags |= I40E_AQC_MACVLAN_ADD_PERFECT_MATCH;
+ /* Some FW versions do not set match method
+ * when adding filters fails. Initialize it with
+ * expected error value to allow detection which
+ * filters were not added */
+ b->match_method = I40E_AQC_MM_ERR_NO_RES;
ixl_dbg_filter(pf, "ADD: " MAC_FORMAT "\n",
MAC_FORMAT_ARGS(f->macaddr));
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Nov 16, 4:24 AM (21 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14653133
Default Alt Text
D37457.diff (2 KB)
Attached To
Mode
D37457: ixl(4): Fix MAC/VLAN filters accounting
Attached
Detach File
Event Timeline
Log In to Comment