Lines Matching defs:ofdpa

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