OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ovsdb_wrapper.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_OVSDB_WRAPPER_H_
6 #define SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_OVSDB_WRAPPER_H_
7 
8 #include <stdlib.h>
9 
11  int64_t vlan;
12  struct ovsdb_idl_row *ls;
13 };
14 
16  int64_t vlan;
17  struct ovsdb_idl_row *stats;
18 };
19 
20 /* Wrapper for C APIs */
21 struct ovsdb_idl * ovsdb_wrapper_idl_create();
22 void ovsdb_wrapper_idl_destroy(struct ovsdb_idl *idl);
23 const struct vteprec_global *ovsdb_wrapper_vteprec_global_first(struct ovsdb_idl *);
24 int ovsdb_wrapper_row_type(struct ovsdb_idl_row *row);
25 bool ovsdb_wrapper_msg_echo_req(struct jsonrpc_msg *msg);
26 bool ovsdb_wrapper_msg_echo_reply(struct jsonrpc_msg *msg);
27 struct json * ovsdb_wrapper_jsonrpc_clone_id(struct jsonrpc_msg *msg);
28 struct jsonrpc_msg* ovsdb_wrapper_jsonrpc_create_reply(struct jsonrpc_msg *msg);
29 struct jsonrpc_msg* ovsdb_wrapper_jsonrpc_create_echo_request();
30 
31 void ovsdb_wrapper_idl_set_callback(struct ovsdb_idl *idl, void *idl_base,
32  void (*cb)(void*, int, struct ovsdb_idl_row *),
33  void (*ack_cb)(void*, struct ovsdb_idl_txn *));
34 struct jsonrpc_msg *ovsdb_wrapper_idl_encode_monitor_request(struct ovsdb_idl *);
35 bool ovsdb_wrapper_idl_msg_is_monitor_response(struct json *, struct jsonrpc_msg *);
36 void ovsdb_wrapper_idl_msg_process(struct ovsdb_idl *, struct jsonrpc_msg *msg);
37 struct json *ovsdb_wrapper_jsonrpc_msg_to_json(struct jsonrpc_msg *);
38 char *ovsdb_wrapper_json_to_string(const struct json *, int);
39 void ovsdb_wrapper_json_destroy(struct json *);
40 struct json_parser *ovsdb_wrapper_json_parser_create(int);
41 size_t ovsdb_wrapper_json_parser_feed(struct json_parser *, const char *, size_t);
42 bool ovsdb_wrapper_json_parser_is_done(const struct json_parser *);
43 struct json *ovsdb_wrapper_json_parser_finish(struct json_parser *);
44 char *ovsdb_wrapper_jsonrpc_msg_from_json(struct json *, struct jsonrpc_msg **);
45 void ovsdb_wrapper_jsonrpc_msg_destroy(struct jsonrpc_msg *msg);
46 
47 struct ovsdb_idl_txn *ovsdb_wrapper_idl_txn_create(struct ovsdb_idl *idl);
48 void ovsdb_wrapper_idl_txn_destroy(struct ovsdb_idl_txn *txn);
49 bool ovsdb_wrapper_is_txn_success(struct ovsdb_idl_txn *txn);
50 const char *ovsdb_wrapper_txn_get_error(struct ovsdb_idl_txn *txn);
51 struct jsonrpc_msg *ovsdb_wrapper_idl_txn_encode(struct ovsdb_idl_txn *txn);
52 
53 /* Physical Switch */
54 char *ovsdb_wrapper_physical_switch_name(struct ovsdb_idl_row *row);
55 const char *ovsdb_wrapper_physical_switch_tunnel_ip(struct ovsdb_idl_row *row);
56 size_t ovsdb_wrapper_physical_switch_ports_count(struct ovsdb_idl_row *row);
57 void ovsdb_wrapper_physical_switch_ports(struct ovsdb_idl_row *row,
58  struct ovsdb_idl_row **ports,
59  size_t n);
60 
61 /* Logical Switch */
62 char *ovsdb_wrapper_logical_switch_name(struct ovsdb_idl_row *row);
63 int64_t ovsdb_wrapper_logical_switch_tunnel_key(struct ovsdb_idl_row *row);
64 struct ovsdb_idl_row *ovsdb_wrapper_add_logical_switch(struct ovsdb_idl_txn *,
65  struct ovsdb_idl_row *, const char *, int64_t);
66 void ovsdb_wrapper_delete_logical_switch(struct ovsdb_idl_row *);
67 
68 /* Physical Port */
69 char *ovsdb_wrapper_physical_port_name(struct ovsdb_idl_row *row);
70 size_t ovsdb_wrapper_physical_port_vlan_binding_count(struct ovsdb_idl_row *row);
71 void ovsdb_wrapper_physical_port_vlan_binding(struct ovsdb_idl_row *row,
73 size_t ovsdb_wrapper_physical_port_vlan_stats_count(struct ovsdb_idl_row *row);
74 void ovsdb_wrapper_physical_port_vlan_stats(struct ovsdb_idl_row *row,
76 void ovsdb_wrapper_update_physical_port(struct ovsdb_idl_txn *, struct ovsdb_idl_row *,
77  struct ovsdb_wrapper_port_vlan_binding*, size_t binding_count);
78 
79 /* Physical Locator */
80 char *ovsdb_wrapper_physical_locator_dst_ip(struct ovsdb_idl_row *row);
81 void ovsdb_wrapper_add_physical_locator(struct ovsdb_idl_txn *,
82  struct ovsdb_idl_row *, const char *);
83 void ovsdb_wrapper_delete_physical_locator(struct ovsdb_idl_row *);
84 
85 /* Physical Locator Set*/
86 size_t ovsdb_wrapper_physical_locator_set_locator_count(struct ovsdb_idl_row *row);
87 struct ovsdb_idl_row ** ovsdb_wrapper_physical_locator_set_locators(struct ovsdb_idl_row *row);
88 
89 /* unicast mac local */
90 char *ovsdb_wrapper_ucast_mac_local_mac(struct ovsdb_idl_row *row);
91 char *ovsdb_wrapper_ucast_mac_local_ip(struct ovsdb_idl_row *row);
92 char *ovsdb_wrapper_ucast_mac_local_logical_switch(struct ovsdb_idl_row *row);
93 char *ovsdb_wrapper_ucast_mac_local_dst_ip(struct ovsdb_idl_row *row);
94 void ovsdb_wrapper_delete_ucast_mac_local(struct ovsdb_idl_row *row);
95 
96 /* unicast mac remote */
97 void ovsdb_wrapper_add_ucast_mac_remote(struct ovsdb_idl_txn *txn,
98  struct ovsdb_idl_row *row, const char *mac, struct ovsdb_idl_row *ls,
99  struct ovsdb_idl_row *pl, const char *dest_ip);
100 void ovsdb_wrapper_delete_ucast_mac_remote(struct ovsdb_idl_row *row);
101 char *ovsdb_wrapper_ucast_mac_remote_mac(struct ovsdb_idl_row *row);
102 char *ovsdb_wrapper_ucast_mac_remote_ip(struct ovsdb_idl_row *row);
103 char *ovsdb_wrapper_ucast_mac_remote_logical_switch(struct ovsdb_idl_row *row);
104 char *ovsdb_wrapper_ucast_mac_remote_dst_ip(struct ovsdb_idl_row *row);
105 
106 /* multicast mac local */
107 void ovsdb_wrapper_delete_mcast_mac_local(struct ovsdb_idl_row *row);
108 char *ovsdb_wrapper_mcast_mac_local_mac(struct ovsdb_idl_row *row);
109 char *
110 ovsdb_wrapper_mcast_mac_local_logical_switch(struct ovsdb_idl_row *row);
111 struct ovsdb_idl_row *
112 ovsdb_wrapper_mcast_mac_local_physical_locator_set(struct ovsdb_idl_row *row);
113 
114 /* multicast mac remote */
115 void ovsdb_wrapper_add_mcast_mac_remote(struct ovsdb_idl_txn *txn,
116  struct ovsdb_idl_row *row, const char *mac, struct ovsdb_idl_row *ls,
117  struct ovsdb_idl_row *pl, const char *dst_ip);
118 void ovsdb_wrapper_delete_mcast_mac_remote(struct ovsdb_idl_row *row);
119 char *ovsdb_wrapper_mcast_mac_remote_mac(struct ovsdb_idl_row *row);
120 char *
121 ovsdb_wrapper_mcast_mac_remote_logical_switch(struct ovsdb_idl_row *row);
122 char *ovsdb_wrapper_mcast_mac_remote_dst_ip(struct ovsdb_idl_row *row);
123 
124 /* logical binding stats */
125 void ovsdb_wrapper_get_logical_binding_stats(struct ovsdb_idl_row *row,
126  int64_t *in_pkts, int64_t *in_bytes,
127  int64_t *out_pkts, int64_t *out_bytes);
128 
129 #endif //SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_OVSDB_WRAPPER_H_
130 
struct ovsdb_idl_row * ovsdb_wrapper_add_logical_switch(struct ovsdb_idl_txn *, struct ovsdb_idl_row *, const char *, int64_t)
int ovsdb_wrapper_row_type(struct ovsdb_idl_row *row)
bool ovsdb_wrapper_json_parser_is_done(const struct json_parser *)
char * ovsdb_wrapper_ucast_mac_remote_mac(struct ovsdb_idl_row *row)
char * ovsdb_wrapper_mcast_mac_local_logical_switch(struct ovsdb_idl_row *row)
char * ovsdb_wrapper_physical_switch_name(struct ovsdb_idl_row *row)
void ovsdb_wrapper_physical_port_vlan_stats(struct ovsdb_idl_row *row, struct ovsdb_wrapper_port_vlan_stats *)
char * ovsdb_wrapper_physical_locator_dst_ip(struct ovsdb_idl_row *row)
const char * ovsdb_wrapper_txn_get_error(struct ovsdb_idl_txn *txn)
struct jsonrpc_msg * ovsdb_wrapper_jsonrpc_create_echo_request()
char * ovsdb_wrapper_ucast_mac_remote_ip(struct ovsdb_idl_row *row)
struct ovsdb_idl_row * ovsdb_wrapper_mcast_mac_local_physical_locator_set(struct ovsdb_idl_row *row)
char * ovsdb_wrapper_ucast_mac_remote_logical_switch(struct ovsdb_idl_row *row)
char * ovsdb_wrapper_logical_switch_name(struct ovsdb_idl_row *row)
char * ovsdb_wrapper_ucast_mac_remote_dst_ip(struct ovsdb_idl_row *row)
char * ovsdb_wrapper_mcast_mac_remote_logical_switch(struct ovsdb_idl_row *row)
struct json * ovsdb_wrapper_json_parser_finish(struct json_parser *)
void ovsdb_wrapper_delete_ucast_mac_remote(struct ovsdb_idl_row *row)
void ovsdb_wrapper_physical_port_vlan_binding(struct ovsdb_idl_row *row, struct ovsdb_wrapper_port_vlan_binding *)
char * ovsdb_wrapper_jsonrpc_msg_from_json(struct json *, struct jsonrpc_msg **)
struct jsonrpc_msg * ovsdb_wrapper_jsonrpc_create_reply(struct jsonrpc_msg *msg)
struct ovsdb_idl_row * stats
Definition: ovsdb_wrapper.h:17
struct json * ovsdb_wrapper_jsonrpc_clone_id(struct jsonrpc_msg *msg)
bool ovsdb_wrapper_msg_echo_req(struct jsonrpc_msg *msg)
struct json * ovsdb_wrapper_jsonrpc_msg_to_json(struct jsonrpc_msg *)
void ovsdb_wrapper_delete_mcast_mac_remote(struct ovsdb_idl_row *row)
void ovsdb_wrapper_add_ucast_mac_remote(struct ovsdb_idl_txn *txn, struct ovsdb_idl_row *row, const char *mac, struct ovsdb_idl_row *ls, struct ovsdb_idl_row *pl, const char *dest_ip)
void ovsdb_wrapper_idl_msg_process(struct ovsdb_idl *, struct jsonrpc_msg *msg)
char * ovsdb_wrapper_mcast_mac_remote_mac(struct ovsdb_idl_row *row)
void ovsdb_wrapper_physical_switch_ports(struct ovsdb_idl_row *row, struct ovsdb_idl_row **ports, size_t n)
struct ovsdb_idl * ovsdb_wrapper_idl_create()
struct ovsdb_idl_row ** ovsdb_wrapper_physical_locator_set_locators(struct ovsdb_idl_row *row)
struct ovsdb_idl_row * ls
Definition: ovsdb_wrapper.h:12
int64_t ovsdb_wrapper_logical_switch_tunnel_key(struct ovsdb_idl_row *row)
void ovsdb_wrapper_get_logical_binding_stats(struct ovsdb_idl_row *row, int64_t *in_pkts, int64_t *in_bytes, int64_t *out_pkts, int64_t *out_bytes)
void ovsdb_wrapper_delete_mcast_mac_local(struct ovsdb_idl_row *row)
void ovsdb_wrapper_jsonrpc_msg_destroy(struct jsonrpc_msg *msg)
struct jsonrpc_msg * ovsdb_wrapper_idl_encode_monitor_request(struct ovsdb_idl *)
char * ovsdb_wrapper_json_to_string(const struct json *, int)
void ovsdb_wrapper_idl_txn_destroy(struct ovsdb_idl_txn *txn)
size_t ovsdb_wrapper_physical_port_vlan_stats_count(struct ovsdb_idl_row *row)
char * ovsdb_wrapper_physical_port_name(struct ovsdb_idl_row *row)
struct json_parser * ovsdb_wrapper_json_parser_create(int)
void ovsdb_wrapper_idl_destroy(struct ovsdb_idl *idl)
void ovsdb_wrapper_json_destroy(struct json *)
void ovsdb_wrapper_add_mcast_mac_remote(struct ovsdb_idl_txn *txn, struct ovsdb_idl_row *row, const char *mac, struct ovsdb_idl_row *ls, struct ovsdb_idl_row *pl, const char *dst_ip)
bool ovsdb_wrapper_idl_msg_is_monitor_response(struct json *, struct jsonrpc_msg *)
void ovsdb_wrapper_delete_logical_switch(struct ovsdb_idl_row *)
struct jsonrpc_msg * ovsdb_wrapper_idl_txn_encode(struct ovsdb_idl_txn *txn)
struct ovsdb_idl_txn * ovsdb_wrapper_idl_txn_create(struct ovsdb_idl *idl)
void ovsdb_wrapper_update_physical_port(struct ovsdb_idl_txn *, struct ovsdb_idl_row *, struct ovsdb_wrapper_port_vlan_binding *, size_t binding_count)
size_t ovsdb_wrapper_physical_port_vlan_binding_count(struct ovsdb_idl_row *row)
bool ovsdb_wrapper_msg_echo_reply(struct jsonrpc_msg *msg)
char * ovsdb_wrapper_ucast_mac_local_logical_switch(struct ovsdb_idl_row *row)
size_t ovsdb_wrapper_json_parser_feed(struct json_parser *, const char *, size_t)
char * ovsdb_wrapper_ucast_mac_local_mac(struct ovsdb_idl_row *row)
size_t ovsdb_wrapper_physical_switch_ports_count(struct ovsdb_idl_row *row)
char * ovsdb_wrapper_ucast_mac_local_ip(struct ovsdb_idl_row *row)
void ovsdb_wrapper_idl_set_callback(struct ovsdb_idl *idl, void *idl_base, void(*cb)(void *, int, struct ovsdb_idl_row *), void(*ack_cb)(void *, struct ovsdb_idl_txn *))
char * ovsdb_wrapper_mcast_mac_remote_dst_ip(struct ovsdb_idl_row *row)
char * ovsdb_wrapper_mcast_mac_local_mac(struct ovsdb_idl_row *row)
struct vteprec_global * ovsdb_wrapper_vteprec_global_first(struct ovsdb_idl *)
char * ovsdb_wrapper_ucast_mac_local_dst_ip(struct ovsdb_idl_row *row)
void ovsdb_wrapper_delete_ucast_mac_local(struct ovsdb_idl_row *row)
size_t ovsdb_wrapper_physical_locator_set_locator_count(struct ovsdb_idl_row *row)
bool ovsdb_wrapper_is_txn_success(struct ovsdb_idl_txn *txn)
const char * ovsdb_wrapper_physical_switch_tunnel_ip(struct ovsdb_idl_row *row)
void ovsdb_wrapper_delete_physical_locator(struct ovsdb_idl_row *)
void ovsdb_wrapper_add_physical_locator(struct ovsdb_idl_txn *, struct ovsdb_idl_row *, const char *)