ovn/controller/pinctrl.c
void
pinctrl_run(struct ovsdb_idl_txn *ovnsb_idl_txn,
            struct ovsdb_idl_index *sbrec_datapath_binding_by_key,
            struct ovsdb_idl_index *sbrec_port_binding_by_datapath,
            struct ovsdb_idl_index *sbrec_port_binding_by_key,
            struct ovsdb_idl_index *sbrec_port_binding_by_name,
            struct ovsdb_idl_index *sbrec_mac_binding_by_lport_ip,
            const struct sbrec_dns_table *dns_table,
            const struct ovsrec_bridge *br_int,
            const struct sbrec_chassis *chassis,
            const struct hmap *local_datapaths,
            const struct sset *active_tunnels)
{
    ovs_mutex_lock(&pinctrl_mutex);
    if (br_int && (!pinctrl.br_int_name || strcmp(pinctrl.br_int_name,
                                                  br_int->name))) {
        if (pinctrl.br_int_name) {
            free(pinctrl.br_int_name);
        }
        pinctrl.br_int_name = xstrdup(br_int->name);
        /* Notify pinctrl_handler that integration bridge is
         * set/changed. */
        notify_pinctrl_handler();
    }
    run_put_mac_bindings(ovnsb_idl_txn, sbrec_datapath_binding_by_key,
                         sbrec_port_binding_by_key,
                         sbrec_mac_binding_by_lport_ip);
    send_garp_prepare(sbrec_port_binding_by_datapath,
                      sbrec_port_binding_by_name, br_int, chassis,
                      local_datapaths, active_tunnels);
    prepare_ipv6_ras(sbrec_port_binding_by_datapath,
                     sbrec_port_binding_by_name, local_datapaths);
    sync_dns_cache(dns_table);
    run_buffered_binding(sbrec_port_binding_by_datapath,
                         sbrec_mac_binding_by_lport_ip,
                         local_datapaths);
    ovs_mutex_unlock(&pinctrl_mutex);
}
/* Called by ovn-controller. */
Called by ovn-controller.
Called by ovn - controller .
void
pinctrl_run(struct ovsdb_idl_txn *ovnsb_idl_txn,
            struct ovsdb_idl_index *sbrec_datapath_binding_by_key,
            struct ovsdb_idl_index *sbrec_port_binding_by_datapath,
            struct ovsdb_idl_index *sbrec_port_binding_by_key,
            struct ovsdb_idl_index *sbrec_port_binding_by_name,
            struct ovsdb_idl_index *sbrec_mac_binding_by_lport_ip,
            const struct sbrec_dns_table *dns_table,
            const struct ovsrec_bridge *br_int,
            const struct sbrec_chassis *chassis,
            const struct hmap *local_datapaths,
            const struct sset *active_tunnels)
{
    ovs_mutex_lock(&pinctrl_mutex);
    if (br_int && (!pinctrl.br_int_name || strcmp(pinctrl.br_int_name,
                                                  br_int->name))) {
        if (pinctrl.br_int_name) {
            free(pinctrl.br_int_name);
        }
        pinctrl.br_int_name = xstrdup(br_int->name);
        notify_pinctrl_handler();
    }
    run_put_mac_bindings(ovnsb_idl_txn, sbrec_datapath_binding_by_key,
                         sbrec_port_binding_by_key,
                         sbrec_mac_binding_by_lport_ip);
    send_garp_prepare(sbrec_port_binding_by_datapath,
                      sbrec_port_binding_by_name, br_int, chassis,
                      local_datapaths, active_tunnels);
    prepare_ipv6_ras(sbrec_port_binding_by_datapath,
                     sbrec_port_binding_by_name, local_datapaths);
    sync_dns_cache(dns_table);
    run_buffered_binding(sbrec_port_binding_by_datapath,
                         sbrec_mac_binding_by_lport_ip,
                         local_datapaths);
    ovs_mutex_unlock(&pinctrl_mutex);
}
void pinctrl_run ( struct ovsdb_idl_txn * ovnsb_idl_txn , struct ovsdb_idl_index * sbrec_datapath_binding_by_key , struct ovsdb_idl_index * sbrec_port_binding_by_datapath , struct ovsdb_idl_index * sbrec_port_binding_by_key , struct ovsdb_idl_index * sbrec_port_binding_by_name , struct ovsdb_idl_index * sbrec_mac_binding_by_lport_ip , const struct sbrec_dns_table * dns_table , const struct ovsrec_bridge * br_int , const struct sbrec_chassis * chassis , const struct hmap * local_datapaths , const struct sset * active_tunnels ) { ovs_mutex_lock ( & pinctrl_mutex ) ; if ( br_int && ( ! pinctrl . br_int_name || strcmp ( pinctrl . br_int_name , br_int -> name ) ) ) { if ( pinctrl . br_int_name ) { free ( pinctrl . br_int_name ) ; } pinctrl . br_int_name = xstrdup ( br_int -> name ) ; notify_pinctrl_handler ( ) ; } run_put_mac_bindings ( ovnsb_idl_txn , sbrec_datapath_binding_by_key , sbrec_port_binding_by_key , sbrec_mac_binding_by_lport_ip ) ; send_garp_prepare ( sbrec_port_binding_by_datapath , sbrec_port_binding_by_name , br_int , chassis , local_datapaths , active_tunnels ) ; prepare_ipv6_ras ( sbrec_port_binding_by_datapath , sbrec_port_binding_by_name , local_datapaths ) ; sync_dns_cache ( dns_table ) ; run_buffered_binding ( sbrec_port_binding_by_datapath , sbrec_mac_binding_by_lport_ip , local_datapaths ) ; ovs_mutex_unlock ( & pinctrl_mutex ) ; }
Called by ovn-controller.
Called by ovn - controller .
/* Notify pinctrl_handler that integration bridge is
         * set/changed. */