Lines Matching defs:srv

96 static int server_match(const struct qrtr_server *srv,
101 if (f->service != 0 && srv->service != f->service)
106 return (srv->instance & ifilter) == f->instance;
110 struct qrtr_server *srv)
116 trace_qrtr_ns_service_announce_new(srv->service, srv->instance,
117 srv->node, srv->port);
124 pkt.server.service = cpu_to_le32(srv->service);
125 pkt.server.instance = cpu_to_le32(srv->instance);
126 pkt.server.node = cpu_to_le32(srv->node);
127 pkt.server.port = cpu_to_le32(srv->port);
136 struct qrtr_server *srv)
143 trace_qrtr_ns_service_announce_del(srv->service, srv->instance,
144 srv->node, srv->port);
151 pkt.server.service = cpu_to_le32(srv->service);
152 pkt.server.instance = cpu_to_le32(srv->instance);
153 pkt.server.node = cpu_to_le32(srv->node);
154 pkt.server.port = cpu_to_le32(srv->port);
166 static void lookup_notify(struct sockaddr_qrtr *to, struct qrtr_server *srv,
180 if (srv) {
181 pkt.server.service = cpu_to_le32(srv->service);
182 pkt.server.instance = cpu_to_le32(srv->instance);
183 pkt.server.node = cpu_to_le32(srv->node);
184 pkt.server.port = cpu_to_le32(srv->port);
197 struct qrtr_server *srv;
207 xa_for_each(&node->servers, index, srv) {
208 ret = service_announce_new(sq, srv);
222 struct qrtr_server *srv;
229 srv = kzalloc(sizeof(*srv), GFP_KERNEL);
230 if (!srv)
233 srv->service = service;
234 srv->instance = instance;
235 srv->node = node_id;
236 srv->port = port;
243 old = xa_store(&node->servers, port, srv, GFP_KERNEL);
247 srv->service, srv->instance, xa_err(old));
254 trace_qrtr_ns_server_add(srv->service, srv->instance,
255 srv->node, srv->port);
257 return srv;
260 kfree(srv);
267 struct qrtr_server *srv;
270 srv = xa_load(&node->servers, port);
271 if (!srv)
277 if (srv->node == qrtr_ns.local_node && bcast)
278 service_announce_del(&qrtr_ns.bcast_sq, srv);
283 if (lookup->service && lookup->service != srv->service)
285 if (lookup->instance && lookup->instance != srv->instance)
288 lookup_notify(&lookup->sq, srv, false);
291 kfree(srv);
335 struct qrtr_server *srv;
351 xa_for_each(&node->servers, index, srv)
352 server_del(node, srv->port, true);
363 xa_for_each(&local_node->servers, index, srv) {
365 sq.sq_node = srv->node;
366 sq.sq_port = srv->port;
387 struct qrtr_server *srv;
437 xa_for_each(&local_node->servers, index, srv) {
439 sq.sq_node = srv->node;
440 sq.sq_port = srv->port;
459 struct qrtr_server *srv;
469 srv = server_add(service, instance, node_id, port);
470 if (!srv)
473 if (srv->node == qrtr_ns.local_node) {
474 ret = service_announce_new(&qrtr_ns.bcast_sq, srv);
489 lookup_notify(&lookup->sq, srv, true);
525 struct qrtr_server *srv;
548 xa_for_each(&node->servers, srv_idx, srv) {
549 if (!server_match(srv, &filter))
552 lookup_notify(from, srv, true);