Lines Matching refs:fsp

963 	struct ethtool_rx_flow_spec *fsp = &cmd->fs;
970 rule = igc_get_nfc_rule(adapter, fsp->location);
974 fsp->flow_type = ETHER_FLOW;
975 fsp->ring_cookie = rule->action;
978 fsp->h_u.ether_spec.h_proto = htons(rule->filter.etype);
979 fsp->m_u.ether_spec.h_proto = ETHER_TYPE_FULL_MASK;
983 fsp->flow_type |= FLOW_EXT;
984 fsp->h_ext.vlan_etype = htons(rule->filter.vlan_etype);
985 fsp->m_ext.vlan_etype = ETHER_TYPE_FULL_MASK;
989 fsp->flow_type |= FLOW_EXT;
990 fsp->h_ext.vlan_tci = htons(rule->filter.vlan_tci);
991 fsp->m_ext.vlan_tci = htons(rule->filter.vlan_tci_mask);
995 ether_addr_copy(fsp->h_u.ether_spec.h_dest,
997 eth_broadcast_addr(fsp->m_u.ether_spec.h_dest);
1001 ether_addr_copy(fsp->h_u.ether_spec.h_source,
1003 eth_broadcast_addr(fsp->m_u.ether_spec.h_source);
1007 fsp->flow_type |= FLOW_EXT;
1008 memcpy(fsp->h_ext.data, rule->filter.user_data, sizeof(fsp->h_ext.data));
1009 memcpy(fsp->m_ext.data, rule->filter.user_mask, sizeof(fsp->m_ext.data));
1217 const struct ethtool_rx_flow_spec *fsp)
1221 rule->action = fsp->ring_cookie;
1222 rule->location = fsp->location;
1224 if ((fsp->flow_type & FLOW_EXT) && fsp->m_ext.vlan_tci) {
1225 rule->filter.vlan_tci = ntohs(fsp->h_ext.vlan_tci);
1226 rule->filter.vlan_tci_mask = ntohs(fsp->m_ext.vlan_tci);
1230 if (fsp->m_u.ether_spec.h_proto == ETHER_TYPE_FULL_MASK) {
1231 rule->filter.etype = ntohs(fsp->h_u.ether_spec.h_proto);
1238 if (is_broadcast_ether_addr(fsp->m_u.ether_spec.h_source)) {
1241 fsp->h_u.ether_spec.h_source);
1244 if (is_broadcast_ether_addr(fsp->m_u.ether_spec.h_dest)) {
1247 fsp->h_u.ether_spec.h_dest);
1251 if ((fsp->flow_type & FLOW_EXT) && fsp->h_ext.vlan_etype) {
1252 rule->filter.vlan_etype = ntohs(fsp->h_ext.vlan_etype);
1257 if ((fsp->flow_type & FLOW_EXT) &&
1258 (fsp->h_ext.data[0] || fsp->h_ext.data[1])) {
1260 memcpy(rule->filter.user_data, fsp->h_ext.data, sizeof(fsp->h_ext.data));
1261 memcpy(rule->filter.user_mask, fsp->m_ext.data, sizeof(fsp->m_ext.data));
1326 struct ethtool_rx_flow_spec *fsp =
1336 if ((fsp->flow_type & ~FLOW_EXT) != ETHER_FLOW) {
1341 if (fsp->ring_cookie >= adapter->num_rx_queues) {
1350 if ((fsp->flow_type & FLOW_EXT) &&
1351 fsp->m_ext.vlan_tci &&
1352 fsp->m_ext.vlan_tci != htons(VLAN_PRIO_MASK) &&
1353 fsp->m_ext.vlan_tci != VLAN_TCI_FULL_MASK) {
1359 if ((fsp->flow_type & FLOW_EXT) &&
1360 fsp->m_ext.vlan_etype &&
1361 fsp->m_ext.vlan_etype != ETHER_TYPE_FULL_MASK) {
1366 if (fsp->location >= IGC_MAX_RXNFC_RULES) {
1375 igc_ethtool_init_nfc_rule(rule, fsp);
1383 old_rule = igc_get_nfc_rule(adapter, fsp->location);
1403 struct ethtool_rx_flow_spec *fsp =
1409 rule = igc_get_nfc_rule(adapter, fsp->location);