Lines Matching refs:trans
346 struct switchdev_trans *trans, int flags, in __rocker_port_mem_alloc() argument
362 if (!trans) { in __rocker_port_mem_alloc()
364 } else if (switchdev_trans_ph_prepare(trans)) { in __rocker_port_mem_alloc()
368 switchdev_trans_item_enqueue(trans, elem, kfree, elem); in __rocker_port_mem_alloc()
370 elem = switchdev_trans_item_dequeue(trans); in __rocker_port_mem_alloc()
377 struct switchdev_trans *trans, int flags, in rocker_port_kzalloc() argument
380 return __rocker_port_mem_alloc(rocker_port, trans, flags, size); in rocker_port_kzalloc()
384 struct switchdev_trans *trans, int flags, in rocker_port_kcalloc() argument
387 return __rocker_port_mem_alloc(rocker_port, trans, flags, n * size); in rocker_port_kcalloc()
390 static void rocker_port_kfree(struct switchdev_trans *trans, const void *mem) in rocker_port_kfree() argument
399 if (switchdev_trans_ph_prepare(trans)) in rocker_port_kfree()
425 struct switchdev_trans *trans, in rocker_wait_create() argument
430 wait = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*wait)); in rocker_wait_create()
437 static void rocker_wait_destroy(struct switchdev_trans *trans, in rocker_wait_destroy() argument
440 rocker_port_kfree(trans, wait); in rocker_wait_destroy()
1458 struct switchdev_trans *trans,
1576 struct switchdev_trans *trans, int flags, in rocker_cmd_exec() argument
1587 wait = rocker_wait_create(rocker_port, trans, flags); in rocker_cmd_exec()
1609 if (!switchdev_trans_ph_prepare(trans)) in rocker_cmd_exec()
1617 if (!switchdev_trans_ph_prepare(trans)) in rocker_cmd_exec()
1630 rocker_wait_destroy(trans, wait); in rocker_cmd_exec()
1909 struct switchdev_trans *trans) in rocker_port_set_learning() argument
1911 return rocker_cmd_exec(rocker_port, trans, 0, in rocker_port_set_learning()
2427 struct switchdev_trans *trans, int flags, in rocker_flow_tbl_add() argument
2443 if (!switchdev_trans_ph_prepare(trans)) in rocker_flow_tbl_add()
2445 rocker_port_kfree(trans, found); in rocker_flow_tbl_add()
2454 if (!switchdev_trans_ph_prepare(trans)) in rocker_flow_tbl_add()
2459 return rocker_cmd_exec(rocker_port, trans, flags, in rocker_flow_tbl_add()
2464 struct switchdev_trans *trans, int flags, in rocker_flow_tbl_del() argument
2480 if (!switchdev_trans_ph_prepare(trans)) in rocker_flow_tbl_del()
2487 rocker_port_kfree(trans, match); in rocker_flow_tbl_del()
2490 err = rocker_cmd_exec(rocker_port, trans, flags, in rocker_flow_tbl_del()
2493 rocker_port_kfree(trans, found); in rocker_flow_tbl_del()
2500 struct switchdev_trans *trans, int flags, in rocker_flow_tbl_do() argument
2504 return rocker_flow_tbl_del(rocker_port, trans, flags, entry); in rocker_flow_tbl_do()
2506 return rocker_flow_tbl_add(rocker_port, trans, flags, entry); in rocker_flow_tbl_do()
2510 struct switchdev_trans *trans, int flags, in rocker_flow_tbl_ig_port() argument
2516 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_flow_tbl_ig_port()
2526 return rocker_flow_tbl_do(rocker_port, trans, flags, entry); in rocker_flow_tbl_ig_port()
2530 struct switchdev_trans *trans, int flags, in rocker_flow_tbl_vlan() argument
2538 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_flow_tbl_vlan()
2552 return rocker_flow_tbl_do(rocker_port, trans, flags, entry); in rocker_flow_tbl_vlan()
2556 struct switchdev_trans *trans, in rocker_flow_tbl_term_mac() argument
2565 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_flow_tbl_term_mac()
2589 return rocker_flow_tbl_do(rocker_port, trans, flags, entry); in rocker_flow_tbl_term_mac()
2593 struct switchdev_trans *trans, int flags, in rocker_flow_tbl_bridge() argument
2605 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_flow_tbl_bridge()
2643 return rocker_flow_tbl_do(rocker_port, trans, flags, entry); in rocker_flow_tbl_bridge()
2647 struct switchdev_trans *trans, in rocker_flow_tbl_ucast4_routing() argument
2655 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_flow_tbl_ucast4_routing()
2669 return rocker_flow_tbl_do(rocker_port, trans, flags, entry); in rocker_flow_tbl_ucast4_routing()
2673 struct switchdev_trans *trans, int flags, in rocker_flow_tbl_acl() argument
2685 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_flow_tbl_acl()
2720 return rocker_flow_tbl_do(rocker_port, trans, flags, entry); in rocker_flow_tbl_acl()
2738 static void rocker_group_tbl_entry_free(struct switchdev_trans *trans, in rocker_group_tbl_entry_free() argument
2744 rocker_port_kfree(trans, entry->group_ids); in rocker_group_tbl_entry_free()
2749 rocker_port_kfree(trans, entry); in rocker_group_tbl_entry_free()
2753 struct switchdev_trans *trans, int flags, in rocker_group_tbl_add() argument
2765 if (!switchdev_trans_ph_prepare(trans)) in rocker_group_tbl_add()
2767 rocker_group_tbl_entry_free(trans, found); in rocker_group_tbl_add()
2775 if (!switchdev_trans_ph_prepare(trans)) in rocker_group_tbl_add()
2780 return rocker_cmd_exec(rocker_port, trans, flags, in rocker_group_tbl_add()
2785 struct switchdev_trans *trans, int flags, in rocker_group_tbl_del() argument
2798 if (!switchdev_trans_ph_prepare(trans)) in rocker_group_tbl_del()
2805 rocker_group_tbl_entry_free(trans, match); in rocker_group_tbl_del()
2808 err = rocker_cmd_exec(rocker_port, trans, flags, in rocker_group_tbl_del()
2811 rocker_group_tbl_entry_free(trans, found); in rocker_group_tbl_del()
2818 struct switchdev_trans *trans, int flags, in rocker_group_tbl_do() argument
2822 return rocker_group_tbl_del(rocker_port, trans, flags, entry); in rocker_group_tbl_do()
2824 return rocker_group_tbl_add(rocker_port, trans, flags, entry); in rocker_group_tbl_do()
2828 struct switchdev_trans *trans, int flags, in rocker_group_l2_interface() argument
2834 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_group_l2_interface()
2841 return rocker_group_tbl_do(rocker_port, trans, flags, entry); in rocker_group_l2_interface()
2845 struct switchdev_trans *trans, in rocker_group_l2_fan_out() argument
2851 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_group_l2_fan_out()
2858 entry->group_ids = rocker_port_kcalloc(rocker_port, trans, flags, in rocker_group_l2_fan_out()
2861 rocker_port_kfree(trans, entry); in rocker_group_l2_fan_out()
2866 return rocker_group_tbl_do(rocker_port, trans, flags, entry); in rocker_group_l2_fan_out()
2870 struct switchdev_trans *trans, int flags, in rocker_group_l2_flood() argument
2874 return rocker_group_l2_fan_out(rocker_port, trans, flags, in rocker_group_l2_flood()
2880 struct switchdev_trans *trans, int flags, in rocker_group_l3_unicast() argument
2886 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_group_l3_unicast()
2899 return rocker_group_tbl_do(rocker_port, trans, flags, entry); in rocker_group_l3_unicast()
2916 struct switchdev_trans *trans, in _rocker_neigh_add() argument
2919 if (!switchdev_trans_ph_commit(trans)) in _rocker_neigh_add()
2921 if (switchdev_trans_ph_prepare(trans)) in _rocker_neigh_add()
2928 static void _rocker_neigh_del(struct switchdev_trans *trans, in _rocker_neigh_del() argument
2931 if (switchdev_trans_ph_prepare(trans)) in _rocker_neigh_del()
2935 rocker_port_kfree(trans, entry); in _rocker_neigh_del()
2940 struct switchdev_trans *trans, in _rocker_neigh_update() argument
2946 } else if (!switchdev_trans_ph_prepare(trans)) { in _rocker_neigh_update()
2952 struct switchdev_trans *trans, in rocker_port_ipv4_neigh() argument
2969 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_port_ipv4_neigh()
2986 _rocker_neigh_add(rocker, trans, entry); in rocker_port_ipv4_neigh()
2989 _rocker_neigh_del(trans, found); in rocker_port_ipv4_neigh()
2991 _rocker_neigh_update(found, trans, eth_dst, true); in rocker_port_ipv4_neigh()
3008 err = rocker_group_l3_unicast(rocker_port, trans, flags, in rocker_port_ipv4_neigh()
3024 err = rocker_flow_tbl_ucast4_routing(rocker_port, trans, in rocker_port_ipv4_neigh()
3038 rocker_port_kfree(trans, entry); in rocker_port_ipv4_neigh()
3044 struct switchdev_trans *trans, in rocker_port_ipv4_resolve() argument
3063 err = rocker_port_ipv4_neigh(rocker_port, trans, 0, in rocker_port_ipv4_resolve()
3073 struct switchdev_trans *trans, int flags, in rocker_port_ipv4_nh() argument
3086 entry = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*entry)); in rocker_port_ipv4_nh()
3103 _rocker_neigh_add(rocker, trans, entry); in rocker_port_ipv4_nh()
3107 _rocker_neigh_del(trans, found); in rocker_port_ipv4_nh()
3109 _rocker_neigh_update(found, trans, NULL, false); in rocker_port_ipv4_nh()
3118 rocker_port_kfree(trans, entry); in rocker_port_ipv4_nh()
3126 err = rocker_port_ipv4_resolve(rocker_port, trans, ip_addr); in rocker_port_ipv4_nh()
3132 struct switchdev_trans *trans, in rocker_port_vlan_flood_group() argument
3143 group_ids = rocker_port_kcalloc(rocker_port, trans, flags, in rocker_port_vlan_flood_group()
3169 err = rocker_group_l2_flood(rocker_port, trans, flags, vlan_id, in rocker_port_vlan_flood_group()
3176 rocker_port_kfree(trans, group_ids); in rocker_port_vlan_flood_group()
3181 struct switchdev_trans *trans, int flags, in rocker_port_vlan_l2_groups() argument
3199 err = rocker_group_l2_interface(rocker_port, trans, flags, in rocker_port_vlan_l2_groups()
3224 err = rocker_group_l2_interface(rocker_port, trans, flags, in rocker_port_vlan_l2_groups()
3287 struct switchdev_trans *trans, int flags, in rocker_port_ctrl_vlan_acl() argument
3303 err = rocker_flow_tbl_acl(rocker_port, trans, flags, in rocker_port_ctrl_vlan_acl()
3320 struct switchdev_trans *trans, in rocker_port_ctrl_vlan_bridge() argument
3334 err = rocker_flow_tbl_bridge(rocker_port, trans, flags, in rocker_port_ctrl_vlan_bridge()
3346 struct switchdev_trans *trans, int flags, in rocker_port_ctrl_vlan_term() argument
3356 err = rocker_flow_tbl_term_mac(rocker_port, trans, in rocker_port_ctrl_vlan_term()
3370 struct switchdev_trans *trans, int flags, in rocker_port_ctrl_vlan() argument
3374 return rocker_port_ctrl_vlan_acl(rocker_port, trans, flags, in rocker_port_ctrl_vlan()
3377 return rocker_port_ctrl_vlan_bridge(rocker_port, trans, flags, in rocker_port_ctrl_vlan()
3381 return rocker_port_ctrl_vlan_term(rocker_port, trans, flags, in rocker_port_ctrl_vlan()
3388 struct switchdev_trans *trans, int flags, in rocker_port_ctrl_vlan_add() argument
3396 err = rocker_port_ctrl_vlan(rocker_port, trans, flags, in rocker_port_ctrl_vlan_add()
3407 struct switchdev_trans *trans, int flags, in rocker_port_ctrl() argument
3416 err = rocker_port_ctrl_vlan(rocker_port, trans, flags, in rocker_port_ctrl()
3426 struct switchdev_trans *trans, int flags, u16 vid) in rocker_port_vlan() argument
3450 err = rocker_port_ctrl_vlan_add(rocker_port, trans, flags, in rocker_port_vlan()
3459 err = rocker_port_vlan_l2_groups(rocker_port, trans, flags, in rocker_port_vlan()
3467 err = rocker_port_vlan_flood_group(rocker_port, trans, flags, in rocker_port_vlan()
3475 err = rocker_flow_tbl_vlan(rocker_port, trans, flags, in rocker_port_vlan()
3483 if (switchdev_trans_ph_prepare(trans)) in rocker_port_vlan()
3490 struct switchdev_trans *trans, int flags) in rocker_port_ig_tbl() argument
3505 err = rocker_flow_tbl_ig_port(rocker_port, trans, flags, in rocker_port_ig_tbl()
3518 struct switchdev_trans *trans; member
3544 rocker_port_kfree(lw->trans, work); in rocker_port_fdb_learn_work()
3548 struct switchdev_trans *trans, int flags, in rocker_port_fdb_learn() argument
3565 err = rocker_flow_tbl_bridge(rocker_port, trans, flags, addr, in rocker_port_fdb_learn()
3578 lw = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*lw)); in rocker_port_fdb_learn()
3585 lw->trans = trans; in rocker_port_fdb_learn()
3590 if (switchdev_trans_ph_prepare(trans)) in rocker_port_fdb_learn()
3591 rocker_port_kfree(trans, lw); in rocker_port_fdb_learn()
3612 struct switchdev_trans *trans, in rocker_port_fdb() argument
3622 fdb = rocker_port_kzalloc(rocker_port, trans, flags, sizeof(*fdb)); in rocker_port_fdb()
3640 rocker_port_kfree(trans, fdb); in rocker_port_fdb()
3641 if (!switchdev_trans_ph_prepare(trans)) in rocker_port_fdb()
3645 if (!switchdev_trans_ph_prepare(trans)) in rocker_port_fdb()
3654 rocker_port_kfree(trans, fdb); in rocker_port_fdb()
3661 return rocker_port_fdb_learn(rocker_port, trans, flags, addr, vlan_id); in rocker_port_fdb()
3665 struct switchdev_trans *trans, int flags) in rocker_port_fdb_flush() argument
3687 err = rocker_port_fdb_learn(rocker_port, trans, flags, in rocker_port_fdb_flush()
3692 if (!switchdev_trans_ph_prepare(trans)) in rocker_port_fdb_flush()
3738 struct switchdev_trans *trans, int flags, in rocker_port_router_mac() argument
3752 err = rocker_flow_tbl_term_mac(rocker_port, trans, in rocker_port_router_mac()
3761 err = rocker_flow_tbl_term_mac(rocker_port, trans, in rocker_port_router_mac()
3771 struct switchdev_trans *trans, int flags) in rocker_port_fwding() argument
3796 err = rocker_group_l2_interface(rocker_port, trans, flags, in rocker_port_fwding()
3810 struct switchdev_trans *trans, int flags, in rocker_port_stp_update() argument
3819 if (switchdev_trans_ph_prepare(trans)) { in rocker_port_stp_update()
3856 err = rocker_port_ctrl(rocker_port, trans, ctrl_flags, in rocker_port_stp_update()
3864 err = rocker_port_fdb_flush(rocker_port, trans, flags); in rocker_port_stp_update()
3868 err = rocker_port_fwding(rocker_port, trans, flags); in rocker_port_stp_update()
3871 if (switchdev_trans_ph_prepare(trans)) { in rocker_port_stp_update()
3880 struct switchdev_trans *trans, int flags) in rocker_port_fwd_enable() argument
3887 return rocker_port_stp_update(rocker_port, trans, flags, in rocker_port_fwd_enable()
3892 struct switchdev_trans *trans, int flags) in rocker_port_fwd_disable() argument
3899 return rocker_port_stp_update(rocker_port, trans, flags, in rocker_port_fwd_disable()
3990 struct switchdev_trans *trans, __be32 dst, in rocker_port_fib_ipv4() argument
4014 err = rocker_port_ipv4_nh(rocker_port, trans, flags, in rocker_port_fib_ipv4()
4025 err = rocker_flow_tbl_ucast4_routing(rocker_port, trans, eth_type, dst, in rocker_port_fib_ipv4()
4350 struct switchdev_trans *trans, in rocker_port_brport_flags_set() argument
4359 err = rocker_port_set_learning(rocker_port, trans); in rocker_port_brport_flags_set()
4361 if (switchdev_trans_ph_prepare(trans)) in rocker_port_brport_flags_set()
4368 struct switchdev_trans *trans, in rocker_port_bridge_ageing_time() argument
4373 if (!switchdev_trans_ph_prepare(trans)) { in rocker_port_bridge_ageing_time()
4385 struct switchdev_trans *trans) in rocker_port_attr_set() argument
4392 err = rocker_port_stp_update(rocker_port, trans, 0, in rocker_port_attr_set()
4396 err = rocker_port_brport_flags_set(rocker_port, trans, in rocker_port_attr_set()
4400 err = rocker_port_bridge_ageing_time(rocker_port, trans, in rocker_port_attr_set()
4412 struct switchdev_trans *trans, in rocker_port_vlan_add() argument
4419 err = rocker_port_vlan(rocker_port, trans, 0, vid); in rocker_port_vlan_add()
4423 err = rocker_port_router_mac(rocker_port, trans, 0, htons(vid)); in rocker_port_vlan_add()
4425 rocker_port_vlan(rocker_port, trans, in rocker_port_vlan_add()
4432 struct switchdev_trans *trans, in rocker_port_vlans_add() argument
4439 err = rocker_port_vlan_add(rocker_port, trans, in rocker_port_vlans_add()
4449 struct switchdev_trans *trans, in rocker_port_fdb_add() argument
4458 return rocker_port_fdb(rocker_port, trans, fdb->addr, vlan_id, flags); in rocker_port_fdb_add()
4463 struct switchdev_trans *trans) in rocker_port_obj_add() argument
4471 err = rocker_port_vlans_add(rocker_port, trans, in rocker_port_obj_add()
4476 err = rocker_port_fib_ipv4(rocker_port, trans, in rocker_port_obj_add()
4481 err = rocker_port_fdb_add(rocker_port, trans, in rocker_port_obj_add()
4522 struct switchdev_trans *trans, in rocker_port_fdb_del() argument
4531 return rocker_port_fdb(rocker_port, trans, fdb->addr, vlan_id, flags); in rocker_port_fdb_del()