Searched refs:rocker_port (Results 1 - 1 of 1) sorted by relevance

/linux-4.1.27/drivers/net/ethernet/rocker/
H A Drocker.c213 struct rocker_port { struct
235 struct rocker_port **ports;
297 static __be16 rocker_port_vid_to_vlan(struct rocker_port *rocker_port, rocker_port_vid_to_vlan() argument
306 vlan_id = rocker_port->internal_vlan_id; rocker_port_vid_to_vlan()
314 static u16 rocker_port_vlan_to_vid(struct rocker_port *rocker_port, rocker_port_vlan_to_vid() argument
323 static bool rocker_port_is_bridged(struct rocker_port *rocker_port) rocker_port_is_bridged() argument
325 return !!rocker_port->bridge_dev; rocker_port_is_bridged()
382 static u32 rocker_msix_tx_vector(struct rocker_port *rocker_port) rocker_msix_tx_vector() argument
384 return rocker_msix_vector(rocker_port->rocker, rocker_msix_tx_vector()
385 ROCKER_MSIX_VEC_TX(rocker_port->port_number)); rocker_msix_tx_vector()
388 static u32 rocker_msix_rx_vector(struct rocker_port *rocker_port) rocker_msix_rx_vector() argument
390 return rocker_msix_vector(rocker_port->rocker, rocker_msix_rx_vector()
391 ROCKER_MSIX_VEC_RX(rocker_port->port_number)); rocker_msix_rx_vector()
1106 struct rocker_port *rocker_port, rocker_dma_rx_ring_skb_map()
1129 static size_t rocker_port_rx_buf_len(struct rocker_port *rocker_port) rocker_port_rx_buf_len() argument
1131 return rocker_port->dev->mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN; rocker_port_rx_buf_len()
1135 struct rocker_port *rocker_port, rocker_dma_rx_ring_skb_alloc()
1138 struct net_device *dev = rocker_port->dev; rocker_dma_rx_ring_skb_alloc()
1140 size_t buf_len = rocker_port_rx_buf_len(rocker_port); rocker_dma_rx_ring_skb_alloc()
1152 err = rocker_dma_rx_ring_skb_map(rocker, rocker_port, desc_info, rocker_dma_rx_ring_skb_alloc()
1191 struct rocker_port *rocker_port) rocker_dma_rx_ring_skbs_alloc()
1193 struct rocker_dma_ring_info *rx_ring = &rocker_port->rx_ring; rocker_dma_rx_ring_skbs_alloc()
1198 err = rocker_dma_rx_ring_skb_alloc(rocker, rocker_port, rocker_dma_rx_ring_skbs_alloc()
1212 struct rocker_port *rocker_port) rocker_dma_rx_ring_skbs_free()
1214 struct rocker_dma_ring_info *rx_ring = &rocker_port->rx_ring; rocker_dma_rx_ring_skbs_free()
1221 static int rocker_port_dma_rings_init(struct rocker_port *rocker_port) rocker_port_dma_rings_init() argument
1223 struct rocker *rocker = rocker_port->rocker; rocker_port_dma_rings_init()
1227 ROCKER_DMA_TX(rocker_port->port_number), rocker_port_dma_rings_init()
1229 &rocker_port->tx_ring); rocker_port_dma_rings_init()
1231 netdev_err(rocker_port->dev, "failed to create tx dma ring\n"); rocker_port_dma_rings_init()
1235 err = rocker_dma_ring_bufs_alloc(rocker, &rocker_port->tx_ring, rocker_port_dma_rings_init()
1239 netdev_err(rocker_port->dev, "failed to alloc tx dma ring buffers\n"); rocker_port_dma_rings_init()
1244 ROCKER_DMA_RX(rocker_port->port_number), rocker_port_dma_rings_init()
1246 &rocker_port->rx_ring); rocker_port_dma_rings_init()
1248 netdev_err(rocker_port->dev, "failed to create rx dma ring\n"); rocker_port_dma_rings_init()
1252 err = rocker_dma_ring_bufs_alloc(rocker, &rocker_port->rx_ring, rocker_port_dma_rings_init()
1256 netdev_err(rocker_port->dev, "failed to alloc rx dma ring buffers\n"); rocker_port_dma_rings_init()
1260 err = rocker_dma_rx_ring_skbs_alloc(rocker, rocker_port); rocker_port_dma_rings_init()
1262 netdev_err(rocker_port->dev, "failed to alloc rx dma ring skbs\n"); rocker_port_dma_rings_init()
1265 rocker_dma_ring_pass_to_producer(rocker, &rocker_port->rx_ring); rocker_port_dma_rings_init()
1270 rocker_dma_ring_bufs_free(rocker, &rocker_port->rx_ring, rocker_port_dma_rings_init()
1273 rocker_dma_ring_destroy(rocker, &rocker_port->rx_ring); rocker_port_dma_rings_init()
1275 rocker_dma_ring_bufs_free(rocker, &rocker_port->tx_ring, rocker_port_dma_rings_init()
1278 rocker_dma_ring_destroy(rocker, &rocker_port->tx_ring); rocker_port_dma_rings_init()
1282 static void rocker_port_dma_rings_fini(struct rocker_port *rocker_port) rocker_port_dma_rings_fini() argument
1284 struct rocker *rocker = rocker_port->rocker; rocker_port_dma_rings_fini()
1286 rocker_dma_rx_ring_skbs_free(rocker, rocker_port); rocker_port_dma_rings_fini()
1287 rocker_dma_ring_bufs_free(rocker, &rocker_port->rx_ring, rocker_port_dma_rings_fini()
1289 rocker_dma_ring_destroy(rocker, &rocker_port->rx_ring); rocker_port_dma_rings_fini()
1290 rocker_dma_ring_bufs_free(rocker, &rocker_port->tx_ring, rocker_port_dma_rings_fini()
1292 rocker_dma_ring_destroy(rocker, &rocker_port->tx_ring); rocker_port_dma_rings_fini()
1295 static void rocker_port_set_enable(struct rocker_port *rocker_port, bool enable) rocker_port_set_enable() argument
1297 u64 val = rocker_read64(rocker_port->rocker, PORT_PHYS_ENABLE); rocker_port_set_enable()
1300 val |= 1ULL << rocker_port->pport; rocker_port_set_enable()
1302 val &= ~(1ULL << rocker_port->pport); rocker_port_set_enable()
1303 rocker_write64(rocker_port->rocker, PORT_PHYS_ENABLE, val); rocker_port_set_enable()
1334 static void rocker_port_link_up(struct rocker_port *rocker_port) rocker_port_link_up() argument
1336 netif_carrier_on(rocker_port->dev); rocker_port_link_up()
1337 netdev_info(rocker_port->dev, "Link is up\n"); rocker_port_link_up()
1340 static void rocker_port_link_down(struct rocker_port *rocker_port) rocker_port_link_down() argument
1342 netif_carrier_off(rocker_port->dev); rocker_port_link_down()
1343 netdev_info(rocker_port->dev, "Link is down\n"); rocker_port_link_down()
1352 struct rocker_port *rocker_port; rocker_event_link_change() local
1365 rocker_port = rocker->ports[port_number]; rocker_event_link_change()
1366 if (netif_carrier_ok(rocker_port->dev) != link_up) { rocker_event_link_change()
1368 rocker_port_link_up(rocker_port); rocker_event_link_change()
1370 rocker_port_link_down(rocker_port); rocker_event_link_change()
1381 static int rocker_port_fdb(struct rocker_port *rocker_port,
1390 struct rocker_port *rocker_port; rocker_event_mac_vlan_seen() local
1408 rocker_port = rocker->ports[port_number]; rocker_event_mac_vlan_seen()
1410 if (rocker_port->stp_state != BR_STATE_LEARNING && rocker_event_mac_vlan_seen()
1411 rocker_port->stp_state != BR_STATE_FORWARDING) rocker_event_mac_vlan_seen()
1414 return rocker_port_fdb(rocker_port, addr, vlan_id, flags); rocker_event_mac_vlan_seen()
1472 struct rocker_port *rocker_port = dev_id; rocker_tx_irq_handler() local
1474 napi_schedule(&rocker_port->napi_tx); rocker_tx_irq_handler()
1480 struct rocker_port *rocker_port = dev_id; rocker_rx_irq_handler() local
1482 napi_schedule(&rocker_port->napi_rx); rocker_rx_irq_handler()
1491 struct rocker_port *rocker_port,
1496 struct rocker_port *rocker_port, rocker_cmd_exec()
1518 err = prepare(rocker, rocker_port, desc_info, prepare_priv); rocker_cmd_exec()
1538 err = process(rocker, rocker_port, desc_info, process_priv); rocker_cmd_exec()
1548 struct rocker_port *rocker_port, rocker_cmd_get_port_settings_prep()
1561 rocker_port->pport)) rocker_cmd_get_port_settings_prep()
1569 struct rocker_port *rocker_port, rocker_cmd_get_port_settings_ethtool_proc()
1608 struct rocker_port *rocker_port, rocker_cmd_get_port_settings_macaddr_proc()
1641 struct rocker_port *rocker_port, rocker_cmd_get_port_settings_phys_name_proc()
1683 struct rocker_port *rocker_port, rocker_cmd_set_port_settings_ethtool_prep()
1697 rocker_port->pport)) rocker_cmd_set_port_settings_ethtool_prep()
1714 struct rocker_port *rocker_port, rocker_cmd_set_port_settings_macaddr_prep()
1728 rocker_port->pport)) rocker_cmd_set_port_settings_macaddr_prep()
1739 struct rocker_port *rocker_port, rocker_cmd_set_port_learning_prep()
1752 rocker_port->pport)) rocker_cmd_set_port_learning_prep()
1755 !!(rocker_port->brport_flags & BR_LEARNING))) rocker_cmd_set_port_learning_prep()
1761 static int rocker_cmd_get_port_settings_ethtool(struct rocker_port *rocker_port, rocker_cmd_get_port_settings_ethtool() argument
1764 return rocker_cmd_exec(rocker_port->rocker, rocker_port, rocker_cmd_get_port_settings_ethtool()
1770 static int rocker_cmd_get_port_settings_macaddr(struct rocker_port *rocker_port, rocker_cmd_get_port_settings_macaddr() argument
1773 return rocker_cmd_exec(rocker_port->rocker, rocker_port, rocker_cmd_get_port_settings_macaddr()
1779 static int rocker_cmd_set_port_settings_ethtool(struct rocker_port *rocker_port, rocker_cmd_set_port_settings_ethtool() argument
1782 return rocker_cmd_exec(rocker_port->rocker, rocker_port, rocker_cmd_set_port_settings_ethtool()
1787 static int rocker_cmd_set_port_settings_macaddr(struct rocker_port *rocker_port, rocker_cmd_set_port_settings_macaddr() argument
1790 return rocker_cmd_exec(rocker_port->rocker, rocker_port, rocker_cmd_set_port_settings_macaddr()
1795 static int rocker_port_set_learning(struct rocker_port *rocker_port) rocker_port_set_learning() argument
1797 return rocker_cmd_exec(rocker_port->rocker, rocker_port, rocker_port_set_learning()
1999 struct rocker_port *rocker_port, rocker_cmd_flow_tbl_add()
2057 struct rocker_port *rocker_port, rocker_cmd_flow_tbl_del()
2167 struct rocker_port *rocker_port, rocker_cmd_group_tbl_add()
2213 struct rocker_port *rocker_port, rocker_cmd_group_tbl_del()
2310 static int rocker_flow_tbl_add(struct rocker_port *rocker_port, rocker_flow_tbl_add() argument
2314 struct rocker *rocker = rocker_port->rocker; rocker_flow_tbl_add()
2341 return rocker_cmd_exec(rocker, rocker_port, rocker_flow_tbl_add()
2346 static int rocker_flow_tbl_del(struct rocker_port *rocker_port, rocker_flow_tbl_del() argument
2350 struct rocker *rocker = rocker_port->rocker; rocker_flow_tbl_del()
2372 err = rocker_cmd_exec(rocker, rocker_port, rocker_flow_tbl_del()
2386 static int rocker_flow_tbl_do(struct rocker_port *rocker_port, rocker_flow_tbl_do() argument
2392 return rocker_flow_tbl_del(rocker_port, entry, nowait); rocker_flow_tbl_do()
2394 return rocker_flow_tbl_add(rocker_port, entry, nowait); rocker_flow_tbl_do()
2397 static int rocker_flow_tbl_ig_port(struct rocker_port *rocker_port, rocker_flow_tbl_ig_port() argument
2413 return rocker_flow_tbl_do(rocker_port, flags, entry); rocker_flow_tbl_ig_port()
2416 static int rocker_flow_tbl_vlan(struct rocker_port *rocker_port, rocker_flow_tbl_vlan() argument
2438 return rocker_flow_tbl_do(rocker_port, flags, entry); rocker_flow_tbl_vlan()
2441 static int rocker_flow_tbl_term_mac(struct rocker_port *rocker_port, rocker_flow_tbl_term_mac() argument
2474 return rocker_flow_tbl_do(rocker_port, flags, entry); rocker_flow_tbl_term_mac()
2477 static int rocker_flow_tbl_bridge(struct rocker_port *rocker_port, rocker_flow_tbl_bridge() argument
2528 return rocker_flow_tbl_do(rocker_port, flags, entry); rocker_flow_tbl_bridge()
2531 static int rocker_flow_tbl_ucast4_routing(struct rocker_port *rocker_port, rocker_flow_tbl_ucast4_routing() argument
2553 return rocker_flow_tbl_do(rocker_port, flags, entry); rocker_flow_tbl_ucast4_routing()
2556 static int rocker_flow_tbl_acl(struct rocker_port *rocker_port, rocker_flow_tbl_acl() argument
2605 return rocker_flow_tbl_do(rocker_port, flags, entry); rocker_flow_tbl_acl()
2636 static int rocker_group_tbl_add(struct rocker_port *rocker_port, rocker_group_tbl_add() argument
2640 struct rocker *rocker = rocker_port->rocker; rocker_group_tbl_add()
2662 return rocker_cmd_exec(rocker, rocker_port, rocker_group_tbl_add()
2667 static int rocker_group_tbl_del(struct rocker_port *rocker_port, rocker_group_tbl_del() argument
2671 struct rocker *rocker = rocker_port->rocker; rocker_group_tbl_del()
2690 err = rocker_cmd_exec(rocker, rocker_port, rocker_group_tbl_del()
2699 static int rocker_group_tbl_do(struct rocker_port *rocker_port, rocker_group_tbl_do() argument
2705 return rocker_group_tbl_del(rocker_port, entry, nowait); rocker_group_tbl_do()
2707 return rocker_group_tbl_add(rocker_port, entry, nowait); rocker_group_tbl_do()
2710 static int rocker_group_l2_interface(struct rocker_port *rocker_port, rocker_group_l2_interface() argument
2723 return rocker_group_tbl_do(rocker_port, flags, entry); rocker_group_l2_interface()
2726 static int rocker_group_l2_fan_out(struct rocker_port *rocker_port, rocker_group_l2_fan_out() argument
2747 return rocker_group_tbl_do(rocker_port, flags, entry); rocker_group_l2_fan_out()
2750 static int rocker_group_l2_flood(struct rocker_port *rocker_port, rocker_group_l2_flood() argument
2755 return rocker_group_l2_fan_out(rocker_port, flags, rocker_group_l2_flood()
2760 static int rocker_group_l3_unicast(struct rocker_port *rocker_port, rocker_group_l3_unicast() argument
2780 return rocker_group_tbl_do(rocker_port, flags, entry); rocker_group_l3_unicast()
2826 static int rocker_port_ipv4_neigh(struct rocker_port *rocker_port, rocker_port_ipv4_neigh() argument
2829 struct rocker *rocker = rocker_port->rocker; rocker_port_ipv4_neigh()
2857 entry->dev = rocker_port->dev; rocker_port_ipv4_neigh()
2882 err = rocker_group_l3_unicast(rocker_port, flags, rocker_port_ipv4_neigh()
2884 rocker_port->dev->dev_addr, rocker_port_ipv4_neigh()
2886 rocker_port->internal_vlan_id, rocker_port_ipv4_neigh()
2888 rocker_port->pport); rocker_port_ipv4_neigh()
2890 netdev_err(rocker_port->dev, rocker_port_ipv4_neigh()
2898 err = rocker_flow_tbl_ucast4_routing(rocker_port, rocker_port_ipv4_neigh()
2905 netdev_err(rocker_port->dev, rocker_port_ipv4_neigh()
2917 static int rocker_port_ipv4_resolve(struct rocker_port *rocker_port, rocker_port_ipv4_resolve() argument
2920 struct net_device *dev = rocker_port->dev; rocker_port_ipv4_resolve()
2936 err = rocker_port_ipv4_neigh(rocker_port, 0, ip_addr, n->ha); rocker_port_ipv4_resolve()
2944 static int rocker_port_ipv4_nh(struct rocker_port *rocker_port, int flags, rocker_port_ipv4_nh() argument
2947 struct rocker *rocker = rocker_port->rocker; rocker_port_ipv4_nh()
2973 entry->dev = rocker_port->dev; rocker_port_ipv4_nh()
2997 err = rocker_port_ipv4_resolve(rocker_port, ip_addr); rocker_port_ipv4_nh()
3002 static int rocker_port_vlan_flood_group(struct rocker_port *rocker_port, rocker_port_vlan_flood_group() argument
3005 struct rocker_port *p; rocker_port_vlan_flood_group()
3006 struct rocker *rocker = rocker_port->rocker; rocker_port_vlan_flood_group()
3037 err = rocker_group_l2_flood(rocker_port, flags, vlan_id, rocker_port_vlan_flood_group()
3041 netdev_err(rocker_port->dev, rocker_port_vlan_flood_group()
3049 static int rocker_port_vlan_l2_groups(struct rocker_port *rocker_port, rocker_port_vlan_l2_groups() argument
3053 struct rocker *rocker = rocker_port->rocker; rocker_port_vlan_l2_groups()
3054 struct rocker_port *p; rocker_port_vlan_l2_groups()
3065 if (rocker_port->stp_state == BR_STATE_LEARNING || rocker_port_vlan_l2_groups()
3066 rocker_port->stp_state == BR_STATE_FORWARDING) { rocker_port_vlan_l2_groups()
3067 out_pport = rocker_port->pport; rocker_port_vlan_l2_groups()
3068 err = rocker_group_l2_interface(rocker_port, flags, rocker_port_vlan_l2_groups()
3072 netdev_err(rocker_port->dev, rocker_port_vlan_l2_groups()
3094 err = rocker_group_l2_interface(rocker_port, flags, rocker_port_vlan_l2_groups()
3098 netdev_err(rocker_port->dev, rocker_port_vlan_l2_groups()
3151 static int rocker_port_ctrl_vlan_acl(struct rocker_port *rocker_port, rocker_port_ctrl_vlan_acl() argument
3155 u32 in_pport = rocker_port->pport; rocker_port_ctrl_vlan_acl()
3168 err = rocker_flow_tbl_acl(rocker_port, flags, rocker_port_ctrl_vlan_acl()
3179 netdev_err(rocker_port->dev, "Error (%d) ctrl ACL\n", err); rocker_port_ctrl_vlan_acl()
3184 static int rocker_port_ctrl_vlan_bridge(struct rocker_port *rocker_port, rocker_port_ctrl_vlan_bridge() argument
3194 if (!rocker_port_is_bridged(rocker_port)) rocker_port_ctrl_vlan_bridge()
3197 err = rocker_flow_tbl_bridge(rocker_port, flags, rocker_port_ctrl_vlan_bridge()
3203 netdev_err(rocker_port->dev, "Error (%d) ctrl FLOOD\n", err); rocker_port_ctrl_vlan_bridge()
3208 static int rocker_port_ctrl_vlan_term(struct rocker_port *rocker_port, rocker_port_ctrl_vlan_term() argument
3217 vlan_id = rocker_port->internal_vlan_id; rocker_port_ctrl_vlan_term()
3219 err = rocker_flow_tbl_term_mac(rocker_port, rocker_port_ctrl_vlan_term()
3220 rocker_port->pport, in_pport_mask, rocker_port_ctrl_vlan_term()
3227 netdev_err(rocker_port->dev, "Error (%d) ctrl term\n", err); rocker_port_ctrl_vlan_term()
3232 static int rocker_port_ctrl_vlan(struct rocker_port *rocker_port, int flags, rocker_port_ctrl_vlan() argument
3236 return rocker_port_ctrl_vlan_acl(rocker_port, flags, rocker_port_ctrl_vlan()
3239 return rocker_port_ctrl_vlan_bridge(rocker_port, flags, rocker_port_ctrl_vlan()
3243 return rocker_port_ctrl_vlan_term(rocker_port, flags, rocker_port_ctrl_vlan()
3249 static int rocker_port_ctrl_vlan_add(struct rocker_port *rocker_port, rocker_port_ctrl_vlan_add() argument
3256 if (rocker_port->ctrls[i]) { rocker_port_ctrl_vlan_add()
3257 err = rocker_port_ctrl_vlan(rocker_port, flags, rocker_port_ctrl_vlan_add()
3267 static int rocker_port_ctrl(struct rocker_port *rocker_port, int flags, rocker_port_ctrl() argument
3274 if (!test_bit(vid, rocker_port->vlan_bitmap)) rocker_port_ctrl()
3276 err = rocker_port_ctrl_vlan(rocker_port, flags, rocker_port_ctrl()
3285 static int rocker_port_vlan(struct rocker_port *rocker_port, int flags, rocker_port_vlan() argument
3290 u32 in_pport = rocker_port->pport; rocker_port_vlan()
3298 internal_vlan_id = rocker_port_vid_to_vlan(rocker_port, vid, &untagged); rocker_port_vlan()
3301 rocker_port->vlan_bitmap)) rocker_port_vlan()
3304 rocker_port->vlan_bitmap)) rocker_port_vlan()
3308 err = rocker_port_ctrl_vlan_add(rocker_port, flags, rocker_port_vlan()
3311 netdev_err(rocker_port->dev, rocker_port_vlan()
3317 err = rocker_port_vlan_l2_groups(rocker_port, flags, rocker_port_vlan()
3320 netdev_err(rocker_port->dev, rocker_port_vlan()
3325 err = rocker_port_vlan_flood_group(rocker_port, flags, rocker_port_vlan()
3328 netdev_err(rocker_port->dev, rocker_port_vlan()
3333 err = rocker_flow_tbl_vlan(rocker_port, flags, rocker_port_vlan()
3337 netdev_err(rocker_port->dev, rocker_port_vlan()
3343 static int rocker_port_ig_tbl(struct rocker_port *rocker_port, int flags) rocker_port_ig_tbl() argument
3358 err = rocker_flow_tbl_ig_port(rocker_port, flags, rocker_port_ig_tbl()
3362 netdev_err(rocker_port->dev, rocker_port_ig_tbl()
3399 static int rocker_port_fdb_learn(struct rocker_port *rocker_port, rocker_port_fdb_learn() argument
3405 u32 out_pport = rocker_port->pport; rocker_port_fdb_learn()
3408 bool syncing = !!(rocker_port->brport_flags & BR_LEARNING_SYNC); rocker_port_fdb_learn()
3412 if (rocker_port_is_bridged(rocker_port)) rocker_port_fdb_learn()
3416 err = rocker_flow_tbl_bridge(rocker_port, flags, addr, NULL, rocker_port_fdb_learn()
3426 if (!rocker_port_is_bridged(rocker_port)) rocker_port_fdb_learn()
3435 lw->dev = rocker_port->dev; rocker_port_fdb_learn()
3438 lw->vid = rocker_port_vlan_to_vid(rocker_port, vlan_id); rocker_port_fdb_learn()
3457 static int rocker_port_fdb(struct rocker_port *rocker_port, rocker_port_fdb() argument
3461 struct rocker *rocker = rocker_port->rocker; rocker_port_fdb()
3472 fdb->key.pport = rocker_port->pport; rocker_port_fdb()
3499 return rocker_port_fdb_learn(rocker_port, flags, addr, vlan_id); rocker_port_fdb()
3502 static int rocker_port_fdb_flush(struct rocker_port *rocker_port) rocker_port_fdb_flush() argument
3504 struct rocker *rocker = rocker_port->rocker; rocker_port_fdb_flush()
3512 if (rocker_port->stp_state == BR_STATE_LEARNING || rocker_port_fdb_flush()
3513 rocker_port->stp_state == BR_STATE_FORWARDING) rocker_port_fdb_flush()
3519 if (found->key.pport != rocker_port->pport) rocker_port_fdb_flush()
3523 err = rocker_port_fdb_learn(rocker_port, flags, rocker_port_fdb_flush()
3537 static int rocker_port_router_mac(struct rocker_port *rocker_port, rocker_port_router_mac() argument
3548 vlan_id = rocker_port->internal_vlan_id; rocker_port_router_mac()
3551 err = rocker_flow_tbl_term_mac(rocker_port, rocker_port_router_mac()
3552 rocker_port->pport, in_pport_mask, rocker_port_router_mac()
3553 eth_type, rocker_port->dev->dev_addr, rocker_port_router_mac()
3560 err = rocker_flow_tbl_term_mac(rocker_port, rocker_port_router_mac()
3561 rocker_port->pport, in_pport_mask, rocker_port_router_mac()
3562 eth_type, rocker_port->dev->dev_addr, rocker_port_router_mac()
3569 static int rocker_port_fwding(struct rocker_port *rocker_port) rocker_port_fwding() argument
3585 if (rocker_port->stp_state != BR_STATE_LEARNING && rocker_port_fwding()
3586 rocker_port->stp_state != BR_STATE_FORWARDING) rocker_port_fwding()
3589 out_pport = rocker_port->pport; rocker_port_fwding()
3591 if (!test_bit(vid, rocker_port->vlan_bitmap)) rocker_port_fwding()
3595 err = rocker_group_l2_interface(rocker_port, flags, rocker_port_fwding()
3599 netdev_err(rocker_port->dev, rocker_port_fwding()
3609 static int rocker_port_stp_update(struct rocker_port *rocker_port, u8 state) rocker_port_stp_update() argument
3616 if (rocker_port->stp_state == state) rocker_port_stp_update()
3619 rocker_port->stp_state = state; rocker_port_stp_update()
3634 if (rocker_port_is_bridged(rocker_port)) rocker_port_stp_update()
3642 if (want[i] != rocker_port->ctrls[i]) { rocker_port_stp_update()
3645 err = rocker_port_ctrl(rocker_port, flags, rocker_port_stp_update()
3649 rocker_port->ctrls[i] = want[i]; rocker_port_stp_update()
3653 err = rocker_port_fdb_flush(rocker_port); rocker_port_stp_update()
3657 return rocker_port_fwding(rocker_port); rocker_port_stp_update()
3660 static int rocker_port_fwd_enable(struct rocker_port *rocker_port) rocker_port_fwd_enable() argument
3662 if (rocker_port_is_bridged(rocker_port)) rocker_port_fwd_enable()
3667 return rocker_port_stp_update(rocker_port, BR_STATE_FORWARDING); rocker_port_fwd_enable()
3670 static int rocker_port_fwd_disable(struct rocker_port *rocker_port) rocker_port_fwd_disable() argument
3672 if (rocker_port_is_bridged(rocker_port)) rocker_port_fwd_disable()
3677 return rocker_port_stp_update(rocker_port, BR_STATE_DISABLED); rocker_port_fwd_disable()
3694 static __be16 rocker_port_internal_vlan_id_get(struct rocker_port *rocker_port, rocker_port_internal_vlan_id_get() argument
3697 struct rocker *rocker = rocker_port->rocker; rocker_port_internal_vlan_id_get()
3727 netdev_err(rocker_port->dev, "Out of internal VLAN IDs\n"); rocker_port_internal_vlan_id_get()
3736 static void rocker_port_internal_vlan_id_put(struct rocker_port *rocker_port, rocker_port_internal_vlan_id_put() argument
3739 struct rocker *rocker = rocker_port->rocker; rocker_port_internal_vlan_id_put()
3748 netdev_err(rocker_port->dev, rocker_port_internal_vlan_id_put()
3765 static int rocker_port_fib_ipv4(struct rocker_port *rocker_port, __be32 dst, rocker_port_fib_ipv4() argument
3772 __be16 internal_vlan_id = rocker_port->internal_vlan_id; rocker_port_fib_ipv4()
3785 nh_on_port = (fi->fib_dev == rocker_port->dev); rocker_port_fib_ipv4()
3789 err = rocker_port_ipv4_nh(rocker_port, flags, rocker_port_fib_ipv4()
3800 err = rocker_flow_tbl_ucast4_routing(rocker_port, eth_type, dst, rocker_port_fib_ipv4()
3804 netdev_err(rocker_port->dev, "Error (%d) IPv4 route %pI4\n", rocker_port_fib_ipv4()
3816 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_open() local
3819 err = rocker_port_dma_rings_init(rocker_port); rocker_port_open()
3823 err = request_irq(rocker_msix_tx_vector(rocker_port), rocker_port_open()
3825 rocker_driver_name, rocker_port); rocker_port_open()
3827 netdev_err(rocker_port->dev, "cannot assign tx irq\n"); rocker_port_open()
3831 err = request_irq(rocker_msix_rx_vector(rocker_port), rocker_port_open()
3833 rocker_driver_name, rocker_port); rocker_port_open()
3835 netdev_err(rocker_port->dev, "cannot assign rx irq\n"); rocker_port_open()
3839 err = rocker_port_fwd_enable(rocker_port); rocker_port_open()
3843 napi_enable(&rocker_port->napi_tx); rocker_port_open()
3844 napi_enable(&rocker_port->napi_rx); rocker_port_open()
3845 rocker_port_set_enable(rocker_port, true); rocker_port_open()
3850 free_irq(rocker_msix_rx_vector(rocker_port), rocker_port); rocker_port_open() local
3852 free_irq(rocker_msix_tx_vector(rocker_port), rocker_port); rocker_port_open() local
3854 rocker_port_dma_rings_fini(rocker_port); rocker_port_open()
3860 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_stop() local
3863 rocker_port_set_enable(rocker_port, false); rocker_port_stop()
3864 napi_disable(&rocker_port->napi_rx); rocker_port_stop()
3865 napi_disable(&rocker_port->napi_tx); rocker_port_stop()
3866 rocker_port_fwd_disable(rocker_port); rocker_port_stop()
3867 free_irq(rocker_msix_rx_vector(rocker_port), rocker_port); rocker_port_stop() local
3868 free_irq(rocker_msix_tx_vector(rocker_port), rocker_port); rocker_port_stop() local
3869 rocker_port_dma_rings_fini(rocker_port); rocker_port_stop()
3874 static void rocker_tx_desc_frags_unmap(struct rocker_port *rocker_port, rocker_tx_desc_frags_unmap() argument
3877 struct rocker *rocker = rocker_port->rocker; rocker_tx_desc_frags_unmap()
3904 static int rocker_tx_desc_frag_map_put(struct rocker_port *rocker_port, rocker_tx_desc_frag_map_put() argument
3908 struct rocker *rocker = rocker_port->rocker; rocker_tx_desc_frag_map_put()
3916 netdev_err(rocker_port->dev, "failed to dma map tx frag\n"); rocker_tx_desc_frag_map_put()
3940 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_xmit() local
3941 struct rocker *rocker = rocker_port->rocker; rocker_port_xmit()
3947 desc_info = rocker_desc_head_get(&rocker_port->tx_ring); rocker_port_xmit()
3959 err = rocker_tx_desc_frag_map_put(rocker_port, desc_info, rocker_port_xmit()
3969 err = rocker_tx_desc_frag_map_put(rocker_port, desc_info, rocker_port_xmit()
3978 rocker_desc_head_set(rocker, &rocker_port->tx_ring, desc_info); rocker_port_xmit()
3980 desc_info = rocker_desc_head_get(&rocker_port->tx_ring); rocker_port_xmit()
3987 rocker_tx_desc_frags_unmap(rocker_port, desc_info); rocker_port_xmit()
4000 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_set_mac_address() local
4006 err = rocker_cmd_set_port_settings_macaddr(rocker_port, addr->sa_data); rocker_port_set_mac_address()
4016 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_vlan_rx_add_vid() local
4019 err = rocker_port_vlan(rocker_port, 0, vid); rocker_port_vlan_rx_add_vid()
4023 return rocker_port_router_mac(rocker_port, 0, htons(vid)); rocker_port_vlan_rx_add_vid()
4029 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_vlan_rx_kill_vid() local
4032 err = rocker_port_router_mac(rocker_port, ROCKER_OP_FLAG_REMOVE, rocker_port_vlan_rx_kill_vid()
4037 return rocker_port_vlan(rocker_port, ROCKER_OP_FLAG_REMOVE, vid); rocker_port_vlan_rx_kill_vid()
4045 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_fdb_add() local
4046 __be16 vlan_id = rocker_port_vid_to_vlan(rocker_port, vid, NULL); rocker_port_fdb_add()
4049 if (!rocker_port_is_bridged(rocker_port)) rocker_port_fdb_add()
4052 return rocker_port_fdb(rocker_port, addr, vlan_id, flags); rocker_port_fdb_add()
4059 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_fdb_del() local
4060 __be16 vlan_id = rocker_port_vid_to_vlan(rocker_port, vid, NULL); rocker_port_fdb_del()
4063 if (!rocker_port_is_bridged(rocker_port)) rocker_port_fdb_del()
4066 return rocker_port_fdb(rocker_port, addr, vlan_id, flags); rocker_port_fdb_del()
4070 struct rocker_port *rocker_port, rocker_fdb_fill_info()
4088 ndm->ndm_ifindex = rocker_port->dev->ifindex; rocker_fdb_fill_info()
4111 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_fdb_dump() local
4112 struct rocker *rocker = rocker_port->rocker; rocker_port_fdb_dump()
4123 if (found->key.pport != rocker_port->pport) rocker_port_fdb_dump()
4128 vid = rocker_port_vlan_to_vid(rocker_port, found->key.vlan_id); rocker_port_fdb_dump()
4129 err = rocker_fdb_fill_info(skb, rocker_port, addr, vid, rocker_port_fdb_dump()
4145 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_bridge_setlink() local
4159 rocker_port->brport_flags |= BR_LEARNING; rocker_port_bridge_setlink()
4161 rocker_port->brport_flags &= ~BR_LEARNING; rocker_port_bridge_setlink()
4162 err = rocker_port_set_learning(rocker_port); rocker_port_bridge_setlink()
4172 rocker_port->brport_flags |= BR_LEARNING_SYNC; rocker_port_bridge_setlink()
4174 rocker_port->brport_flags &= ~BR_LEARNING_SYNC; rocker_port_bridge_setlink()
4185 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_bridge_getlink() local
4190 rocker_port->brport_flags, mask, rocker_port_bridge_getlink()
4197 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_get_phys_port_name() local
4201 err = rocker_cmd_exec(rocker_port->rocker, rocker_port, rocker_port_get_phys_port_name()
4231 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_swdev_parent_id_get() local
4232 struct rocker *rocker = rocker_port->rocker; rocker_port_swdev_parent_id_get()
4241 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_swdev_port_stp_update() local
4243 return rocker_port_stp_update(rocker_port, state); rocker_port_swdev_port_stp_update()
4252 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_swdev_fib_ipv4_add() local
4255 return rocker_port_fib_ipv4(rocker_port, dst, dst_len, rocker_port_swdev_fib_ipv4_add()
4264 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_swdev_fib_ipv4_del() local
4267 return rocker_port_fib_ipv4(rocker_port, dst, dst_len, rocker_port_swdev_fib_ipv4_del()
4285 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_get_settings() local
4287 return rocker_cmd_get_port_settings_ethtool(rocker_port, ecmd); rocker_port_get_settings()
4293 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_set_settings() local
4295 return rocker_cmd_set_port_settings_ethtool(rocker_port, ecmd); rocker_port_set_settings()
4340 struct rocker_port *rocker_port, rocker_cmd_get_port_stats_prep()
4355 rocker_port->pport)) rocker_cmd_get_port_stats_prep()
4365 struct rocker_port *rocker_port, rocker_cmd_get_port_stats_ethtool_proc()
4388 if (pport != rocker_port->pport) rocker_cmd_get_port_stats_ethtool_proc()
4402 static int rocker_cmd_get_port_stats_ethtool(struct rocker_port *rocker_port, rocker_cmd_get_port_stats_ethtool() argument
4405 return rocker_cmd_exec(rocker_port->rocker, rocker_port, rocker_cmd_get_port_stats_ethtool()
4414 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_get_stats() local
4416 if (rocker_cmd_get_port_stats_ethtool(rocker_port, data) != 0) { rocker_port_get_stats()
4450 static struct rocker_port *rocker_port_napi_tx_get(struct napi_struct *napi) rocker_port_napi_tx_get()
4452 return container_of(napi, struct rocker_port, napi_tx); rocker_port_napi_tx_get()
4457 struct rocker_port *rocker_port = rocker_port_napi_tx_get(napi); rocker_port_poll_tx() local
4458 struct rocker *rocker = rocker_port->rocker; rocker_port_poll_tx()
4464 while ((desc_info = rocker_desc_tail_get(&rocker_port->tx_ring))) { rocker_port_poll_tx()
4469 netdev_err(rocker_port->dev, "tx desc received with err %d\n", rocker_port_poll_tx()
4471 rocker_tx_desc_frags_unmap(rocker_port, desc_info); rocker_port_poll_tx()
4475 rocker_port->dev->stats.tx_packets++; rocker_port_poll_tx()
4476 rocker_port->dev->stats.tx_bytes += skb->len; rocker_port_poll_tx()
4478 rocker_port->dev->stats.tx_errors++; rocker_port_poll_tx()
4484 if (credits && netif_queue_stopped(rocker_port->dev)) rocker_port_poll_tx()
4485 netif_wake_queue(rocker_port->dev); rocker_port_poll_tx()
4488 rocker_dma_ring_credits_set(rocker, &rocker_port->tx_ring, credits); rocker_port_poll_tx()
4494 struct rocker_port *rocker_port, rocker_port_rx_proc()
4512 skb->protocol = eth_type_trans(skb, rocker_port->dev); rocker_port_rx_proc()
4514 rocker_port->dev->stats.rx_packets++; rocker_port_rx_proc()
4515 rocker_port->dev->stats.rx_bytes += skb->len; rocker_port_rx_proc()
4519 return rocker_dma_rx_ring_skb_alloc(rocker, rocker_port, desc_info); rocker_port_rx_proc()
4522 static struct rocker_port *rocker_port_napi_rx_get(struct napi_struct *napi) rocker_port_napi_rx_get()
4524 return container_of(napi, struct rocker_port, napi_rx); rocker_port_napi_rx_get()
4529 struct rocker_port *rocker_port = rocker_port_napi_rx_get(napi); rocker_port_poll_rx() local
4530 struct rocker *rocker = rocker_port->rocker; rocker_port_poll_rx()
4537 (desc_info = rocker_desc_tail_get(&rocker_port->rx_ring))) { rocker_port_poll_rx()
4541 netdev_err(rocker_port->dev, "rx desc received with err %d\n", rocker_port_poll_rx()
4544 err = rocker_port_rx_proc(rocker, rocker_port, rocker_port_poll_rx()
4547 netdev_err(rocker_port->dev, "rx processing failed with err %d\n", rocker_port_poll_rx()
4551 rocker_port->dev->stats.rx_errors++; rocker_port_poll_rx()
4554 rocker_desc_head_set(rocker, &rocker_port->rx_ring, desc_info); rocker_port_poll_rx()
4561 rocker_dma_ring_credits_set(rocker, &rocker_port->rx_ring, credits); rocker_port_poll_rx()
4570 static void rocker_carrier_init(struct rocker_port *rocker_port) rocker_carrier_init() argument
4572 struct rocker *rocker = rocker_port->rocker; rocker_carrier_init()
4576 link_up = link_status & (1 << rocker_port->pport); rocker_carrier_init()
4578 netif_carrier_on(rocker_port->dev); rocker_carrier_init()
4580 netif_carrier_off(rocker_port->dev); rocker_carrier_init()
4585 struct rocker_port *rocker_port; rocker_remove_ports() local
4589 rocker_port = rocker->ports[i]; rocker_remove_ports()
4590 rocker_port_ig_tbl(rocker_port, ROCKER_OP_FLAG_REMOVE); rocker_remove_ports()
4591 unregister_netdev(rocker_port->dev); rocker_remove_ports()
4592 free_netdev(rocker_port->dev); rocker_remove_ports()
4598 struct rocker_port *rocker_port) rocker_port_dev_addr_init()
4603 err = rocker_cmd_get_port_settings_macaddr(rocker_port, rocker_port_dev_addr_init()
4604 rocker_port->dev->dev_addr); rocker_port_dev_addr_init()
4607 eth_hw_addr_random(rocker_port->dev); rocker_port_dev_addr_init()
4614 struct rocker_port *rocker_port; rocker_probe_port() local
4618 dev = alloc_etherdev(sizeof(struct rocker_port)); rocker_probe_port()
4621 rocker_port = netdev_priv(dev); rocker_probe_port()
4622 rocker_port->dev = dev; rocker_probe_port()
4623 rocker_port->rocker = rocker; rocker_probe_port()
4624 rocker_port->port_number = port_number; rocker_probe_port()
4625 rocker_port->pport = port_number + 1; rocker_probe_port()
4626 rocker_port->brport_flags = BR_LEARNING | BR_LEARNING_SYNC; rocker_probe_port()
4628 rocker_port_dev_addr_init(rocker, rocker_port); rocker_probe_port()
4632 netif_napi_add(dev, &rocker_port->napi_tx, rocker_port_poll_tx, rocker_probe_port()
4634 netif_napi_add(dev, &rocker_port->napi_rx, rocker_port_poll_rx, rocker_probe_port()
4636 rocker_carrier_init(rocker_port); rocker_probe_port()
4647 rocker->ports[port_number] = rocker_port; rocker_probe_port()
4649 rocker_port_set_learning(rocker_port); rocker_probe_port()
4651 rocker_port->internal_vlan_id = rocker_probe_port()
4652 rocker_port_internal_vlan_id_get(rocker_port, dev->ifindex); rocker_probe_port()
4653 err = rocker_port_ig_tbl(rocker_port, 0); rocker_probe_port()
4674 alloc_size = sizeof(struct rocker_port *) * rocker->port_count; rocker_probe_ports()
4895 static int rocker_port_bridge_join(struct rocker_port *rocker_port, rocker_port_bridge_join() argument
4900 rocker_port_internal_vlan_id_put(rocker_port, rocker_port_bridge_join()
4901 rocker_port->dev->ifindex); rocker_port_bridge_join()
4903 rocker_port->bridge_dev = bridge; rocker_port_bridge_join()
4906 err = rocker_port_vlan(rocker_port, ROCKER_OP_FLAG_REMOVE, 0); rocker_port_bridge_join()
4909 rocker_port->internal_vlan_id = rocker_port_bridge_join()
4910 rocker_port_internal_vlan_id_get(rocker_port, rocker_port_bridge_join()
4912 return rocker_port_vlan(rocker_port, 0, 0); rocker_port_bridge_join()
4915 static int rocker_port_bridge_leave(struct rocker_port *rocker_port) rocker_port_bridge_leave() argument
4919 rocker_port_internal_vlan_id_put(rocker_port, rocker_port_bridge_leave()
4920 rocker_port->bridge_dev->ifindex); rocker_port_bridge_leave()
4922 rocker_port->bridge_dev = NULL; rocker_port_bridge_leave()
4925 err = rocker_port_vlan(rocker_port, ROCKER_OP_FLAG_REMOVE, 0); rocker_port_bridge_leave()
4928 rocker_port->internal_vlan_id = rocker_port_bridge_leave()
4929 rocker_port_internal_vlan_id_get(rocker_port, rocker_port_bridge_leave()
4930 rocker_port->dev->ifindex); rocker_port_bridge_leave()
4931 err = rocker_port_vlan(rocker_port, 0, 0); rocker_port_bridge_leave()
4935 if (rocker_port->dev->flags & IFF_UP) rocker_port_bridge_leave()
4936 err = rocker_port_fwd_enable(rocker_port); rocker_port_bridge_leave()
4943 struct rocker_port *rocker_port = netdev_priv(dev); rocker_port_master_changed() local
4955 err = rocker_port_bridge_join(rocker_port, master); rocker_port_master_changed()
4956 else if (rocker_port_is_bridged(rocker_port)) rocker_port_master_changed()
4957 err = rocker_port_bridge_leave(rocker_port); rocker_port_master_changed()
4994 struct rocker_port *rocker_port = netdev_priv(dev); rocker_neigh_update() local
4998 return rocker_port_ipv4_neigh(rocker_port, flags, ip_addr, n->ha); rocker_neigh_update()
1105 rocker_dma_rx_ring_skb_map(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, struct sk_buff *skb, size_t buf_len) rocker_dma_rx_ring_skb_map() argument
1134 rocker_dma_rx_ring_skb_alloc(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info) rocker_dma_rx_ring_skb_alloc() argument
1190 rocker_dma_rx_ring_skbs_alloc(struct rocker *rocker, struct rocker_port *rocker_port) rocker_dma_rx_ring_skbs_alloc() argument
1211 rocker_dma_rx_ring_skbs_free(struct rocker *rocker, struct rocker_port *rocker_port) rocker_dma_rx_ring_skbs_free() argument
1495 rocker_cmd_exec(struct rocker *rocker, struct rocker_port *rocker_port, rocker_cmd_cb_t prepare, void *prepare_priv, rocker_cmd_cb_t process, void *process_priv, bool nowait) rocker_cmd_exec() argument
1547 rocker_cmd_get_port_settings_prep(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_get_port_settings_prep() argument
1568 rocker_cmd_get_port_settings_ethtool_proc(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_get_port_settings_ethtool_proc() argument
1607 rocker_cmd_get_port_settings_macaddr_proc(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_get_port_settings_macaddr_proc() argument
1640 rocker_cmd_get_port_settings_phys_name_proc(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_get_port_settings_phys_name_proc() argument
1682 rocker_cmd_set_port_settings_ethtool_prep(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_set_port_settings_ethtool_prep() argument
1713 rocker_cmd_set_port_settings_macaddr_prep(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_set_port_settings_macaddr_prep() argument
1738 rocker_cmd_set_port_learning_prep(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_set_port_learning_prep() argument
1998 rocker_cmd_flow_tbl_add(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_flow_tbl_add() argument
2056 rocker_cmd_flow_tbl_del(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_flow_tbl_del() argument
2166 rocker_cmd_group_tbl_add(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_group_tbl_add() argument
2212 rocker_cmd_group_tbl_del(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_group_tbl_del() argument
4069 rocker_fdb_fill_info(struct sk_buff *skb, struct rocker_port *rocker_port, const unsigned char *addr, u16 vid, u32 portid, u32 seq, int type, unsigned int flags) rocker_fdb_fill_info() argument
4339 rocker_cmd_get_port_stats_prep(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_get_port_stats_prep() argument
4364 rocker_cmd_get_port_stats_ethtool_proc(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info, void *priv) rocker_cmd_get_port_stats_ethtool_proc() argument
4493 rocker_port_rx_proc(struct rocker *rocker, struct rocker_port *rocker_port, struct rocker_desc_info *desc_info) rocker_port_rx_proc() argument
4597 rocker_port_dev_addr_init(struct rocker *rocker, struct rocker_port *rocker_port) rocker_port_dev_addr_init() argument

Completed in 87 milliseconds