diff options
| author | Mark Stapp <mjs@voltanet.io> | 2018-08-06 16:19:45 -0400 |
|---|---|---|
| committer | Mark Stapp <mjs@voltanet.io> | 2018-10-25 08:34:30 -0400 |
| commit | 1bcea841b12f27b694da9b25c17c5a2d286404c3 (patch) | |
| tree | a5efc64c231e2e0cc90174c1fcec2219dc4cbc07 | |
| parent | fe2c53d4ea87c63762547fdee42ae49e1577a681 (diff) | |
zebra: netlink fuzzing path correction
Correct use of netlink_parse_info() in the netlink fuzzing path.
Also clarify a couple of comments about pthreads.
Signed-off-by: Mark Stapp <mjs@voltanet.io>
| -rw-r--r-- | zebra/kernel_netlink.c | 8 | ||||
| -rw-r--r-- | zebra/zebra_dplane.c | 6 | ||||
| -rw-r--r-- | zebra/zebra_rib.c | 2 |
3 files changed, 12 insertions, 4 deletions
diff --git a/zebra/kernel_netlink.c b/zebra/kernel_netlink.c index 08219924fb..0a58c2e262 100644 --- a/zebra/kernel_netlink.c +++ b/zebra/kernel_netlink.c @@ -314,11 +314,17 @@ bool netlink_read; */ void netlink_read_init(const char *fname) { + struct zebra_dplane_info dp_info; + snprintf(netlink_fuzz_file, MAXPATHLEN, "%s", fname); /* Creating this fake socket for testing purposes */ struct zebra_ns *zns = zebra_ns_lookup(NS_DEFAULT); - netlink_parse_info(netlink_information_fetch, &zns->netlink, zns, 1, 0); + /* Capture key info from zns struct */ + zebra_dplane_info_from_zns(&dp_info, zns, false); + + netlink_parse_info(netlink_information_fetch, &zns->netlink, + &dp_info, 1, 0); } /** diff --git a/zebra/zebra_dplane.c b/zebra/zebra_dplane.c index 8fec9fbce7..7bc623fdf0 100644 --- a/zebra/zebra_dplane.c +++ b/zebra/zebra_dplane.c @@ -740,7 +740,7 @@ int dplane_provider_register(const char *name, } if (prio <= DPLANE_PRIO_NONE || - prio >= DPLANE_PRIO_LAST) { + prio > DPLANE_PRIO_LAST) { ret = EINVAL; goto done; } @@ -798,7 +798,9 @@ static void zebra_dplane_init_internal(struct zebra_t *zebra) /* TODO -- register kernel 'provider' during init */ - /* TODO -- using zebra core event thread temporarily */ + /* TODO -- start dataplane pthread. We're using the zebra + * core/main thread temporarily + */ zdplane_g.dg_master = zebra->master; } diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c index b89d285118..964885f47e 100644 --- a/zebra/zebra_rib.c +++ b/zebra/zebra_rib.c @@ -3305,7 +3305,7 @@ static int rib_process_dplane_results(struct thread *thread) /* * Results are returned from the dataplane subsystem, in the context of - * the dataplane thread. We enqueue the results here for processing by + * the dataplane pthread. We enqueue the results here for processing by * the main thread later. */ static int rib_dplane_results(dplane_ctx_h ctx) |
