MCPcopy Create free account
hub / github.com/F-Stack/f-stack / cisco_newhook

Function cisco_newhook

freebsd/netgraph/ng_cisco.c:209–238  ·  view source on GitHub ↗

* Check new hook */

Source from the content-addressed store, hash-verified

207 * Check new hook
208 */
209static int
210cisco_newhook(node_p node, hook_p hook, const char *name)
211{
212 const sc_p sc = NG_NODE_PRIVATE(node);
213
214 if (strcmp(name, NG_CISCO_HOOK_DOWNSTREAM) == 0) {
215 sc->downstream.hook = hook;
216 NG_HOOK_SET_PRIVATE(hook, &sc->downstream);
217
218 /* Start keepalives */
219 ng_callout(&sc->handle, node, NULL, (hz * KEEPALIVE_SECS),
220 &cisco_keepalive, (void *)sc, 0);
221 } else if (strcmp(name, NG_CISCO_HOOK_INET) == 0) {
222 sc->inet.hook = hook;
223 NG_HOOK_SET_PRIVATE(hook, &sc->inet);
224 } else if (strcmp(name, NG_CISCO_HOOK_INET6) == 0) {
225 sc->inet6.hook = hook;
226 NG_HOOK_SET_PRIVATE(hook, &sc->inet6);
227 } else if (strcmp(name, NG_CISCO_HOOK_APPLETALK) == 0) {
228 sc->atalk.hook = hook;
229 NG_HOOK_SET_PRIVATE(hook, &sc->atalk);
230 } else if (strcmp(name, NG_CISCO_HOOK_IPX) == 0) {
231 sc->ipx.hook = hook;
232 NG_HOOK_SET_PRIVATE(hook, &sc->ipx);
233 } else if (strcmp(name, NG_CISCO_HOOK_DEBUG) == 0) {
234 NG_HOOK_SET_PRIVATE(hook, NULL); /* unimplemented */
235 } else
236 return (EINVAL);
237 return 0;
238}
239
240/*
241 * Receive control message.

Callers

nothing calls this directly

Calls 2

strcmpFunction · 0.85
ng_calloutFunction · 0.70

Tested by

no test coverage detected