diff options
| -rw-r--r-- | bgpd/bgp_aspath.c | 7 | ||||
| -rw-r--r-- | bgpd/bgp_attr.c | 17 | ||||
| -rw-r--r-- | bgpd/bgp_errors.c | 2 | ||||
| -rw-r--r-- | doc/developer/workflow.rst | 10 | ||||
| -rw-r--r-- | doc/manpages/vtysh.rst | 2 | ||||
| -rw-r--r-- | doc/user/ospf6d.rst | 2 | ||||
| -rw-r--r-- | doc/user/ospfd.rst | 13 | ||||
| -rw-r--r-- | lib/thread.c | 29 | ||||
| -rw-r--r-- | lib/thread.h | 1 | ||||
| -rw-r--r-- | ospf6d/ospf6_asbr.c | 8 | ||||
| -rw-r--r-- | ospf6d/ospf6_auth_trailer.c | 2 | ||||
| -rw-r--r-- | ospf6d/ospf6_top.c | 2 | ||||
| -rw-r--r-- | ospf6d/ospf6_zebra.c | 2 | ||||
| -rw-r--r-- | ospfd/ospf_asbr.c | 8 | ||||
| -rw-r--r-- | ospfd/ospf_gr_helper.c | 4 | ||||
| -rw-r--r-- | ospfd/ospf_vty.c | 4 | ||||
| -rw-r--r-- | ospfd/ospf_zebra.c | 2 | ||||
| -rw-r--r-- | ospfd/ospfd.c | 2 | ||||
| -rw-r--r-- | pathd/path_errors.c | 2 | ||||
| -rw-r--r-- | pathd/path_pcep_config.c | 2 | ||||
| -rw-r--r-- | pathd/pathd.c | 6 | ||||
| -rw-r--r-- | pceplib/pcep_timers.c | 2 | ||||
| -rw-r--r-- | tests/bgpd/test_aspath.c | 12 | ||||
| -rw-r--r-- | tests/topotests/lib/bgp.py | 2 | ||||
| -rw-r--r-- | tests/topotests/multicast_pim_bsm_topo1/test_mcast_pim_bsmp_01.py | 4 | ||||
| -rw-r--r-- | vtysh/vtysh.c | 6 | ||||
| -rw-r--r-- | vtysh/vtysh_main.c | 2 | ||||
| -rw-r--r-- | yang/frr-pathd.yang | 2 | ||||
| -rw-r--r-- | zebra/kernel_netlink.c | 2 |
29 files changed, 91 insertions, 68 deletions
diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c index 192cd6ca82..dd27c9f6a1 100644 --- a/bgpd/bgp_aspath.c +++ b/bgpd/bgp_aspath.c @@ -328,7 +328,12 @@ void aspath_free(struct aspath *aspath) void aspath_unintern(struct aspath **aspath) { struct aspath *ret; - struct aspath *asp = *aspath; + struct aspath *asp; + + if (!*aspath) + return; + + asp = *aspath; if (asp->refcnt) asp->refcnt--; diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index 4f25f2284f..21f92c353e 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -1086,8 +1086,7 @@ void bgp_attr_unintern_sub(struct attr *attr) struct lcommunity *lcomm = NULL; /* aspath refcount shoud be decrement. */ - if (attr->aspath) - aspath_unintern(&attr->aspath); + aspath_unintern(&attr->aspath); UNSET_FLAG(attr->flag, ATTR_FLAG_BIT(BGP_ATTR_AS_PATH)); if (attr->community) @@ -3494,14 +3493,12 @@ done: * we can chuck as4_aggregator and as4_path alltogether in order * to save memory */ - if (as4_path) { - /* - * unintern - it is in the hash - * The flag that we got this is still there, but that - * does not do any trouble - */ - aspath_unintern(&as4_path); - } + /* + * unintern - it is in the hash + * The flag that we got this is still there, but that + * does not do any trouble + */ + aspath_unintern(&as4_path); transit = bgp_attr_get_transit(attr); if (ret != BGP_ATTR_PARSE_ERROR) { diff --git a/bgpd/bgp_errors.c b/bgpd/bgp_errors.c index 0f9d5fc73a..f11717b41f 100644 --- a/bgpd/bgp_errors.c +++ b/bgpd/bgp_errors.c @@ -464,7 +464,7 @@ static struct log_ref ferr_bgp_err[] = { }, { .code = EC_BGP_INVALID_BGP_INSTANCE, - .title = "BGP instance for the specifc vrf is invalid", + .title = "BGP instance for the specific vrf is invalid", .description = "Indicates that specified bgp instance is NULL", .suggestion = "Get log files from router and open an issue", }, diff --git a/doc/developer/workflow.rst b/doc/developer/workflow.rst index 2005e9d8bb..45bee17b71 100644 --- a/doc/developer/workflow.rst +++ b/doc/developer/workflow.rst @@ -141,6 +141,16 @@ March/July/November. Walking backwards from this date: - 2 weeks earlier, a ``frr-X.Y-rc`` release candidate is tagged. + .. code-block:: console + + % git remote --verbose + upstream git@github.com:frrouting/frr (fetch) + upstream git@github.com:frrouting/frr (push) + + % git checkout dev/8.2 + % git tag frr-8.2-rc + % git push upstream frr-8.2-rc + - on release date, the branch is renamed to ``stable/MAJOR.MINOR``. The 2 week window between each of these events should be used to run any and diff --git a/doc/manpages/vtysh.rst b/doc/manpages/vtysh.rst index b930cb915d..af527bea40 100644 --- a/doc/manpages/vtysh.rst +++ b/doc/manpages/vtysh.rst @@ -74,7 +74,7 @@ VTYSH_PAGER VTYSH_HISTFILE Override the history file for vtysh commands. Logging can be turned off using ``VTYSH_HISTFILE=/dev/null vtysh``. - Environment is prefered way to override the history file path over command line argument (-H/--histfile). + Environment is preferred way to override the history file path over command line argument (-H/--histfile). FILES ===== diff --git a/doc/user/ospf6d.rst b/doc/user/ospf6d.rst index 77656651e4..8dacb9c9dc 100644 --- a/doc/user/ospf6d.rst +++ b/doc/user/ospf6d.rst @@ -681,7 +681,7 @@ Showing OSPF6 information .. clicmd:: show ipv6 ospf6 [vrf <NAME|all>] interface traffic [json] - Shows counts of different packets that have been recieved and transmitted + Shows counts of different packets that have been received and transmitted by the interfaces. JSON output can be obtained by appending "json" at the end. diff --git a/doc/user/ospfd.rst b/doc/user/ospfd.rst index ed4d02d89b..349b54098e 100644 --- a/doc/user/ospfd.rst +++ b/doc/user/ospfd.rst @@ -313,9 +313,9 @@ To start OSPF process you have to specify the OSPF router. Areas ----- -.. clicmd:: area A.B.C.D range A.B.C.D/M +.. clicmd:: area A.B.C.D range A.B.C.D/M [advertise [cost (0-16777215)]] -.. clicmd:: area (0-4294967295) range A.B.C.D/M +.. clicmd:: area (0-4294967295) range A.B.C.D/M [advertise [cost (0-16777215)]] @@ -346,9 +346,9 @@ Areas range are not advertised into other areas. This command makes sense in ABR only. -.. clicmd:: area A.B.C.D range A.B.C.D/M substitute A.B.C.D/M +.. clicmd:: area A.B.C.D range A.B.C.D/M {substitute A.B.C.D/M|cost (0-16777215)} -.. clicmd:: area (0-4294967295) range A.B.C.D/M substitute A.B.C.D/M +.. clicmd:: area (0-4294967295) range A.B.C.D/M {substitute A.B.C.D/M|cost (0-16777215)} Substitute summarized prefix with another prefix. @@ -364,6 +364,11 @@ Areas One Type-3 summary-LSA with routing info 11.0.0.0/8 is announced into backbone area if area 0.0.0.10 contains at least one intra-area network (i.e. described with router-LSA or network-LSA) from range 10.0.0.0/8. + + By default, the metric of the summary route is calculated as the highest + metric among the summarized routes. The `cost` option, however, can be used + to set an explicit metric. + This command makes sense in ABR only. .. clicmd:: area A.B.C.D virtual-link A.B.C.D diff --git a/lib/thread.c b/lib/thread.c index 376f61c247..ada7a9cc80 100644 --- a/lib/thread.c +++ b/lib/thread.c @@ -138,11 +138,12 @@ static void cpu_record_hash_free(void *a) static void vty_out_cpu_thread_history(struct vty *vty, struct cpu_thread_history *a) { - vty_out(vty, "%5zu %10zu.%03zu %9zu %8zu %9zu %8zu %9zu %9zu %9zu", + vty_out(vty, + "%5zu %10zu.%03zu %9zu %8zu %9zu %8zu %9zu %9zu %9zu %10zu", a->total_active, a->cpu.total / 1000, a->cpu.total % 1000, a->total_calls, (a->cpu.total / a->total_calls), a->cpu.max, (a->real.total / a->total_calls), a->real.max, - a->total_cpu_warn, a->total_wall_warn); + a->total_cpu_warn, a->total_wall_warn, a->total_starv_warn); vty_out(vty, " %c%c%c%c%c %s\n", a->types & (1 << THREAD_READ) ? 'R' : ' ', a->types & (1 << THREAD_WRITE) ? 'W' : ' ', @@ -168,6 +169,8 @@ static void cpu_record_hash_print(struct hash_bucket *bucket, void *args[]) atomic_load_explicit(&a->total_cpu_warn, memory_order_seq_cst); copy.total_wall_warn = atomic_load_explicit(&a->total_wall_warn, memory_order_seq_cst); + copy.total_starv_warn = atomic_load_explicit(&a->total_starv_warn, + memory_order_seq_cst); copy.cpu.total = atomic_load_explicit(&a->cpu.total, memory_order_seq_cst); copy.cpu.max = atomic_load_explicit(&a->cpu.max, memory_order_seq_cst); @@ -186,6 +189,7 @@ static void cpu_record_hash_print(struct hash_bucket *bucket, void *args[]) totals->total_calls += copy.total_calls; totals->total_cpu_warn += copy.total_cpu_warn; totals->total_wall_warn += copy.total_wall_warn; + totals->total_starv_warn += copy.total_starv_warn; totals->real.total += copy.real.total; if (totals->real.max < copy.real.max) totals->real.max = copy.real.max; @@ -231,7 +235,8 @@ static void cpu_record_print(struct vty *vty, uint8_t filter) vty_out(vty, "Active Runtime(ms) Invoked Avg uSec Max uSecs"); vty_out(vty, " Avg uSec Max uSecs"); - vty_out(vty, " CPU_Warn Wall_Warn Type Thread\n"); + vty_out(vty, + " CPU_Warn Wall_Warn Starv_Warn Type Thread\n"); if (m->cpu_record->count) hash_iterate( @@ -1668,13 +1673,17 @@ static unsigned int thread_process_timers(struct thread_master *m, * really getting behind on handling of events. * Let's log it and do the right thing with it. */ - if (!displayed && !thread->ignore_timer_late && - timercmp(timenow, &prev, >)) { - flog_warn( - EC_LIB_STARVE_THREAD, - "Thread Starvation: %pTHD was scheduled to pop greater than 4s ago", - thread); - displayed = true; + if (timercmp(timenow, &prev, >)) { + atomic_fetch_add_explicit( + &thread->hist->total_starv_warn, 1, + memory_order_seq_cst); + if (!displayed && !thread->ignore_timer_late) { + flog_warn( + EC_LIB_STARVE_THREAD, + "Thread Starvation: %pTHD was scheduled to pop greater than 4s ago", + thread); + displayed = true; + } } thread_timer_list_pop(&m->timer); diff --git a/lib/thread.h b/lib/thread.h index 660f8bd28e..0c2a4ba869 100644 --- a/lib/thread.h +++ b/lib/thread.h @@ -137,6 +137,7 @@ struct cpu_thread_history { int (*func)(struct thread *); atomic_size_t total_cpu_warn; atomic_size_t total_wall_warn; + atomic_size_t total_starv_warn; atomic_size_t total_calls; atomic_size_t total_active; struct time_stats { diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c index 203ae14f2d..1c0d948cca 100644 --- a/ospf6d/ospf6_asbr.c +++ b/ospf6d/ospf6_asbr.c @@ -2874,7 +2874,7 @@ ospf6_originate_summary_lsa(struct ospf6 *ospf6, if (IS_OSPF6_DEBUG_AGGR) zlog_debug("%s: Aggr LSA ID: %d flags %x.", __func__, aggr->id, aggr->aggrflags); - /* Dont originate external LSA, + /* Don't originate external LSA, * If it is configured not to advertise. */ if (CHECK_FLAG(aggr->aggrflags, OSPF6_EXTERNAL_AGGRT_NO_ADVERTISE)) { @@ -3248,11 +3248,11 @@ static void ospf6_handle_aggregated_exnl_rt(struct ospf6 *ospf6, /* Handling the case where the external route prefix * and aggegate prefix is same - * If same dont flush the originated external LSA. + * If same don't flush the originated external LSA. */ if (prefix_same(&aggr->p, &rt->prefix)) { if (IS_OSPF6_DEBUG_AGGR) - zlog_debug("%s: External Route prefix same as Aggregator(%pFX), so dont flush.", + zlog_debug("%s: External Route prefix same as Aggregator(%pFX), so don't flush.", __func__, &rt->prefix); @@ -3623,7 +3623,7 @@ void ospf6_handle_external_lsa_origination(struct ospf6 *ospf6, /* Handling the case where the * external route prefix * and aggegate prefix is same - * If same dont flush the + * If same don't flush the * originated * external LSA. */ diff --git a/ospf6d/ospf6_auth_trailer.c b/ospf6d/ospf6_auth_trailer.c index 3582ef53b2..1095473f4a 100644 --- a/ospf6d/ospf6_auth_trailer.c +++ b/ospf6d/ospf6_auth_trailer.c @@ -488,7 +488,7 @@ int ospf6_auth_check_digest(struct ospf6_header *oh, struct ospf6_interface *oi, if (!keychain) { if (IS_OSPF6_DEBUG_AUTH_RX) zlog_err( - "RECV[%s]: Keychain does't exist for %s", + "RECV[%s]: Keychain doesn't exist for %s", oi->interface->name, ospf6_message_type(oh->type)); return OSPF6_AUTH_VALIDATE_FAILURE; diff --git a/ospf6d/ospf6_top.c b/ospf6d/ospf6_top.c index 9381fa7faf..13f16efa66 100644 --- a/ospf6d/ospf6_top.c +++ b/ospf6d/ospf6_top.c @@ -2137,7 +2137,7 @@ DEFPY (show_ipv6_ospf6_external_aggregator, VRF_CMD_HELP_STR "All VRFs\n" "Show external summary addresses\n" - "detailed informtion\n" + "detailed information\n" JSON_STR) { bool uj = use_json(argc, argv); diff --git a/ospf6d/ospf6_zebra.c b/ospf6d/ospf6_zebra.c index 82d280811b..e279d0411b 100644 --- a/ospf6d/ospf6_zebra.c +++ b/ospf6d/ospf6_zebra.c @@ -354,7 +354,7 @@ DEFUN(show_zebra, vty_json(vty, json); } else { - vty_out(vty, "Zebra Infomation\n"); + vty_out(vty, "Zebra Information\n"); vty_out(vty, " fail: %d\n", zclient->fail); vty_out(vty, " redistribute default: %d\n", vrf_bitmap_check(zclient->default_information[AFI_IP6], diff --git a/ospfd/ospf_asbr.c b/ospfd/ospf_asbr.c index f44e1dde82..db78e6d2df 100644 --- a/ospfd/ospf_asbr.c +++ b/ospfd/ospf_asbr.c @@ -207,7 +207,7 @@ struct ospf_lsa *ospf_external_info_find_lsa(struct ospf *ospf, struct as_external_lsa *al; struct in_addr mask, id; - /* Fisrt search the lsdb with address specifc LSID + /* First search the lsdb with address specific LSID * where all the host bits are set, if there a matched * LSA, return. * Ex: For route 10.0.0.0/16, LSID is 10.0.255.255 @@ -630,7 +630,7 @@ struct ospf_lsa *ospf_originate_summary_lsa(struct ospf *ospf, ospf_link_ei_to_aggr(aggr, ei); lsa = ospf_external_info_find_lsa(ospf, &aggr->p); - /* Dont originate external LSA, + /* Don't originate external LSA, * If it is configured not to advertise. */ if (CHECK_FLAG(aggr->flags, OSPF_EXTERNAL_AGGRT_NO_ADVERTISE)) { @@ -787,12 +787,12 @@ static void ospf_handle_aggregated_exnl_rt(struct ospf *ospf, /* Handling the case where the external route prefix * and aggregate prefix is same - * If same dont flush the originated external LSA. + * If same don't flush the originated external LSA. */ if (prefix_same((struct prefix *)&aggr->p, (struct prefix *)&ei->p)) { if (IS_DEBUG_OSPF(lsa, EXTNL_LSA_AGGR)) zlog_debug( - "%s: External Route prefix same as Aggregator(%pI4/%d), so dont flush.", + "%s: External Route prefix same as Aggregator(%pI4/%d), so don't flush.", __func__, &ei->p.prefix, ei->p.prefixlen); return; } diff --git a/ospfd/ospf_gr_helper.c b/ospfd/ospf_gr_helper.c index ae002fdc97..5eca591754 100644 --- a/ospfd/ospf_gr_helper.c +++ b/ospfd/ospf_gr_helper.c @@ -847,8 +847,8 @@ void ospf_gr_helper_support_set(struct ospf *ospf, bool support) lookup.advRtrAddr.s_addr = nbr->router_id.s_addr; /* check if helper support enabled for the - * corresponding routerid.If enabled, dont - * dont exit from helper role. + * corresponding routerid.If enabled, don't + * exit from helper role. */ if (hash_lookup(ospf->enable_rtr_list, &lookup)) continue; diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 32d87b9a91..0b7c3c6831 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -10398,7 +10398,7 @@ DEFPY (show_ip_ospf_gr_helper, "All VRFs\n" "OSPF Graceful Restart\n" "Helper details in the router\n" - "Detailed informtion\n" + "Detailed information\n" JSON_STR) { char *vrf_name = NULL; @@ -11500,7 +11500,7 @@ DEFUN (show_ip_ospf_external_aggregator, VRF_CMD_HELP_STR "All VRFs\n" "Show external summary addresses\n" - "Detailed informtion\n" + "Detailed information\n" JSON_STR) { char *vrf_name = NULL; diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index 7834b7d934..66b7425a81 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -1380,7 +1380,7 @@ static int ospf_zebra_read_route(ZAPI_CALLBACK_ARGS) /* Handling the case where the * external route prefix * and aggegate prefix is same - * If same dont flush the + * If same don't flush the * originated * external LSA. */ diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c index e5f3eec603..b1bba9eb4e 100644 --- a/ospfd/ospfd.c +++ b/ospfd/ospfd.c @@ -1089,7 +1089,7 @@ struct ospf_interface *add_ospf_interface(struct connected *co, ospf_ldp_sync_if_init(oi); /* - * if router_id is not configured, dont bring up + * if router_id is not configured, don't bring up * interfaces. * ospf_router_id_update() will call ospf_if_update * whenever r-id is configured instead. diff --git a/pathd/path_errors.c b/pathd/path_errors.c index 112a3d5ee9..68372c29b6 100644 --- a/pathd/path_errors.c +++ b/pathd/path_errors.c @@ -81,7 +81,7 @@ static struct log_ref ferr_path_warn[] = { { .code = EC_PATH_PCEP_UNSUPPORTED_PCEP_FEATURE, .title = "Unsupported PCEP feature", - .description = "Receved an unsupported PCEP message", + .description = "Received an unsupported PCEP message", .suggestion = "The PCC and PCE are probably not compatible. Open an Issue with all relevant log files" }, { diff --git a/pathd/path_pcep_config.c b/pathd/path_pcep_config.c index 4c16b83948..99b1c349a9 100644 --- a/pathd/path_pcep_config.c +++ b/pathd/path_pcep_config.c @@ -301,7 +301,7 @@ int path_pcep_config_initiate_path(struct path *path) return ERROR_19_9; } zlog_warn( - "(%s)PCE tried to REMOVE found canidate!, let's remove", + "(%s)PCE tried to REMOVE found candidate!, let's remove", __func__); candidate->policy->srp_id = path->srp_id; SET_FLAG(candidate->policy->flags, F_POLICY_DELETED); diff --git a/pathd/pathd.c b/pathd/pathd.c index 7f6d34f752..f56da37b51 100644 --- a/pathd/pathd.c +++ b/pathd/pathd.c @@ -1345,7 +1345,7 @@ int32_t srte_ted_do_query_type_c(struct srte_segment_entry *entry, zlog_warn(" %s: PATHD-TED: SL: ERROR query C : ted-sid (%d)", __func__, ted_sid); } else { - zlog_debug("%s: PATHD-TED: SL: Sucess query C : ted-sid (%d)", + zlog_debug("%s: PATHD-TED: SL: Success query C : ted-sid (%d)", __func__, ted_sid); } if (CHECK_SID(entry->segment_list->protocol_origin, ted_sid, @@ -1375,7 +1375,7 @@ int32_t srte_ted_do_query_type_e(struct srte_segment_entry *entry, zlog_warn(" %s: PATHD-TED: SL: ERROR query E : ted-sid (%d)", __func__, ted_sid); } else { - zlog_debug("%s: PATHD-TED: SL: Sucess query E : ted-sid (%d)", + zlog_debug("%s: PATHD-TED: SL: Success query E : ted-sid (%d)", __func__, ted_sid); } if (CHECK_SID(entry->segment_list->protocol_origin, ted_sid, @@ -1404,7 +1404,7 @@ int32_t srte_ted_do_query_type_f(struct srte_segment_entry *entry, zlog_warn("%s:SL: ERROR query F : ted-sid (%d)", __func__, ted_sid); } else { - zlog_debug("%s:SL: Sucess query F : ted-sid (%d)", __func__, + zlog_debug("%s:SL: Success query F : ted-sid (%d)", __func__, ted_sid); } if (CHECK_SID(entry->segment_list->protocol_origin, ted_sid, diff --git a/pceplib/pcep_timers.c b/pceplib/pcep_timers.c index bbf9b77983..b0f3e70b50 100644 --- a/pceplib/pcep_timers.c +++ b/pceplib/pcep_timers.c @@ -413,7 +413,7 @@ bool reset_timer(int timer_id) /* Keeping this log for now, since in older versions of FRR the * timer cancellation was blocking. This allows us to see how * long the it takes.*/ - pcep_log(LOG_DEBUG, "%s: Reseting timer [%d] with callback", + pcep_log(LOG_DEBUG, "%s: Resetting timer [%d] with callback", __func__, timer_to_reset->timer_id); timers_context_->timer_cancel_func( &timer_to_reset->external_timer); diff --git a/tests/bgpd/test_aspath.c b/tests/bgpd/test_aspath.c index c2d39752ab..7288dc0869 100644 --- a/tests/bgpd/test_aspath.c +++ b/tests/bgpd/test_aspath.c @@ -1062,8 +1062,7 @@ static void parse_test(struct test_segment *t) printf("\n"); - if (asp) - aspath_unintern(&asp); + aspath_unintern(&asp); } /* prepend testing */ @@ -1117,8 +1116,7 @@ static void empty_prepend_test(struct test_segment *t) printf(FAILED "!\n"); printf("\n"); - if (asp1) - aspath_unintern(&asp1); + aspath_unintern(&asp1); aspath_free(asp2); } @@ -1277,10 +1275,8 @@ static int handle_attr_test(struct aspath_tests *t) } out: - if (attr.aspath) - aspath_unintern(&attr.aspath); - if (asp) - aspath_unintern(&asp); + aspath_unintern(&attr.aspath); + aspath_unintern(&asp); return failed - initfail; } diff --git a/tests/topotests/lib/bgp.py b/tests/topotests/lib/bgp.py index 551483d718..34afa0d2c1 100644 --- a/tests/topotests/lib/bgp.py +++ b/tests/topotests/lib/bgp.py @@ -3677,7 +3677,7 @@ def verify_f_bit(tgen, topo, addr_type, input_dict, dut, peer, expected=True): @retry(retry_timeout=10) def verify_graceful_restart_timers(tgen, topo, addr_type, input_dict, dut, peer): """ - This API is to verify graceful restart timers, configured and recieved + This API is to verify graceful restart timers, configured and received Parameters ---------- diff --git a/tests/topotests/multicast_pim_bsm_topo1/test_mcast_pim_bsmp_01.py b/tests/topotests/multicast_pim_bsm_topo1/test_mcast_pim_bsmp_01.py index a8418d400d..4ab160b52e 100644 --- a/tests/topotests/multicast_pim_bsm_topo1/test_mcast_pim_bsmp_01.py +++ b/tests/topotests/multicast_pim_bsm_topo1/test_mcast_pim_bsmp_01.py @@ -501,7 +501,7 @@ def test_BSR_higher_prefer_ip_p0(request): step("sleeping for 3 sec to leran new packet") do_countdown(3) - step("verify BSR1 is become prefered RP") + step("verify BSR1 has become preferred RP") dut = "l1" step("Verify if b1 chosen as BSR in f1") @@ -521,7 +521,7 @@ def test_BSR_higher_prefer_ip_p0(request): do_countdown(3) f1_b2_eth1 = topo["routers"]["f1"]["links"]["b2"]["interface"] shutdown_bringup_interface(tgen, "f1", "f1-b2-eth1", True) - step("verify BSR2 is become prefered RP") + step("verify BSR2 has become preferred RP") dut = "l1" step("Send BSR packet from b1 and b2 to FHR") diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 8e95aaa47c..336fe8b30e 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -818,7 +818,7 @@ int vtysh_mark_file(const char *filename) return 0; } -/* Configration make from file. */ +/* Configuration make from file. */ int vtysh_config_from_file(struct vty *vty, FILE *fp) { int ret; @@ -1586,7 +1586,7 @@ DEFUNSH(VTYSH_REALLYALL, vtysh_end_all, vtysh_end_all_cmd, "end", DEFUNSH(VTYSH_ZEBRA, srv6, srv6_cmd, "srv6", - "Segment-Routing SRv6 configration\n") + "Segment-Routing SRv6 configuration\n") { vty->node = SRV6_NODE; return CMD_SUCCESS; @@ -1594,7 +1594,7 @@ DEFUNSH(VTYSH_ZEBRA, srv6, srv6_cmd, DEFUNSH(VTYSH_ZEBRA, srv6_locators, srv6_locators_cmd, "locators", - "Segment-Routing SRv6 locators configration\n") + "Segment-Routing SRv6 locators configuration\n") { vty->node = SRV6_LOCS_NODE; return CMD_SUCCESS; diff --git a/vtysh/vtysh_main.c b/vtysh/vtysh_main.c index 76956574cc..a4f27b61cb 100644 --- a/vtysh/vtysh_main.c +++ b/vtysh/vtysh_main.c @@ -587,7 +587,7 @@ int main(int argc, char **argv, char **env) * Setup history file for use by both -c and regular input * If we can't find the home directory, then don't store * the history information. - * VTYSH_HISTFILE is prefered over command line + * VTYSH_HISTFILE is preferred over command line * argument (-H/--histfile). */ if (getenv("VTYSH_HISTFILE")) { diff --git a/yang/frr-pathd.yang b/yang/frr-pathd.yang index 30f9875a6d..5beda769c1 100644 --- a/yang/frr-pathd.yang +++ b/yang/frr-pathd.yang @@ -414,7 +414,7 @@ module frr-pathd { container objective-function { presence "If the candidate has an objective function constraint"; description - "Define objective function constraint as a list of prefered functions"; + "Define objective function constraint as a list of preferred functions"; leaf required { type boolean; default "true"; diff --git a/zebra/kernel_netlink.c b/zebra/kernel_netlink.c index d0c86a6bb0..ca83a42685 100644 --- a/zebra/kernel_netlink.c +++ b/zebra/kernel_netlink.c @@ -1201,7 +1201,7 @@ static int nl_batch_read_resp(struct nl_batch *bth) if (dplane_ctx_get_ns(ctx)->seq > seq) zlog_warn( - "%s:WARNING Recieved %u is less than any context on the queue ctx->seq %u", + "%s:WARNING Received %u is less than any context on the queue ctx->seq %u", __func__, seq, dplane_ctx_get_ns(ctx)->seq); } |
