Lines Matching refs:ofdpa

173 struct ofdpa {  struct
194 struct ofdpa *ofdpa; argument
741 ofdpa_flow_tbl_find(const struct ofdpa *ofdpa, in ofdpa_flow_tbl_find() argument
747 hash_for_each_possible(ofdpa->flow_tbl, found, in ofdpa_flow_tbl_find()
759 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_flow_tbl_add() local
766 spin_lock_irqsave(&ofdpa->flow_tbl_lock, lock_flags); in ofdpa_flow_tbl_add()
768 found = ofdpa_flow_tbl_find(ofdpa, match); in ofdpa_flow_tbl_add()
778 found->cookie = ofdpa->flow_tbl_next_cookie++; in ofdpa_flow_tbl_add()
782 hash_add(ofdpa->flow_tbl, &found->entry, found->key_crc32); in ofdpa_flow_tbl_add()
783 spin_unlock_irqrestore(&ofdpa->flow_tbl_lock, lock_flags); in ofdpa_flow_tbl_add()
794 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_flow_tbl_del() local
802 spin_lock_irqsave(&ofdpa->flow_tbl_lock, lock_flags); in ofdpa_flow_tbl_del()
804 found = ofdpa_flow_tbl_find(ofdpa, match); in ofdpa_flow_tbl_del()
811 spin_unlock_irqrestore(&ofdpa->flow_tbl_lock, lock_flags); in ofdpa_flow_tbl_del()
1048 ofdpa_group_tbl_find(const struct ofdpa *ofdpa, in ofdpa_group_tbl_find() argument
1053 hash_for_each_possible(ofdpa->group_tbl, found, in ofdpa_group_tbl_find()
1078 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_group_tbl_add() local
1082 spin_lock_irqsave(&ofdpa->group_tbl_lock, lock_flags); in ofdpa_group_tbl_add()
1084 found = ofdpa_group_tbl_find(ofdpa, match); in ofdpa_group_tbl_add()
1096 hash_add(ofdpa->group_tbl, &found->entry, found->group_id); in ofdpa_group_tbl_add()
1098 spin_unlock_irqrestore(&ofdpa->group_tbl_lock, lock_flags); in ofdpa_group_tbl_add()
1109 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_group_tbl_del() local
1114 spin_lock_irqsave(&ofdpa->group_tbl_lock, lock_flags); in ofdpa_group_tbl_del()
1116 found = ofdpa_group_tbl_find(ofdpa, match); in ofdpa_group_tbl_del()
1123 spin_unlock_irqrestore(&ofdpa->group_tbl_lock, lock_flags); in ofdpa_group_tbl_del()
1219 ofdpa_neigh_tbl_find(const struct ofdpa *ofdpa, __be32 ip_addr) in ofdpa_neigh_tbl_find() argument
1223 hash_for_each_possible(ofdpa->neigh_tbl, found, in ofdpa_neigh_tbl_find()
1231 static void ofdpa_neigh_add(struct ofdpa *ofdpa, in ofdpa_neigh_add() argument
1234 entry->index = ofdpa->neigh_tbl_next_index++; in ofdpa_neigh_add()
1236 hash_add(ofdpa->neigh_tbl, &entry->entry, in ofdpa_neigh_add()
1262 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_port_ipv4_neigh() local
1280 spin_lock_irqsave(&ofdpa->neigh_tbl_lock, lock_flags); in ofdpa_port_ipv4_neigh()
1282 found = ofdpa_neigh_tbl_find(ofdpa, ip_addr); in ofdpa_port_ipv4_neigh()
1293 ofdpa_neigh_add(ofdpa, entry); in ofdpa_port_ipv4_neigh()
1304 spin_unlock_irqrestore(&ofdpa->neigh_tbl_lock, lock_flags); in ofdpa_port_ipv4_neigh()
1379 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_port_ipv4_nh() local
1393 spin_lock_irqsave(&ofdpa->neigh_tbl_lock, lock_flags); in ofdpa_port_ipv4_nh()
1395 found = ofdpa_neigh_tbl_find(ofdpa, ip_addr); in ofdpa_port_ipv4_nh()
1404 ofdpa_neigh_add(ofdpa, entry); in ofdpa_port_ipv4_nh()
1418 spin_unlock_irqrestore(&ofdpa->neigh_tbl_lock, lock_flags); in ofdpa_port_ipv4_nh()
1434 static struct ofdpa_port *ofdpa_port_get(const struct ofdpa *ofdpa, in ofdpa_port_get() argument
1439 rocker_port = ofdpa->rocker->ports[port_index]; in ofdpa_port_get()
1447 const struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_port_vlan_flood_group() local
1448 unsigned int port_count = ofdpa->rocker->port_count; in ofdpa_port_vlan_flood_group()
1465 p = ofdpa_port_get(ofdpa, i); in ofdpa_port_vlan_flood_group()
1493 const struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_port_vlan_l2_groups() local
1494 unsigned int port_count = ofdpa->rocker->port_count; in ofdpa_port_vlan_l2_groups()
1524 p = ofdpa_port_get(ofdpa, i); in ofdpa_port_vlan_l2_groups()
1884 ofdpa_fdb_tbl_find(const struct ofdpa *ofdpa, in ofdpa_fdb_tbl_find() argument
1889 hash_for_each_possible(ofdpa->fdb_tbl, found, entry, match->key_crc32) in ofdpa_fdb_tbl_find()
1900 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_port_fdb() local
1917 spin_lock_irqsave(&ofdpa->fdb_tbl_lock, lock_flags); in ofdpa_port_fdb()
1919 found = ofdpa_fdb_tbl_find(ofdpa, fdb); in ofdpa_port_fdb()
1928 hash_add(ofdpa->fdb_tbl, &fdb->entry, in ofdpa_port_fdb()
1932 spin_unlock_irqrestore(&ofdpa->fdb_tbl_lock, lock_flags); in ofdpa_port_fdb()
1948 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_port_fdb_flush() local
1961 spin_lock_irqsave(&ofdpa->fdb_tbl_lock, lock_flags); in ofdpa_port_fdb_flush()
1963 hash_for_each_safe(ofdpa->fdb_tbl, bkt, tmp, found, entry) { in ofdpa_port_fdb_flush()
1977 spin_unlock_irqrestore(&ofdpa->fdb_tbl_lock, lock_flags); in ofdpa_port_fdb_flush()
1984 struct ofdpa *ofdpa = from_timer(ofdpa, t, fdb_cleanup_timer); in ofdpa_fdb_cleanup() local
1988 unsigned long next_timer = jiffies + ofdpa->ageing_time; in ofdpa_fdb_cleanup()
1995 spin_lock_irqsave(&ofdpa->fdb_tbl_lock, lock_flags); in ofdpa_fdb_cleanup()
1997 hash_for_each_safe(ofdpa->fdb_tbl, bkt, tmp, entry, entry) { in ofdpa_fdb_cleanup()
2012 spin_unlock_irqrestore(&ofdpa->fdb_tbl_lock, lock_flags); in ofdpa_fdb_cleanup()
2014 mod_timer(&ofdpa->fdb_cleanup_timer, round_jiffies_up(next_timer)); in ofdpa_fdb_cleanup()
2212 ofdpa_internal_vlan_tbl_find(const struct ofdpa *ofdpa, int ifindex) in ofdpa_internal_vlan_tbl_find() argument
2216 hash_for_each_possible(ofdpa->internal_vlan_tbl, found, in ofdpa_internal_vlan_tbl_find()
2228 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_port_internal_vlan_id_get() local
2240 spin_lock_irqsave(&ofdpa->internal_vlan_tbl_lock, lock_flags); in ofdpa_port_internal_vlan_id_get()
2242 found = ofdpa_internal_vlan_tbl_find(ofdpa, ifindex); in ofdpa_port_internal_vlan_id_get()
2249 hash_add(ofdpa->internal_vlan_tbl, &found->entry, found->ifindex); in ofdpa_port_internal_vlan_id_get()
2252 if (test_and_set_bit(i, ofdpa->internal_vlan_bitmap)) in ofdpa_port_internal_vlan_id_get()
2262 spin_unlock_irqrestore(&ofdpa->internal_vlan_tbl_lock, lock_flags); in ofdpa_port_internal_vlan_id_get()
2316 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_port_internal_vlan_id_put() local
2321 spin_lock_irqsave(&ofdpa->internal_vlan_tbl_lock, lock_flags); in ofdpa_port_internal_vlan_id_put()
2323 found = ofdpa_internal_vlan_tbl_find(ofdpa, ifindex); in ofdpa_port_internal_vlan_id_put()
2333 clear_bit(bit, ofdpa->internal_vlan_bitmap); in ofdpa_port_internal_vlan_id_put()
2339 spin_unlock_irqrestore(&ofdpa->internal_vlan_tbl_lock, lock_flags); in ofdpa_port_internal_vlan_id_put()
2348 struct ofdpa *ofdpa = rocker->wpriv; in ofdpa_init() local
2350 ofdpa->rocker = rocker; in ofdpa_init()
2352 hash_init(ofdpa->flow_tbl); in ofdpa_init()
2353 spin_lock_init(&ofdpa->flow_tbl_lock); in ofdpa_init()
2355 hash_init(ofdpa->group_tbl); in ofdpa_init()
2356 spin_lock_init(&ofdpa->group_tbl_lock); in ofdpa_init()
2358 hash_init(ofdpa->fdb_tbl); in ofdpa_init()
2359 spin_lock_init(&ofdpa->fdb_tbl_lock); in ofdpa_init()
2361 hash_init(ofdpa->internal_vlan_tbl); in ofdpa_init()
2362 spin_lock_init(&ofdpa->internal_vlan_tbl_lock); in ofdpa_init()
2364 hash_init(ofdpa->neigh_tbl); in ofdpa_init()
2365 spin_lock_init(&ofdpa->neigh_tbl_lock); in ofdpa_init()
2367 timer_setup(&ofdpa->fdb_cleanup_timer, ofdpa_fdb_cleanup, 0); in ofdpa_init()
2368 mod_timer(&ofdpa->fdb_cleanup_timer, jiffies); in ofdpa_init()
2370 ofdpa->ageing_time = BR_DEFAULT_AGEING_TIME; in ofdpa_init()
2377 struct ofdpa *ofdpa = rocker->wpriv; in ofdpa_fini() local
2388 del_timer_sync(&ofdpa->fdb_cleanup_timer); in ofdpa_fini()
2391 spin_lock_irqsave(&ofdpa->flow_tbl_lock, flags); in ofdpa_fini()
2392 hash_for_each_safe(ofdpa->flow_tbl, bkt, tmp, flow_entry, entry) in ofdpa_fini()
2394 spin_unlock_irqrestore(&ofdpa->flow_tbl_lock, flags); in ofdpa_fini()
2396 spin_lock_irqsave(&ofdpa->group_tbl_lock, flags); in ofdpa_fini()
2397 hash_for_each_safe(ofdpa->group_tbl, bkt, tmp, group_entry, entry) in ofdpa_fini()
2399 spin_unlock_irqrestore(&ofdpa->group_tbl_lock, flags); in ofdpa_fini()
2401 spin_lock_irqsave(&ofdpa->fdb_tbl_lock, flags); in ofdpa_fini()
2402 hash_for_each_safe(ofdpa->fdb_tbl, bkt, tmp, fdb_entry, entry) in ofdpa_fini()
2404 spin_unlock_irqrestore(&ofdpa->fdb_tbl_lock, flags); in ofdpa_fini()
2406 spin_lock_irqsave(&ofdpa->internal_vlan_tbl_lock, flags); in ofdpa_fini()
2407 hash_for_each_safe(ofdpa->internal_vlan_tbl, bkt, in ofdpa_fini()
2410 spin_unlock_irqrestore(&ofdpa->internal_vlan_tbl_lock, flags); in ofdpa_fini()
2412 spin_lock_irqsave(&ofdpa->neigh_tbl_lock, flags); in ofdpa_fini()
2413 hash_for_each_safe(ofdpa->neigh_tbl, bkt, tmp, neigh_entry, entry) in ofdpa_fini()
2415 spin_unlock_irqrestore(&ofdpa->neigh_tbl_lock, flags); in ofdpa_fini()
2422 ofdpa_port->ofdpa = rocker_port->rocker->wpriv; in ofdpa_port_pre_init()
2527 struct ofdpa *ofdpa = ofdpa_port->ofdpa; in ofdpa_port_attr_bridge_ageing_time_set() local
2531 if (ofdpa_port->ageing_time < ofdpa->ageing_time) in ofdpa_port_attr_bridge_ageing_time_set()
2532 ofdpa->ageing_time = ofdpa_port->ageing_time; in ofdpa_port_attr_bridge_ageing_time_set()
2533 mod_timer(&ofdpa_port->ofdpa->fdb_cleanup_timer, jiffies); in ofdpa_port_attr_bridge_ageing_time_set()
2735 struct ofdpa *ofdpa = rocker->wpriv; in ofdpa_fib4_add() local
2740 if (ofdpa->fib_aborted) in ofdpa_fib4_add()
2758 struct ofdpa *ofdpa = rocker->wpriv; in ofdpa_fib4_del() local
2762 if (ofdpa->fib_aborted) in ofdpa_fib4_del()
2776 struct ofdpa *ofdpa = rocker->wpriv; in ofdpa_fib4_abort() local
2783 if (ofdpa->fib_aborted) in ofdpa_fib4_abort()
2786 spin_lock_irqsave(&ofdpa->flow_tbl_lock, flags); in ofdpa_fib4_abort()
2787 hash_for_each_safe(ofdpa->flow_tbl, bkt, tmp, flow_entry, entry) { in ofdpa_fib4_abort()
2802 spin_unlock_irqrestore(&ofdpa->flow_tbl_lock, flags); in ofdpa_fib4_abort()
2803 ofdpa->fib_aborted = true; in ofdpa_fib4_abort()
2808 .priv_size = sizeof(struct ofdpa),