ofdpa_port 134 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port; ofdpa_port 247 drivers/net/ethernet/rocker/rocker_ofdpa.c static __be16 ofdpa_port_vid_to_vlan(const struct ofdpa_port *ofdpa_port, ofdpa_port 256 drivers/net/ethernet/rocker/rocker_ofdpa.c vlan_id = ofdpa_port->internal_vlan_id; ofdpa_port 264 drivers/net/ethernet/rocker/rocker_ofdpa.c static u16 ofdpa_port_vlan_to_vid(const struct ofdpa_port *ofdpa_port, ofdpa_port 273 drivers/net/ethernet/rocker/rocker_ofdpa.c static bool ofdpa_port_is_slave(const struct ofdpa_port *ofdpa_port, ofdpa_port 276 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port->bridge_dev && ofdpa_port 277 drivers/net/ethernet/rocker/rocker_ofdpa.c !strcmp(ofdpa_port->bridge_dev->rtnl_link_ops->kind, kind); ofdpa_port 280 drivers/net/ethernet/rocker/rocker_ofdpa.c static bool ofdpa_port_is_bridged(const struct ofdpa_port *ofdpa_port) ofdpa_port 282 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_is_slave(ofdpa_port, "bridge"); ofdpa_port 285 drivers/net/ethernet/rocker/rocker_ofdpa.c static bool ofdpa_port_is_ovsed(const struct ofdpa_port *ofdpa_port) ofdpa_port 287 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_is_slave(ofdpa_port, "openvswitch"); ofdpa_port 756 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_flow_tbl_add(struct ofdpa_port *ofdpa_port, ofdpa_port 759 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 785 drivers/net/ethernet/rocker/rocker_ofdpa.c return rocker_cmd_exec(ofdpa_port->rocker_port, ofdpa_port 791 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_flow_tbl_del(struct ofdpa_port *ofdpa_port, ofdpa_port 794 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 816 drivers/net/ethernet/rocker/rocker_ofdpa.c err = rocker_cmd_exec(ofdpa_port->rocker_port, ofdpa_port 826 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_flow_tbl_do(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 830 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_flow_tbl_del(ofdpa_port, flags, entry); ofdpa_port 832 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_flow_tbl_add(ofdpa_port, flags, entry); ofdpa_port 835 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_flow_tbl_ig_port(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 851 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_flow_tbl_do(ofdpa_port, flags, entry); ofdpa_port 854 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_flow_tbl_vlan(struct ofdpa_port *ofdpa_port, ofdpa_port 877 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_flow_tbl_do(ofdpa_port, flags, entry); ofdpa_port 880 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_flow_tbl_term_mac(struct ofdpa_port *ofdpa_port, ofdpa_port 913 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_flow_tbl_do(ofdpa_port, flags, entry); ofdpa_port 916 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_flow_tbl_bridge(struct ofdpa_port *ofdpa_port, ofdpa_port 967 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_flow_tbl_do(ofdpa_port, flags, entry); ofdpa_port 970 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_flow_tbl_ucast4_routing(struct ofdpa_port *ofdpa_port, ofdpa_port 994 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_flow_tbl_do(ofdpa_port, flags, entry); ofdpa_port 997 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_flow_tbl_acl(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1044 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_flow_tbl_do(ofdpa_port, flags, entry); ofdpa_port 1075 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_group_tbl_add(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1078 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 1100 drivers/net/ethernet/rocker/rocker_ofdpa.c return rocker_cmd_exec(ofdpa_port->rocker_port, ofdpa_port 1106 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_group_tbl_del(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1109 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 1128 drivers/net/ethernet/rocker/rocker_ofdpa.c err = rocker_cmd_exec(ofdpa_port->rocker_port, ofdpa_port 1138 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_group_tbl_do(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1142 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_group_tbl_del(ofdpa_port, flags, entry); ofdpa_port 1144 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_group_tbl_add(ofdpa_port, flags, entry); ofdpa_port 1147 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_group_l2_interface(struct ofdpa_port *ofdpa_port, ofdpa_port 1160 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_group_tbl_do(ofdpa_port, flags, entry); ofdpa_port 1163 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_group_l2_fan_out(struct ofdpa_port *ofdpa_port, ofdpa_port 1183 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_group_tbl_do(ofdpa_port, flags, entry); ofdpa_port 1186 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_group_l2_flood(struct ofdpa_port *ofdpa_port, ofdpa_port 1191 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_group_l2_fan_out(ofdpa_port, flags, ofdpa_port 1196 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_group_l3_unicast(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1215 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_group_tbl_do(ofdpa_port, flags, entry); ofdpa_port 1259 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ipv4_neigh(struct ofdpa_port *ofdpa_port, ofdpa_port 1262 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 1290 drivers/net/ethernet/rocker/rocker_ofdpa.c entry->dev = ofdpa_port->dev; ofdpa_port 1315 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_group_l3_unicast(ofdpa_port, flags, ofdpa_port 1317 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->dev->dev_addr, ofdpa_port 1319 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->internal_vlan_id, ofdpa_port 1321 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->pport); ofdpa_port 1323 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) L3 unicast group index %d\n", ofdpa_port 1330 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_ucast4_routing(ofdpa_port, ofdpa_port 1337 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) /32 unicast route %pI4 group 0x%08x\n", ofdpa_port 1348 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ipv4_resolve(struct ofdpa_port *ofdpa_port, ofdpa_port 1351 drivers/net/ethernet/rocker/rocker_ofdpa.c struct net_device *dev = ofdpa_port->dev; ofdpa_port 1367 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ipv4_neigh(ofdpa_port, 0, ofdpa_port 1376 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ipv4_nh(struct ofdpa_port *ofdpa_port, ofdpa_port 1379 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 1403 drivers/net/ethernet/rocker/rocker_ofdpa.c entry->dev = ofdpa_port->dev; ofdpa_port 1429 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ipv4_resolve(ofdpa_port, ip_addr); ofdpa_port 1434 drivers/net/ethernet/rocker/rocker_ofdpa.c static struct ofdpa_port *ofdpa_port_get(const struct ofdpa *ofdpa, ofdpa_port 1443 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_vlan_flood_group(struct ofdpa_port *ofdpa_port, ofdpa_port 1446 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *p; ofdpa_port 1447 drivers/net/ethernet/rocker/rocker_ofdpa.c const struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 1480 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_group_l2_flood(ofdpa_port, flags, vlan_id, ofdpa_port 1483 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) port VLAN l2 flood group\n", err); ofdpa_port 1490 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_vlan_l2_groups(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1493 drivers/net/ethernet/rocker/rocker_ofdpa.c const struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 1495 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *p; ofdpa_port 1506 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port->stp_state == BR_STATE_LEARNING || ofdpa_port 1507 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->stp_state == BR_STATE_FORWARDING) { ofdpa_port 1508 drivers/net/ethernet/rocker/rocker_ofdpa.c out_pport = ofdpa_port->pport; ofdpa_port 1509 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_group_l2_interface(ofdpa_port, flags, ofdpa_port 1512 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) port VLAN l2 group for pport %d\n", ofdpa_port 1533 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_group_l2_interface(ofdpa_port, flags, ofdpa_port 1536 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) port VLAN l2 group for CPU port\n", err); ofdpa_port 1594 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ctrl_vlan_acl(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1597 drivers/net/ethernet/rocker/rocker_ofdpa.c u32 in_pport = ofdpa_port->pport; ofdpa_port 1610 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_acl(ofdpa_port, flags, ofdpa_port 1621 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) ctrl ACL\n", err); ofdpa_port 1626 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ctrl_vlan_bridge(struct ofdpa_port *ofdpa_port, ofdpa_port 1636 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!ofdpa_port_is_bridged(ofdpa_port)) ofdpa_port 1639 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_bridge(ofdpa_port, flags, ofdpa_port 1645 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) ctrl FLOOD\n", err); ofdpa_port 1650 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ctrl_vlan_term(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1658 drivers/net/ethernet/rocker/rocker_ofdpa.c vlan_id = ofdpa_port->internal_vlan_id; ofdpa_port 1660 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_term_mac(ofdpa_port, ofdpa_port->pport, in_pport_mask, ofdpa_port 1667 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) ctrl term\n", err); ofdpa_port 1672 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ctrl_vlan(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1676 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_ctrl_vlan_acl(ofdpa_port, flags, ofdpa_port 1679 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_ctrl_vlan_bridge(ofdpa_port, flags, ofdpa_port 1683 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_ctrl_vlan_term(ofdpa_port, flags, ofdpa_port 1689 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ctrl_vlan_add(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1696 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port->ctrls[i]) { ofdpa_port 1697 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ctrl_vlan(ofdpa_port, flags, ofdpa_port 1707 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ctrl(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1714 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!test_bit(vid, ofdpa_port->vlan_bitmap)) ofdpa_port 1716 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ctrl_vlan(ofdpa_port, flags, ofdpa_port 1725 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_vlan(struct ofdpa_port *ofdpa_port, int flags, ofdpa_port 1730 drivers/net/ethernet/rocker/rocker_ofdpa.c u32 in_pport = ofdpa_port->pport; ofdpa_port 1738 drivers/net/ethernet/rocker/rocker_ofdpa.c internal_vlan_id = ofdpa_port_vid_to_vlan(ofdpa_port, vid, &untagged); ofdpa_port 1741 drivers/net/ethernet/rocker/rocker_ofdpa.c test_bit(ntohs(internal_vlan_id), ofdpa_port->vlan_bitmap)) ofdpa_port 1744 drivers/net/ethernet/rocker/rocker_ofdpa.c !test_bit(ntohs(internal_vlan_id), ofdpa_port->vlan_bitmap)) ofdpa_port 1747 drivers/net/ethernet/rocker/rocker_ofdpa.c change_bit(ntohs(internal_vlan_id), ofdpa_port->vlan_bitmap); ofdpa_port 1750 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ctrl_vlan_add(ofdpa_port, flags, ofdpa_port 1753 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) port ctrl vlan add\n", err); ofdpa_port 1758 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_vlan_l2_groups(ofdpa_port, flags, ofdpa_port 1761 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) port VLAN l2 groups\n", err); ofdpa_port 1765 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_vlan_flood_group(ofdpa_port, flags, ofdpa_port 1768 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) port VLAN l2 flood group\n", err); ofdpa_port 1772 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_vlan(ofdpa_port, flags, ofdpa_port 1776 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) port VLAN table\n", err); ofdpa_port 1783 drivers/net/ethernet/rocker/rocker_ofdpa.c change_bit(ntohs(internal_vlan_id), ofdpa_port->vlan_bitmap); ofdpa_port 1787 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ig_tbl(struct ofdpa_port *ofdpa_port, int flags) ofdpa_port 1802 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_ig_port(ofdpa_port, flags, ofdpa_port 1806 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) ingress port table entry\n", err); ofdpa_port 1813 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port; ofdpa_port 1833 drivers/net/ethernet/rocker/rocker_ofdpa.c lw->ofdpa_port->dev, &info.info, NULL); ofdpa_port 1836 drivers/net/ethernet/rocker/rocker_ofdpa.c lw->ofdpa_port->dev, &info.info, NULL); ofdpa_port 1842 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_fdb_learn(struct ofdpa_port *ofdpa_port, ofdpa_port 1848 drivers/net/ethernet/rocker/rocker_ofdpa.c u32 out_pport = ofdpa_port->pport; ofdpa_port 1854 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port_is_bridged(ofdpa_port)) ofdpa_port 1858 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_bridge(ofdpa_port, flags, addr, ofdpa_port 1865 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!ofdpa_port_is_bridged(ofdpa_port)) ofdpa_port 1874 drivers/net/ethernet/rocker/rocker_ofdpa.c lw->ofdpa_port = ofdpa_port; ofdpa_port 1877 drivers/net/ethernet/rocker/rocker_ofdpa.c lw->vid = ofdpa_port_vlan_to_vid(ofdpa_port, vlan_id); ofdpa_port 1896 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_fdb(struct ofdpa_port *ofdpa_port, ofdpa_port 1900 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 1912 drivers/net/ethernet/rocker/rocker_ofdpa.c fdb->key.ofdpa_port = ofdpa_port; ofdpa_port 1943 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_fdb_learn(ofdpa_port, flags, addr, vlan_id); ofdpa_port 1946 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_fdb_flush(struct ofdpa_port *ofdpa_port, int flags) ofdpa_port 1948 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 1955 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port->stp_state == BR_STATE_LEARNING || ofdpa_port 1956 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->stp_state == BR_STATE_FORWARDING) ofdpa_port 1964 drivers/net/ethernet/rocker/rocker_ofdpa.c if (found->key.ofdpa_port != ofdpa_port) ofdpa_port 1968 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_fdb_learn(ofdpa_port, flags, ofdpa_port 1985 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port; ofdpa_port 2000 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port = entry->key.ofdpa_port; ofdpa_port 2001 drivers/net/ethernet/rocker/rocker_ofdpa.c expires = entry->touched + ofdpa_port->ageing_time; ofdpa_port 2003 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_fdb_learn(ofdpa_port, flags, ofdpa_port 2017 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_router_mac(struct ofdpa_port *ofdpa_port, ofdpa_port 2028 drivers/net/ethernet/rocker/rocker_ofdpa.c vlan_id = ofdpa_port->internal_vlan_id; ofdpa_port 2031 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_term_mac(ofdpa_port, ofdpa_port->pport, ofdpa_port 2033 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->dev->dev_addr, ofdpa_port 2040 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_term_mac(ofdpa_port, ofdpa_port->pport, ofdpa_port 2042 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->dev->dev_addr, ofdpa_port 2049 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_fwding(struct ofdpa_port *ofdpa_port, int flags) ofdpa_port 2064 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port->stp_state != BR_STATE_LEARNING && ofdpa_port 2065 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->stp_state != BR_STATE_FORWARDING) ofdpa_port 2068 drivers/net/ethernet/rocker/rocker_ofdpa.c out_pport = ofdpa_port->pport; ofdpa_port 2070 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!test_bit(vid, ofdpa_port->vlan_bitmap)) ofdpa_port 2074 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_group_l2_interface(ofdpa_port, flags, ofdpa_port 2077 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) port VLAN l2 group for pport %d\n", ofdpa_port 2086 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_stp_update(struct ofdpa_port *ofdpa_port, ofdpa_port 2095 drivers/net/ethernet/rocker/rocker_ofdpa.c memcpy(prev_ctrls, ofdpa_port->ctrls, sizeof(prev_ctrls)); ofdpa_port 2096 drivers/net/ethernet/rocker/rocker_ofdpa.c prev_state = ofdpa_port->stp_state; ofdpa_port 2098 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port->stp_state == state) ofdpa_port 2101 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->stp_state = state; ofdpa_port 2113 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!ofdpa_port_is_ovsed(ofdpa_port)) ofdpa_port 2117 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port_is_bridged(ofdpa_port)) ofdpa_port 2119 drivers/net/ethernet/rocker/rocker_ofdpa.c else if (ofdpa_port_is_ovsed(ofdpa_port)) ofdpa_port 2127 drivers/net/ethernet/rocker/rocker_ofdpa.c if (want[i] != ofdpa_port->ctrls[i]) { ofdpa_port 2130 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ctrl(ofdpa_port, ctrl_flags, ofdpa_port 2134 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->ctrls[i] = want[i]; ofdpa_port 2138 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_fdb_flush(ofdpa_port, flags); ofdpa_port 2142 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_fwding(ofdpa_port, flags); ofdpa_port 2151 drivers/net/ethernet/rocker/rocker_ofdpa.c memcpy(ofdpa_port->ctrls, prev_ctrls, sizeof(prev_ctrls)); ofdpa_port 2152 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->stp_state = prev_state; ofdpa_port 2156 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_fwd_enable(struct ofdpa_port *ofdpa_port, int flags) ofdpa_port 2158 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port_is_bridged(ofdpa_port)) ofdpa_port 2163 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_stp_update(ofdpa_port, flags, ofdpa_port 2167 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_fwd_disable(struct ofdpa_port *ofdpa_port, int flags) ofdpa_port 2169 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port_is_bridged(ofdpa_port)) ofdpa_port 2174 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_stp_update(ofdpa_port, flags, ofdpa_port 2178 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_vlan_add(struct ofdpa_port *ofdpa_port, ofdpa_port 2185 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_vlan(ofdpa_port, 0, vid); ofdpa_port 2189 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_router_mac(ofdpa_port, 0, htons(vid)); ofdpa_port 2191 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_vlan(ofdpa_port, ofdpa_port 2197 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_vlan_del(struct ofdpa_port *ofdpa_port, ofdpa_port 2202 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_router_mac(ofdpa_port, OFDPA_OP_FLAG_REMOVE, ofdpa_port 2207 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_vlan(ofdpa_port, OFDPA_OP_FLAG_REMOVE, ofdpa_port 2225 drivers/net/ethernet/rocker/rocker_ofdpa.c static __be16 ofdpa_port_internal_vlan_id_get(struct ofdpa_port *ofdpa_port, ofdpa_port 2228 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 2258 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Out of internal VLAN IDs\n"); ofdpa_port 2267 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_fib_ipv4(struct ofdpa_port *ofdpa_port, __be32 dst, ofdpa_port 2274 drivers/net/ethernet/rocker/rocker_ofdpa.c __be16 internal_vlan_id = ofdpa_port->internal_vlan_id; ofdpa_port 2287 drivers/net/ethernet/rocker/rocker_ofdpa.c nh_on_port = (nh->fib_nh_dev == ofdpa_port->dev); ofdpa_port 2291 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ipv4_nh(ofdpa_port, flags, ofdpa_port 2302 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_flow_tbl_ucast4_routing(ofdpa_port, eth_type, dst, ofdpa_port 2306 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "Error (%d) IPv4 route %pI4\n", ofdpa_port 2313 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_internal_vlan_id_put(const struct ofdpa_port *ofdpa_port, ofdpa_port 2316 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 2325 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, ofdpa_port 2420 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2422 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->ofdpa = rocker_port->rocker->wpriv; ofdpa_port 2423 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->rocker_port = rocker_port; ofdpa_port 2424 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->dev = rocker_port->dev; ofdpa_port 2425 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->pport = rocker_port->pport; ofdpa_port 2426 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->brport_flags = BR_LEARNING; ofdpa_port 2427 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->ageing_time = BR_DEFAULT_AGEING_TIME; ofdpa_port 2433 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2437 drivers/net/ethernet/rocker/rocker_ofdpa.c !!(ofdpa_port->brport_flags & BR_LEARNING)); ofdpa_port 2439 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ig_tbl(ofdpa_port, 0); ofdpa_port 2441 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "install ig port table failed\n"); ofdpa_port 2445 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->internal_vlan_id = ofdpa_port 2446 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_internal_vlan_id_get(ofdpa_port, ofdpa_port 2447 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->dev->ifindex); ofdpa_port 2449 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_vlan_add(ofdpa_port, OFDPA_UNTAGGED_VID, 0); ofdpa_port 2451 drivers/net/ethernet/rocker/rocker_ofdpa.c netdev_err(ofdpa_port->dev, "install untagged VLAN failed\n"); ofdpa_port 2457 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_ig_tbl(ofdpa_port, OFDPA_OP_FLAG_REMOVE); ofdpa_port 2463 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2465 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_ig_tbl(ofdpa_port, OFDPA_OP_FLAG_REMOVE); ofdpa_port 2470 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2472 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_fwd_enable(ofdpa_port, 0); ofdpa_port 2477 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2479 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_fwd_disable(ofdpa_port, OFDPA_OP_FLAG_NOWAIT); ofdpa_port 2485 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2487 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_stp_update(ofdpa_port, 0, state); ofdpa_port 2494 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2498 drivers/net/ethernet/rocker/rocker_ofdpa.c orig_flags = ofdpa_port->brport_flags; ofdpa_port 2499 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->brport_flags = brport_flags; ofdpa_port 2500 drivers/net/ethernet/rocker/rocker_ofdpa.c if ((orig_flags ^ ofdpa_port->brport_flags) & BR_LEARNING && ofdpa_port 2502 drivers/net/ethernet/rocker/rocker_ofdpa.c err = rocker_port_set_learning(ofdpa_port->rocker_port, ofdpa_port 2503 drivers/net/ethernet/rocker/rocker_ofdpa.c !!(ofdpa_port->brport_flags & BR_LEARNING)); ofdpa_port 2506 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->brport_flags = orig_flags; ofdpa_port 2526 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2527 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa *ofdpa = ofdpa_port->ofdpa; ofdpa_port 2530 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->ageing_time = clock_t_to_jiffies(ageing_time); ofdpa_port 2531 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port->ageing_time < ofdpa->ageing_time) ofdpa_port 2532 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa->ageing_time = ofdpa_port->ageing_time; ofdpa_port 2533 drivers/net/ethernet/rocker/rocker_ofdpa.c mod_timer(&ofdpa_port->ofdpa->fdb_cleanup_timer, jiffies); ofdpa_port 2542 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2547 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_vlan_add(ofdpa_port, vid, vlan->flags); ofdpa_port 2558 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2563 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_vlan_del(ofdpa_port, vid, vlan->flags); ofdpa_port 2574 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2575 drivers/net/ethernet/rocker/rocker_ofdpa.c __be16 vlan_id = ofdpa_port_vid_to_vlan(ofdpa_port, vid, NULL); ofdpa_port 2577 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!ofdpa_port_is_bridged(ofdpa_port)) ofdpa_port 2580 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_fdb(ofdpa_port, addr, vlan_id, 0); ofdpa_port 2586 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2587 drivers/net/ethernet/rocker/rocker_ofdpa.c __be16 vlan_id = ofdpa_port_vid_to_vlan(ofdpa_port, vid, NULL); ofdpa_port 2590 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!ofdpa_port_is_bridged(ofdpa_port)) ofdpa_port 2593 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_fdb(ofdpa_port, addr, vlan_id, flags); ofdpa_port 2596 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_bridge_join(struct ofdpa_port *ofdpa_port, ofdpa_port 2607 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_vlan_del(ofdpa_port, OFDPA_UNTAGGED_VID, 0); ofdpa_port 2611 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_internal_vlan_id_put(ofdpa_port, ofdpa_port 2612 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->dev->ifindex); ofdpa_port 2613 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->internal_vlan_id = ofdpa_port 2614 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_internal_vlan_id_get(ofdpa_port, bridge->ifindex); ofdpa_port 2616 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->bridge_dev = bridge; ofdpa_port 2618 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_vlan_add(ofdpa_port, OFDPA_UNTAGGED_VID, 0); ofdpa_port 2621 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_bridge_leave(struct ofdpa_port *ofdpa_port) ofdpa_port 2625 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_vlan_del(ofdpa_port, OFDPA_UNTAGGED_VID, 0); ofdpa_port 2629 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_internal_vlan_id_put(ofdpa_port, ofdpa_port 2630 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->bridge_dev->ifindex); ofdpa_port 2631 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->internal_vlan_id = ofdpa_port 2632 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port_internal_vlan_id_get(ofdpa_port, ofdpa_port 2633 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->dev->ifindex); ofdpa_port 2635 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->bridge_dev = NULL; ofdpa_port 2637 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_vlan_add(ofdpa_port, OFDPA_UNTAGGED_VID, 0); ofdpa_port 2641 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port->dev->flags & IFF_UP) ofdpa_port 2642 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_fwd_enable(ofdpa_port, 0); ofdpa_port 2647 drivers/net/ethernet/rocker/rocker_ofdpa.c static int ofdpa_port_ovs_changed(struct ofdpa_port *ofdpa_port, ofdpa_port 2652 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->bridge_dev = master; ofdpa_port 2654 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_fwd_disable(ofdpa_port, 0); ofdpa_port 2657 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_fwd_enable(ofdpa_port, 0); ofdpa_port 2665 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2669 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_bridge_join(ofdpa_port, master); ofdpa_port 2671 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ovs_changed(ofdpa_port, master); ofdpa_port 2678 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2681 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port_is_bridged(ofdpa_port)) ofdpa_port 2682 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_bridge_leave(ofdpa_port); ofdpa_port 2683 drivers/net/ethernet/rocker/rocker_ofdpa.c else if (ofdpa_port_is_ovsed(ofdpa_port)) ofdpa_port 2684 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_ovs_changed(ofdpa_port, NULL); ofdpa_port 2691 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2696 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_ipv4_neigh(ofdpa_port, flags, ip_addr, n->ha); ofdpa_port 2702 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2706 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_ipv4_neigh(ofdpa_port, flags, ip_addr, n->ha); ofdpa_port 2713 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port = rocker_port->wpriv; ofdpa_port 2716 drivers/net/ethernet/rocker/rocker_ofdpa.c if (ofdpa_port->stp_state != BR_STATE_LEARNING && ofdpa_port 2717 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port->stp_state != BR_STATE_FORWARDING) ofdpa_port 2720 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_fdb(ofdpa_port, addr, vlan_id, flags); ofdpa_port 2723 drivers/net/ethernet/rocker/rocker_ofdpa.c static struct ofdpa_port *ofdpa_port_dev_lower_find(struct net_device *dev, ofdpa_port 2736 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port; ofdpa_port 2743 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port = ofdpa_port_dev_lower_find(nh->fib_nh_dev, rocker); ofdpa_port 2744 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!ofdpa_port) ofdpa_port 2746 drivers/net/ethernet/rocker/rocker_ofdpa.c err = ofdpa_port_fib_ipv4(ofdpa_port, htonl(fen_info->dst), ofdpa_port 2759 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port; ofdpa_port 2765 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port = ofdpa_port_dev_lower_find(nh->fib_nh_dev, rocker); ofdpa_port 2766 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!ofdpa_port) ofdpa_port 2769 drivers/net/ethernet/rocker/rocker_ofdpa.c return ofdpa_port_fib_ipv4(ofdpa_port, htonl(fen_info->dst), ofdpa_port 2777 drivers/net/ethernet/rocker/rocker_ofdpa.c struct ofdpa_port *ofdpa_port; ofdpa_port 2794 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_port = ofdpa_port_dev_lower_find(nh->fib_nh_dev, rocker); ofdpa_port 2795 drivers/net/ethernet/rocker/rocker_ofdpa.c if (!ofdpa_port) ofdpa_port 2798 drivers/net/ethernet/rocker/rocker_ofdpa.c ofdpa_flow_tbl_del(ofdpa_port, OFDPA_OP_FLAG_REMOVE, ofdpa_port 2808 drivers/net/ethernet/rocker/rocker_ofdpa.c .port_priv_size = sizeof(struct ofdpa_port),