forked from Mirror/frr
commit
3d3c38b1d4
|
@ -769,7 +769,7 @@ static void _bfd_session_update(struct bfd_session *bs,
|
|||
* Apply profile last: it also calls `bfd_set_shutdown`.
|
||||
*
|
||||
* There is no problem calling `shutdown` twice if the value doesn't
|
||||
* change or if it is overriden by peer specific configuration.
|
||||
* change or if it is overridden by peer specific configuration.
|
||||
*/
|
||||
if (bpc->bpc_has_profile)
|
||||
bfd_profile_apply(bpc->bpc_profile, bs);
|
||||
|
|
|
@ -724,7 +724,7 @@ void bfd_profile_free(struct bfd_profile *bp);
|
|||
|
||||
/**
|
||||
* Apply a profile configuration to an existing BFD session. The non default
|
||||
* values will not be overriden.
|
||||
* values will not be overridden.
|
||||
*
|
||||
* NOTE: if the profile doesn't exist yet, then the profile will be applied
|
||||
* once it begins to exist.
|
||||
|
|
|
@ -544,7 +544,7 @@ static void aspath_make_str_count(struct aspath *as, bool make_json)
|
|||
|
||||
seg = as->segments;
|
||||
|
||||
/* ASN takes 5 to 10 chars plus seperator, see below.
|
||||
/* ASN takes 5 to 10 chars plus separator, see below.
|
||||
* If there is one differing segment type, we need an additional
|
||||
* 2 chars for segment delimiters, and the final '\0'.
|
||||
* Hopefully this is large enough to avoid hitting the realloc
|
||||
|
@ -560,17 +560,17 @@ static void aspath_make_str_count(struct aspath *as, bool make_json)
|
|||
|
||||
while (seg) {
|
||||
int i;
|
||||
char seperator;
|
||||
char separator;
|
||||
|
||||
/* Check AS type validity. Set seperator for segment */
|
||||
/* Check AS type validity. Set separator for segment */
|
||||
switch (seg->type) {
|
||||
case AS_SET:
|
||||
case AS_CONFED_SET:
|
||||
seperator = ',';
|
||||
separator = ',';
|
||||
break;
|
||||
case AS_SEQUENCE:
|
||||
case AS_CONFED_SEQUENCE:
|
||||
seperator = ' ';
|
||||
separator = ' ';
|
||||
break;
|
||||
default:
|
||||
XFREE(MTYPE_AS_STR, str_buf);
|
||||
|
@ -584,7 +584,7 @@ static void aspath_make_str_count(struct aspath *as, bool make_json)
|
|||
|
||||
/* We might need to increase str_buf, particularly if path has
|
||||
* differing segments types, our initial guesstimate above will
|
||||
* have been wrong. Need 10 chars for ASN, a seperator each and
|
||||
* have been wrong. Need 10 chars for ASN, a separator each and
|
||||
* potentially two segment delimiters, plus a space between each
|
||||
* segment and trailing zero.
|
||||
*
|
||||
|
@ -607,7 +607,7 @@ static void aspath_make_str_count(struct aspath *as, bool make_json)
|
|||
if (make_json)
|
||||
jseg_list = json_object_new_array();
|
||||
|
||||
/* write out the ASNs, with their seperators, bar the last one*/
|
||||
/* write out the ASNs, with their separators, bar the last one*/
|
||||
for (i = 0; i < seg->length; i++) {
|
||||
if (make_json)
|
||||
json_object_array_add(
|
||||
|
@ -619,7 +619,7 @@ static void aspath_make_str_count(struct aspath *as, bool make_json)
|
|||
|
||||
if (i < (seg->length - 1))
|
||||
len += snprintf(str_buf + len, str_size - len,
|
||||
"%c", seperator);
|
||||
"%c", separator);
|
||||
}
|
||||
|
||||
if (make_json) {
|
||||
|
@ -1917,7 +1917,7 @@ static const char *aspath_gettoken(const char *buf, enum as_token *token,
|
|||
{
|
||||
const char *p = buf;
|
||||
|
||||
/* Skip seperators (space for sequences, ',' for sets). */
|
||||
/* Skip separators (space for sequences, ',' for sets). */
|
||||
while (isspace((unsigned char)*p) || *p == ',')
|
||||
p++;
|
||||
|
||||
|
|
|
@ -847,7 +847,7 @@ struct attr *bgp_attr_intern(struct attr *attr)
|
|||
struct lcommunity *lcomm = NULL;
|
||||
struct community *comm = NULL;
|
||||
|
||||
/* Intern referenced strucutre. */
|
||||
/* Intern referenced structure. */
|
||||
if (attr->aspath) {
|
||||
if (!attr->aspath->refcnt)
|
||||
attr->aspath = aspath_intern(attr->aspath);
|
||||
|
|
|
@ -210,7 +210,7 @@ ecommunity_uniq_sort_internal(struct ecommunity *ecom,
|
|||
return new;
|
||||
}
|
||||
|
||||
/* This function takes pointer to Extended Communites strucutre then
|
||||
/* This function takes pointer to Extended Communites structure then
|
||||
* create a new Extended Communities structure by uniq and sort each
|
||||
* Extended Communities value.
|
||||
*/
|
||||
|
|
|
@ -103,7 +103,7 @@ static bool lcommunity_add_val(struct lcommunity *lcom,
|
|||
return true;
|
||||
}
|
||||
|
||||
/* This function takes pointer to Large Communites strucutre then
|
||||
/* This function takes pointer to Large Communites structure then
|
||||
create a new Large Communities structure by uniq and sort each
|
||||
Large Communities value. */
|
||||
struct lcommunity *lcommunity_uniq_sort(struct lcommunity *lcom)
|
||||
|
|
|
@ -323,7 +323,7 @@ int bgp_find_or_add_nexthop(struct bgp *bgp_route, struct bgp *bgp_nexthop,
|
|||
pi->extra->igpmetric = 0;
|
||||
} else if (peer) {
|
||||
/*
|
||||
* Let's not accidently save the peer data for a peer
|
||||
* Let's not accidentally save the peer data for a peer
|
||||
* we are going to throw away in a second or so.
|
||||
* When we come back around we'll fix up this
|
||||
* data properly in replace_nexthop_by_peer
|
||||
|
|
|
@ -1253,10 +1253,10 @@ static int bgp_path_info_cmp(struct bgp *bgp, struct bgp_path_info *new,
|
|||
}
|
||||
}
|
||||
|
||||
/* 13. Router-ID comparision. */
|
||||
/* 13. Router-ID comparison. */
|
||||
/* If one of the paths is "stale", the corresponding peer router-id will
|
||||
* be 0 and would always win over the other path. If originator id is
|
||||
* used for the comparision, it will decide which path is better.
|
||||
* used for the comparison, it will decide which path is better.
|
||||
*/
|
||||
if (newattr->flag & ATTR_FLAG_BIT(BGP_ATTR_ORIGINATOR_ID))
|
||||
new_id.s_addr = newattr->originator_id.s_addr;
|
||||
|
@ -1285,7 +1285,7 @@ static int bgp_path_info_cmp(struct bgp *bgp, struct bgp_path_info *new,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* 14. Cluster length comparision. */
|
||||
/* 14. Cluster length comparison. */
|
||||
new_cluster = BGP_CLUSTER_LIST_LENGTH(new->attr);
|
||||
exist_cluster = BGP_CLUSTER_LIST_LENGTH(exist->attr);
|
||||
|
||||
|
@ -1309,7 +1309,7 @@ static int bgp_path_info_cmp(struct bgp *bgp, struct bgp_path_info *new,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* 15. Neighbor address comparision. */
|
||||
/* 15. Neighbor address comparison. */
|
||||
/* Do this only if neither path is "stale" as stale paths do not have
|
||||
* valid peer information (as the connection may or may not be up).
|
||||
*/
|
||||
|
@ -1598,7 +1598,7 @@ static int bgp_input_modifier(struct peer *peer, const struct prefix *p,
|
|||
/* Route map apply. */
|
||||
if (rmap) {
|
||||
memset(&rmap_path, 0, sizeof(struct bgp_path_info));
|
||||
/* Duplicate current value to new strucutre for modification. */
|
||||
/* Duplicate current value to new structure for modification. */
|
||||
rmap_path.peer = peer;
|
||||
rmap_path.attr = attr;
|
||||
rmap_path.extra = &extra;
|
||||
|
@ -1655,7 +1655,7 @@ static int bgp_output_modifier(struct peer *peer, const struct prefix *p,
|
|||
|
||||
memset(&rmap_path, 0, sizeof(struct bgp_path_info));
|
||||
/* Route map apply. */
|
||||
/* Duplicate current value to new strucutre for modification. */
|
||||
/* Duplicate current value to new structure for modification. */
|
||||
rmap_path.peer = peer;
|
||||
rmap_path.attr = attr;
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ elif test "$host" != "$build"; then
|
|||
|
||||
AC_MSG_NOTICE([...])
|
||||
AC_MSG_NOTICE([... cross-compilation: creating hosttools directory and self-configuring for build platform tools])
|
||||
AC_MSG_NOTICE([... use HOST_CPPFLAGS / HOST_CFLAGS / HOST_LDFLAGS if neccessary])
|
||||
AC_MSG_NOTICE([... use HOST_CPPFLAGS / HOST_CFLAGS / HOST_LDFLAGS if necessary])
|
||||
AC_MSG_NOTICE([...])
|
||||
|
||||
(
|
||||
|
|
6
debian/changelog
vendored
6
debian/changelog
vendored
|
@ -989,7 +989,7 @@ quagga (0.98.3-6) testing-proposed-updates; urgency=high
|
|||
quagga (0.98.3-5) unstable; urgency=high
|
||||
|
||||
* The patch which tried to remove the OpenSSL dependency, which is
|
||||
not only unneccessary but also a violation of the licence and thus RC,
|
||||
not only unnecessary but also a violation of the licence and thus RC,
|
||||
stopped working a while ago, since autoreconf is no longer run before
|
||||
building the binaries. So now ./configure is patched directly (thanks
|
||||
to Faidon Liambotis for reporting). Closes: #306840
|
||||
|
@ -1370,7 +1370,7 @@ quagga (0.96.4x-3) unstable; urgency=low
|
|||
* Made the directory (but not the config/log files!) world accessible
|
||||
again on user request (thanks to Anand Kumria)). Closes: #213129
|
||||
* No longer providing sample configuration in /etc/quagga/. They are
|
||||
now only available in /usr/share/doc/quagga/ to avoid accidently
|
||||
now only available in /usr/share/doc/quagga/ to avoid accidentally
|
||||
using them without changing the adresses (thanks to Marc Haber).
|
||||
Closes: #215918
|
||||
|
||||
|
@ -1430,7 +1430,7 @@ quagga (0.96.3-1) unstable; urgency=medium
|
|||
|
||||
quagga (0.96.2-9) unstable; urgency=medium
|
||||
|
||||
* Removed /usr/share/info/dir.* which were accidently there and prevented
|
||||
* Removed /usr/share/info/dir.* which were accidentally there and prevented
|
||||
the installation by dpkg (thanks to Simon Raven). Closes: #212614
|
||||
* Reworded package description (thanks to Anand Kumria). Closes: #213125
|
||||
* Added french debconf translation (thanks to Christian Perrier).
|
||||
|
|
|
@ -81,7 +81,7 @@ content:
|
|||
MPLS must be invidividually enabled on each interface that requires it. See
|
||||
the example in the config block above.
|
||||
|
||||
Load the modifed sysctls on the system:
|
||||
Load the modified sysctls on the system:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
|
|
@ -85,7 +85,7 @@ content:
|
|||
MPLS must be invidividually enabled on each interface that requires it. See
|
||||
the example in the config block above.
|
||||
|
||||
Load the modifed sysctls on the system:
|
||||
Load the modified sysctls on the system:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ in the future:
|
|||
The APIs are all designed to be as type-safe as possible. This means that
|
||||
there will be a compiler warning when an item doesn't match the container, or
|
||||
the return value has a different type, or other similar situations. **You
|
||||
should never use casts with these APIs.** If a cast is neccessary in relation
|
||||
should never use casts with these APIs.** If a cast is necessary in relation
|
||||
to these APIs, there is probably something wrong with the overall design.
|
||||
|
||||
Only the following pieces use dynamically allocated memory:
|
||||
|
@ -143,7 +143,7 @@ Each of the data structures has a ``PREDECL_*`` and a ``DECLARE_*`` macro to
|
|||
set up an "instantiation" of the container. This works somewhat similar to C++
|
||||
templating, though much simpler.
|
||||
|
||||
**In all following text, the Z prefix is replaced with a name choosen
|
||||
**In all following text, the Z prefix is replaced with a name chosen
|
||||
for the instance of the datastructure.**
|
||||
|
||||
The common setup pattern will look like this:
|
||||
|
@ -650,7 +650,7 @@ Atomic lists
|
|||
`atomlist.h` provides an unsorted and a sorted atomic single-linked list.
|
||||
Since atomic memory accesses can be considerably slower than plain memory
|
||||
accessses (depending on the CPU type), these lists should only be used where
|
||||
neccessary.
|
||||
necessary.
|
||||
|
||||
The following guarantees are provided regarding concurrent access:
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ like this:
|
|||
Hopefully you get a nice, usable, PIC ``libpcre.a``.
|
||||
|
||||
So now we have to link all these static libraries into FRR. Rather than modify
|
||||
FRR to accomodate this, the best option is to create an archive with all of
|
||||
FRR to accommodate this, the best option is to create an archive with all of
|
||||
libyang's dependencies. Then to avoid making any changes to FRR build foo,
|
||||
rename this ``libyang.a`` and copy it over the usual static library location.
|
||||
Ugly but it works. To do this, go into your libyang build directory, which
|
||||
|
|
|
@ -471,7 +471,7 @@ recommendations apply in regards to upgrades:
|
|||
for differences against your old configuration. If any defaults changed
|
||||
that affect your setup, lines may appear or disappear. If a new line
|
||||
appears, it was previously the default (or not supported) and is now
|
||||
neccessary to retain previous behavior. If a line disappears, it
|
||||
necessary to retain previous behavior. If a line disappears, it
|
||||
previously wasn't the default, but now is, so it is no longer necessary.
|
||||
|
||||
3. Check the log files for deprecation warnings by using ``grep -i deprecat``.
|
||||
|
|
|
@ -236,7 +236,7 @@ BFD Peer Specific Commands
|
|||
|
||||
Notes:
|
||||
|
||||
- Profile configurations can be overriden on a peer basis by specifying
|
||||
- Profile configurations can be overridden on a peer basis by specifying
|
||||
non-default parameters in peer configuration node.
|
||||
- Non existing profiles can be configured and they will only be applied
|
||||
once they start to exist.
|
||||
|
|
|
@ -58,7 +58,7 @@ The documentation for :ref:`on-rib-process-dplane-results` tells us its
|
|||
arguments. Here, the destination prefix for a route is being logged out.
|
||||
|
||||
Scripts live in :file:`/etc/frr/scripts/` by default. This is configurable at
|
||||
compile time via ``--with-scriptdir``. It may be overriden at runtime with the
|
||||
compile time via ``--with-scriptdir``. It may be overridden at runtime with the
|
||||
``--scriptdir`` daemon option.
|
||||
|
||||
The documentation for :ref:`on-rib-process-dplane-results` indicates that the
|
||||
|
|
|
@ -301,7 +301,7 @@ Administrative distance allows FRR to make decisions about what routes
|
|||
should be installed in the rib based upon the originating protocol.
|
||||
The lowest Admin Distance is the route selected. This is purely a
|
||||
subjective decision about ordering and care has been taken to choose
|
||||
the same distances that other routing suites have choosen.
|
||||
the same distances that other routing suites have chosen.
|
||||
|
||||
+------------+-----------+
|
||||
| Protocol | Distance |
|
||||
|
@ -361,7 +361,7 @@ has multiple routes for the same prefix from multiple sources. An example
|
|||
here would be if someone else was running another routing suite besides
|
||||
FRR at the same time, the kernel must choose what route to use to forward
|
||||
on. FRR choose the value of 20 because of two reasons. FRR wanted a
|
||||
value small enough to be choosen but large enough that the operator could
|
||||
value small enough to be chosen but large enough that the operator could
|
||||
allow route prioritization by the kernel when multiple routing suites are
|
||||
being run and FRR wanted to take advantage of Route Replace semantics that
|
||||
the linux kernel offers. In order for Route Replacement semantics to
|
||||
|
@ -552,7 +552,7 @@ via a ``ip route show X`` command:
|
|||
nexthop via 192.168.161.9 dev enp39s0 weight 1
|
||||
|
||||
Once installed into the FIB, FRR currently has little control over what
|
||||
nexthops are choosen to forward packets on. Currently the Linux kernel
|
||||
nexthops are chosen to forward packets on. Currently the Linux kernel
|
||||
has a ``fib_multipath_hash_policy`` sysctl which dictates how the hashing
|
||||
algorithm is used to forward packets.
|
||||
|
||||
|
@ -1193,7 +1193,7 @@ zebra Terminal Mode Commands
|
|||
|
||||
Display statistics about clients that are connected to zebra. This is
|
||||
useful for debugging and seeing how much data is being passed between
|
||||
zebra and it's clients. If the summary form of the command is choosen
|
||||
zebra and it's clients. If the summary form of the command is chosen
|
||||
a table is displayed with shortened information.
|
||||
|
||||
.. clicmd:: show zebra router table summary
|
||||
|
|
|
@ -479,7 +479,7 @@ void isis_if_ldp_sync_enable(struct isis_circuit *circuit)
|
|||
struct isis_area *area = circuit->area;
|
||||
|
||||
/* called when setting LDP-SYNC at the global level:
|
||||
* specifed on interface overrides global config
|
||||
* specified on interface overrides global config
|
||||
* if ptop link send msg to LDP indicating ldp-sync enabled
|
||||
*/
|
||||
if (if_is_loopback(circuit->interface))
|
||||
|
@ -541,7 +541,7 @@ void isis_if_set_ldp_sync_holddown(struct isis_circuit *circuit)
|
|||
struct isis_area *area = circuit->area;
|
||||
|
||||
/* called when setting LDP-SYNC at the global level:
|
||||
* specifed on interface overrides global config.
|
||||
* specified on interface overrides global config.
|
||||
*/
|
||||
if (if_is_loopback(circuit->interface))
|
||||
return;
|
||||
|
|
|
@ -2103,7 +2103,7 @@ void send_hello_sched(struct isis_circuit *circuit, int level, long delay)
|
|||
|
||||
|
||||
/*
|
||||
* Count the maximum number of lsps that can be accomodated by a given size.
|
||||
* Count the maximum number of lsps that can be accommodated by a given size.
|
||||
*/
|
||||
#define LSP_ENTRIES_LEN (10 + ISIS_SYS_ID_LEN)
|
||||
static uint16_t get_max_lsp_count(uint16_t size)
|
||||
|
|
|
@ -142,7 +142,7 @@ struct isis_lsp_hdr {
|
|||
/*
|
||||
* Since the length field of LSP Entries TLV is one byte long, and each LSP
|
||||
* entry is LSP_ENTRIES_LEN (16) bytes long, the maximum number of LSP entries
|
||||
* can be accomodated in a TLV is
|
||||
* can be accommodated in a TLV is
|
||||
* 255 / 16 = 15.
|
||||
*
|
||||
* Therefore, the maximum length of the LSP Entries TLV is
|
||||
|
|
|
@ -443,7 +443,7 @@ void isis_route_delete(struct isis_area *area, struct route_node *rode,
|
|||
if (rinfo == NULL) {
|
||||
if (IS_DEBUG_RTE_EVENTS)
|
||||
zlog_debug(
|
||||
"ISIS-Rte: tried to delete non-existant route %s",
|
||||
"ISIS-Rte: tried to delete non-existent route %s",
|
||||
buff);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -1790,7 +1790,7 @@ merge_l2vpn(struct ldpd_conf *xconf, struct l2vpn *l2vpn, struct l2vpn *xl)
|
|||
previous_pw_type = l2vpn->pw_type;
|
||||
previous_mtu = l2vpn->mtu;
|
||||
|
||||
/* merge intefaces */
|
||||
/* merge interfaces */
|
||||
RB_FOREACH_SAFE(lif, l2vpn_if_head, &l2vpn->if_tree, ftmp) {
|
||||
/* find deleted interfaces */
|
||||
if (l2vpn_if_find(xl, lif->ifname) == NULL) {
|
||||
|
|
|
@ -267,7 +267,7 @@ static void atomsort_del_core(struct atomsort_head *h,
|
|||
memory_order_consume);
|
||||
|
||||
/* track the beginning of a chain of deleted items
|
||||
* this is neccessary to make this lock-free; we can
|
||||
* this is necessary to make this lock-free; we can
|
||||
* complete deletions started by other threads.
|
||||
*/
|
||||
if (!atomptr_l(prevval)) {
|
||||
|
|
|
@ -684,7 +684,7 @@ void zprivs_init(struct zebra_privs_t *zprivs)
|
|||
|
||||
#else /* !HAVE_CAPABILITIES */
|
||||
/* we dont have caps. we'll need to maintain rid and saved uid
|
||||
* and change euid back to saved uid (who we presume has all neccessary
|
||||
* and change euid back to saved uid (who we presume has all necessary
|
||||
* privileges) whenever we are asked to raise our privileges.
|
||||
*
|
||||
* This is not worth that much security wise, but all we can do.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
# Used to construct route_types.c and route_types.h
|
||||
#
|
||||
# comma-seperated fields of either 2 fields (help strings) or 7 fields.
|
||||
# White space before and after the comma seperators is stripped.
|
||||
# White space before and after the comma separators is stripped.
|
||||
# Lines /beginning/ with # are comments.
|
||||
#
|
||||
####
|
||||
|
|
|
@ -588,7 +588,7 @@ DISTCLEANFILES += lib/route_types.h
|
|||
|
||||
if GIT_VERSION
|
||||
# bit of a trick here to always have up-to-date git stamps without triggering
|
||||
# unneccessary rebuilds. .PHONY causes the .tmp file to be rebuilt always,
|
||||
# unnecessary rebuilds. .PHONY causes the .tmp file to be rebuilt always,
|
||||
# but if we use that on gitversion.h it'll ripple through the .c file deps.
|
||||
# (even if gitversion.h's file timestamp doesn't change, make will think it
|
||||
# did, because of .PHONY...)
|
||||
|
|
|
@ -158,7 +158,7 @@ static uint32_t ospf6_interface_get_cost(struct ospf6_interface *oi)
|
|||
ospf6 = oi->interface->vrf->info;
|
||||
refbw = ospf6 ? ospf6->ref_bandwidth : OSPF6_REFERENCE_BANDWIDTH;
|
||||
|
||||
/* A specifed ip ospf cost overrides a calculated one. */
|
||||
/* A specified ip ospf cost overrides a calculated one. */
|
||||
if (CHECK_FLAG(oi->flag, OSPF6_INTERFACE_NOAUTOCOST))
|
||||
cost = oi->cost;
|
||||
else {
|
||||
|
|
|
@ -71,7 +71,7 @@ extern struct ospf6_lsa *ospf6_lsdb_next(const struct route_node *iterend,
|
|||
* Since we are locking the lsa in ospf6_lsdb_head
|
||||
* and then unlocking it in ospf6_lsa_unlock, when
|
||||
* we cache the next pointer we need to increment
|
||||
* the lock for the lsa so we don't accidently free
|
||||
* the lock for the lsa so we don't accidentally free
|
||||
* it really early.
|
||||
*/
|
||||
#define ALL_LSDB(lsdb, lsa, lsanext) \
|
||||
|
|
|
@ -102,7 +102,7 @@ int ospf_if_get_output_cost(struct ospf_interface *oi)
|
|||
: OSPF_DEFAULT_BANDWIDTH;
|
||||
refbw = oi->ospf->ref_bandwidth;
|
||||
|
||||
/* A specifed ip ospf cost overrides a calculated one. */
|
||||
/* A specified ip ospf cost overrides a calculated one. */
|
||||
if (OSPF_IF_PARAM_CONFIGURED(IF_DEF_PARAMS(oi->ifp), output_cost_cmd)
|
||||
|| OSPF_IF_PARAM_CONFIGURED(oi->params, output_cost_cmd))
|
||||
cost = OSPF_IF_PARAM(oi, output_cost_cmd);
|
||||
|
|
|
@ -141,7 +141,7 @@ void ospf_ldp_sync_if_init(struct ospf_interface *oi)
|
|||
|
||||
ldp_sync_info = params->ldp_sync_info;
|
||||
|
||||
/* specifed on interface overrides global config. */
|
||||
/* specified on interface overrides global config. */
|
||||
if (!CHECK_FLAG(ldp_sync_info->flags, LDP_SYNC_FLAG_HOLDDOWN))
|
||||
ldp_sync_info->holddown = oi->ospf->ldp_sync_cmd.holddown;
|
||||
|
||||
|
@ -441,7 +441,7 @@ void ospf_if_set_ldp_sync_enable(struct ospf *ospf, struct interface *ifp)
|
|||
struct ldp_sync_info *ldp_sync_info;
|
||||
|
||||
/* called when setting LDP-SYNC at the global level:
|
||||
* specifed on interface overrides global config
|
||||
* specified on interface overrides global config
|
||||
* if ptop link send msg to LDP indicating ldp-sync enabled
|
||||
*/
|
||||
if (if_is_loopback(ifp))
|
||||
|
@ -479,7 +479,7 @@ void ospf_if_set_ldp_sync_holddown(struct ospf *ospf, struct interface *ifp)
|
|||
struct ldp_sync_info *ldp_sync_info;
|
||||
|
||||
/* called when setting LDP-SYNC at the global level:
|
||||
* specifed on interface overrides global config.
|
||||
* specified on interface overrides global config.
|
||||
*/
|
||||
if (if_is_loopback(ifp))
|
||||
return;
|
||||
|
|
|
@ -450,7 +450,7 @@ char link_info_set(struct stream **s, struct in_addr id, struct in_addr data,
|
|||
/* LSA stream is initially allocated to OSPF_MAX_LSA_SIZE, suits
|
||||
* vast majority of cases. Some rare routers with lots of links need
|
||||
* more.
|
||||
* we try accomodate those here.
|
||||
* we try accommodate those here.
|
||||
*/
|
||||
if (STREAM_WRITEABLE(*s) < OSPF_ROUTER_LSA_LINK_SIZE) {
|
||||
size_t ret = OSPF_MAX_LSA_SIZE;
|
||||
|
@ -2858,7 +2858,7 @@ struct ospf_lsa *ospf_lsa_install(struct ospf *ospf, struct ospf_interface *oi,
|
|||
update is needed */
|
||||
old = ospf_lsdb_lookup(lsdb, lsa);
|
||||
|
||||
/* Do comparision and record if recalc needed. */
|
||||
/* Do comparison and record if recalc needed. */
|
||||
rt_recalc = 0;
|
||||
if (old == NULL || ospf_lsa_different(old, lsa, false)) {
|
||||
/* Ref rfc3623 section 3.2.3
|
||||
|
|
|
@ -3515,7 +3515,7 @@ static int ospf_make_ls_req_func(struct stream *s, uint16_t *length,
|
|||
/* LS Request packet overflows interface MTU
|
||||
* delta is just number of bytes required for 1 LS Req
|
||||
* ospf_packet_max will return the number of bytes can
|
||||
* be accomodated without ospf header. So length+delta
|
||||
* be accommodated without ospf header. So length+delta
|
||||
* can be compared to ospf_packet_max
|
||||
* to check if it can fit another lsreq in the same packet.
|
||||
*/
|
||||
|
@ -3649,7 +3649,7 @@ static int ospf_make_ls_ack(struct ospf_interface *oi, struct list *ack,
|
|||
/* LS Ack packet overflows interface MTU
|
||||
* delta is just number of bytes required for
|
||||
* 1 LS Ack(1 LS Hdr) ospf_packet_max will return
|
||||
* the number of bytes can be accomodated without
|
||||
* the number of bytes can be accommodated without
|
||||
* ospf header. So length+delta can be compared
|
||||
* against ospf_packet_max to check if it can fit
|
||||
* another ls header in the same packet.
|
||||
|
@ -3966,7 +3966,7 @@ void ospf_ls_upd_send_lsa(struct ospf_neighbor *nbr, struct ospf_lsa *lsa,
|
|||
list_delete(&update);
|
||||
}
|
||||
|
||||
/* Determine size for packet. Must be at least big enough to accomodate next
|
||||
/* Determine size for packet. Must be at least big enough to accommodate next
|
||||
* LSA on list, which may be bigger than MTU size.
|
||||
*
|
||||
* Return pointer to new ospf_packet
|
||||
|
|
|
@ -678,7 +678,7 @@ static void ospf_spf_flush_parents(struct vertex *w)
|
|||
|
||||
/*
|
||||
* Consider supplied next-hop for inclusion to the supplied list of
|
||||
* equal-cost next-hops, adjust list as neccessary.
|
||||
* equal-cost next-hops, adjust list as necessary.
|
||||
*/
|
||||
static void ospf_spf_add_parent(struct vertex *v, struct vertex *w,
|
||||
struct vertex_nexthop *newhop,
|
||||
|
|
|
@ -849,9 +849,9 @@ static bool pim_bsm_frag_send(uint8_t *buf, uint32_t len, struct interface *ifp,
|
|||
this_pkt_rem = pim_mtu - (PIM_BSM_HDR_LEN
|
||||
+ PIM_MSG_HEADER_LEN);
|
||||
|
||||
/* If pkt can't accomodate next group + atleast
|
||||
* one rp, we must break out of this inner loop
|
||||
* and process next RP
|
||||
/* If pkt can't accommodate next group + at
|
||||
* least one rp, we must break out of this inner
|
||||
* loop and process next RP
|
||||
*/
|
||||
if (total_rp_cnt == this_rp_cnt)
|
||||
break;
|
||||
|
|
|
@ -1525,7 +1525,7 @@ void pim_if_update_assert_tracking_desired(struct interface *ifp)
|
|||
/*
|
||||
* PIM wants to have an interface pointer for everything it does.
|
||||
* The pimreg is a special interface that we have that is not
|
||||
* quite an inteface but a VIF is created for it.
|
||||
* quite an interface but a VIF is created for it.
|
||||
*/
|
||||
void pim_if_create_pimreg(struct pim_instance *pim)
|
||||
{
|
||||
|
|
|
@ -668,7 +668,7 @@ static int igmp_v1_recv_report(struct gm_sock *igmp, struct in_addr from,
|
|||
if (pim_is_group_filtered(ifp->info, &group_addr))
|
||||
return -1;
|
||||
|
||||
/* non-existant group is created as INCLUDE {empty} */
|
||||
/* non-existent group is created as INCLUDE {empty} */
|
||||
group = igmp_add_group_by_addr(igmp, group_addr);
|
||||
if (!group) {
|
||||
return -1;
|
||||
|
|
|
@ -516,7 +516,7 @@ static void allow(struct gm_sock *igmp, struct in_addr from,
|
|||
return;
|
||||
}
|
||||
|
||||
/* non-existant group is created as INCLUDE {empty} */
|
||||
/* non-existent group is created as INCLUDE {empty} */
|
||||
group = igmp_add_group_by_addr(igmp, group_addr);
|
||||
if (!group) {
|
||||
return;
|
||||
|
@ -669,7 +669,7 @@ void igmpv3_report_isex(struct gm_sock *igmp, struct in_addr from,
|
|||
if (pim_is_group_filtered(ifp->info, &group_addr))
|
||||
return;
|
||||
|
||||
/* non-existant group is created as INCLUDE {empty} */
|
||||
/* non-existent group is created as INCLUDE {empty} */
|
||||
group = igmp_add_group_by_addr(igmp, group_addr);
|
||||
if (!group) {
|
||||
return;
|
||||
|
@ -790,7 +790,7 @@ void igmpv3_report_toin(struct gm_sock *igmp, struct in_addr from,
|
|||
* entry is present, the request is ignored.
|
||||
*/
|
||||
if (num_sources) {
|
||||
/* non-existant group is created as INCLUDE {empty} */
|
||||
/* non-existent group is created as INCLUDE {empty} */
|
||||
group = igmp_add_group_by_addr(igmp, group_addr);
|
||||
if (!group) {
|
||||
return;
|
||||
|
@ -944,7 +944,7 @@ void igmpv3_report_toex(struct gm_sock *igmp, struct in_addr from,
|
|||
|
||||
on_trace(__func__, ifp, from, group_addr, num_sources, sources);
|
||||
|
||||
/* non-existant group is created as INCLUDE {empty} */
|
||||
/* non-existent group is created as INCLUDE {empty} */
|
||||
group = igmp_add_group_by_addr(igmp, group_addr);
|
||||
if (!group) {
|
||||
return;
|
||||
|
@ -1465,7 +1465,7 @@ void igmpv3_report_block(struct gm_sock *igmp, struct in_addr from,
|
|||
|
||||
on_trace(__func__, ifp, from, group_addr, num_sources, sources);
|
||||
|
||||
/* non-existant group is created as INCLUDE {empty} */
|
||||
/* non-existent group is created as INCLUDE {empty} */
|
||||
group = igmp_add_group_by_addr(igmp, group_addr);
|
||||
if (!group) {
|
||||
return;
|
||||
|
|
|
@ -260,7 +260,7 @@ Group: System Environment/Daemons
|
|||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The frr-devel package contains the header and object files neccessary for
|
||||
The frr-devel package contains the header and object files necessary for
|
||||
developing OSPF-API and frr applications.
|
||||
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ struct rip_offset_list *rip_offset_list_lookup(struct rip *rip,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/* If metric is modifed return 1. */
|
||||
/* If metric is modified return 1. */
|
||||
int rip_offset_list_apply_in(struct prefix_ipv4 *p, struct interface *ifp,
|
||||
uint32_t *metric)
|
||||
{
|
||||
|
@ -115,7 +115,7 @@ int rip_offset_list_apply_in(struct prefix_ipv4 *p, struct interface *ifp,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* If metric is modifed return 1. */
|
||||
/* If metric is modified return 1. */
|
||||
int rip_offset_list_apply_out(struct prefix_ipv4 *p, struct interface *ifp,
|
||||
uint32_t *metric)
|
||||
{
|
||||
|
|
|
@ -526,7 +526,7 @@ extern void rip_cli_init(void);
|
|||
extern struct zebra_privs_t ripd_privs;
|
||||
extern struct rip_instance_head rip_instances;
|
||||
|
||||
/* Master thread strucutre. */
|
||||
/* Master thread structure. */
|
||||
extern struct thread_master *master;
|
||||
|
||||
DECLARE_HOOK(rip_ifaddr_add, (struct connected * ifc), (ifc));
|
||||
|
|
|
@ -85,7 +85,7 @@ struct ripng_offset_list *ripng_offset_list_lookup(struct ripng *ripng,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/* If metric is modifed return 1. */
|
||||
/* If metric is modified return 1. */
|
||||
int ripng_offset_list_apply_in(struct ripng *ripng, struct prefix_ipv6 *p,
|
||||
struct interface *ifp, uint8_t *metric)
|
||||
{
|
||||
|
@ -123,7 +123,7 @@ int ripng_offset_list_apply_in(struct ripng *ripng, struct prefix_ipv6 *p,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* If metric is modifed return 1. */
|
||||
/* If metric is modified return 1. */
|
||||
int ripng_offset_list_apply_out(struct ripng *ripng, struct prefix_ipv6 *p,
|
||||
struct interface *ifp, uint8_t *metric)
|
||||
{
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
* - The Router-ID is 10.0.255.X, where X is the node number;
|
||||
* - The default link metric is 10;
|
||||
* - When SR is enabled, Adj-SIDs and Prefix-SIDs are generated automatically;
|
||||
* - When SR is enabled, the default SRGB is [16000-23999] (can be overriden).
|
||||
* - When SR is enabled, the default SRGB is [16000-23999] (can be overridden).
|
||||
*
|
||||
* Test topology 1:
|
||||
* ================
|
||||
|
|
|
@ -382,7 +382,7 @@ static void verify_prefix_iter_cmp(const char *p1, const char *p2,
|
|||
assert(exp_result == result);
|
||||
|
||||
/*
|
||||
* Also check the reverse comparision.
|
||||
* Also check the reverse comparison.
|
||||
*/
|
||||
result = route_table_prefix_iter_cmp((struct prefix *)&p2_pfx,
|
||||
(struct prefix *)&p1_pfx);
|
||||
|
@ -398,7 +398,7 @@ static void verify_prefix_iter_cmp(const char *p1, const char *p2,
|
|||
/*
|
||||
* test_prefix_iter_cmp
|
||||
*
|
||||
* Tests comparision of prefixes according to order of iteration.
|
||||
* Tests comparison of prefixes according to order of iteration.
|
||||
*/
|
||||
static void test_prefix_iter_cmp(void)
|
||||
{
|
||||
|
|
|
@ -158,7 +158,7 @@ def setup_module(mod):
|
|||
# This is a sample of configuration loading.
|
||||
router_list = tgen.routers()
|
||||
|
||||
# For all registred routers, load the zebra configuration file
|
||||
# For all registered routers, load the zebra configuration file
|
||||
for rname, router in router_list.items():
|
||||
router.load_config(TopoRouter.RD_ZEBRA, "zebra.conf")
|
||||
router.load_config(TopoRouter.RD_OSPF)
|
||||
|
|
|
@ -371,7 +371,7 @@ def test_bgp_timers_functionality(request):
|
|||
# Creating configuration from JSON
|
||||
reset_config_on_routers(tgen)
|
||||
|
||||
# Api call to modfiy BGP timerse
|
||||
# Api call to modify BGP timerse
|
||||
input_dict = {
|
||||
"r1": {
|
||||
"bgp": {
|
||||
|
|
|
@ -192,7 +192,7 @@ def setup_module(mod):
|
|||
pe.cmd_raises("sysctl -w net.ipv4.udp_l3mdev_accept={}".format(l3mdev_accept))
|
||||
pe.cmd_raises("sysctl -w net.ipv4.tcp_l3mdev_accept={}".format(l3mdev_accept))
|
||||
|
||||
# For all registred routers, load the zebra configuration file
|
||||
# For all registered routers, load the zebra configuration file
|
||||
for (name, router) in tgen.routers().items():
|
||||
router.load_config(
|
||||
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(name))
|
||||
|
|
|
@ -118,7 +118,7 @@ def setup_module(mod):
|
|||
# This is a sample of configuration loading.
|
||||
router_list = tgen.routers()
|
||||
|
||||
# For all registred routers, load the zebra configuration file
|
||||
# For all registered routers, load the zebra configuration file
|
||||
for rname, router in router_list.items():
|
||||
router.load_config(
|
||||
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
|
||||
|
|
|
@ -1041,7 +1041,7 @@ def test_BGP_GR_15_p2(request):
|
|||
logger.info(
|
||||
"[Step 2] : Test Setup "
|
||||
"[Helper Mode]R6-----R1[Restart Mode]"
|
||||
"--------R2[Helper Mode] Initilized"
|
||||
"--------R2[Helper Mode] Initialized"
|
||||
)
|
||||
|
||||
# Configure graceful-restart
|
||||
|
|
|
@ -456,7 +456,7 @@ def test_BGP_GR_20_p1(request):
|
|||
reset_config_on_routers(tgen)
|
||||
|
||||
logger.info(
|
||||
"[Step 1] : Test Setup " "[Restart Mode]R3-----R1[Restart Mode] Initilized"
|
||||
"[Step 1] : Test Setup " "[Restart Mode]R3-----R1[Restart Mode] Initialized"
|
||||
)
|
||||
|
||||
# Configure graceful-restart
|
||||
|
@ -602,7 +602,7 @@ def test_BGP_GR_21_p2(request):
|
|||
reset_config_on_routers(tgen)
|
||||
|
||||
logger.info(
|
||||
"[Step 1] : Test Setup " "[Helper Mode]R6-----R1[Restart Mode] Initilized"
|
||||
"[Step 1] : Test Setup " "[Helper Mode]R6-----R1[Restart Mode] Initialized"
|
||||
)
|
||||
|
||||
# Configure graceful-restart
|
||||
|
@ -676,7 +676,7 @@ def test_BGP_GR_21_p2(request):
|
|||
logger.info(
|
||||
"[Step 2] : Test Setup "
|
||||
"[Restart Mode]R2-----[Helper Mode]R1[Disable Mode]"
|
||||
"--------R6[Helper Mode] Initilized"
|
||||
"--------R6[Helper Mode] Initialized"
|
||||
)
|
||||
|
||||
# Configure graceful-restart
|
||||
|
@ -821,7 +821,7 @@ def test_BGP_GR_22_p2(request):
|
|||
reset_config_on_routers(tgen)
|
||||
|
||||
logger.info(
|
||||
"[Step 1] : Test Setup " "[Helper Mode]R3-----R1[Restart Mode] Initilized"
|
||||
"[Step 1] : Test Setup " "[Helper Mode]R3-----R1[Restart Mode] Initialized"
|
||||
)
|
||||
|
||||
# Configure graceful-restart
|
||||
|
@ -901,7 +901,7 @@ def test_BGP_GR_22_p2(request):
|
|||
logger.info(
|
||||
"[Step 2] : Test Setup "
|
||||
"[Restart Mode]R2-----[Helper Mode]R1[Disable Mode]"
|
||||
"--------R3[Helper Mode] Initilized"
|
||||
"--------R3[Helper Mode] Initialized"
|
||||
)
|
||||
|
||||
# Configure graceful-restart
|
||||
|
|
|
@ -92,7 +92,7 @@ def setup_module(mod):
|
|||
# This is a sample of configuration loading.
|
||||
router_list = tgen.routers()
|
||||
|
||||
# For all registred routers, load the zebra configuration file
|
||||
# For all registered routers, load the zebra configuration file
|
||||
for rname, router in router_list.items():
|
||||
router.load_config(
|
||||
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
|
||||
|
|
|
@ -1224,7 +1224,7 @@ def test_shut_noshut_p1(request):
|
|||
result = create_router_bgp(tgen, topo, input_dict_3)
|
||||
assert result is True, "Testcase {} : Failed \n Error: {}".format(tc_name, result)
|
||||
|
||||
step("Api call to modfiy BGP timers")
|
||||
step("Api call to modify BGP timers")
|
||||
|
||||
input_dict_4 = {
|
||||
"r1": {
|
||||
|
@ -1757,7 +1757,7 @@ def test_vrf_vlan_routing_table_p1(request):
|
|||
tc_name, result
|
||||
)
|
||||
|
||||
step("Api call to modfiy BGP timers")
|
||||
step("Api call to modify BGP timers")
|
||||
|
||||
input_dict_4 = {
|
||||
"r3": {
|
||||
|
@ -2422,7 +2422,7 @@ def test_delete_and_re_add_vrf_p1(request):
|
|||
result = verify_rib(tgen, addr_type, dut, input_dict_2)
|
||||
assert result is True, "Testcase {} :Failed \n Error {}".format(tc_name, result)
|
||||
|
||||
step("Api call to modfiy BGP timers")
|
||||
step("Api call to modify BGP timers")
|
||||
|
||||
input_dict_4 = {
|
||||
"r1": {
|
||||
|
@ -3034,7 +3034,7 @@ def test_vrf_name_significance_p1(request):
|
|||
result = verify_rib(tgen, addr_type, dut, input_dict_4)
|
||||
assert result is True, "Testcase {} :Failed \n Error {}".format(tc_name, result)
|
||||
|
||||
step("Api call to modfiy BGP timers")
|
||||
step("Api call to modify BGP timers")
|
||||
|
||||
input_dict_4 = {
|
||||
"r3": {
|
||||
|
@ -3437,7 +3437,7 @@ def test_vrf_name_significance_p1(request):
|
|||
result = create_router_bgp(tgen, topo_modify["routers"])
|
||||
assert result is True, "Testcase {} :Failed \n Error: {}".format(tc_name, result)
|
||||
|
||||
step("Api call to modfiy BGP timers")
|
||||
step("Api call to modify BGP timers")
|
||||
|
||||
input_dict_4 = {
|
||||
"r3": {
|
||||
|
|
|
@ -154,7 +154,7 @@ def setup_module(mod):
|
|||
|
||||
router_list = tgen.routers()
|
||||
|
||||
# For all registred routers, load the zebra configuration file
|
||||
# For all registered routers, load the zebra configuration file
|
||||
for rname, router in router_list.items():
|
||||
router.load_config(
|
||||
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
|
||||
|
|
|
@ -122,7 +122,7 @@ def test_get_config(tgen):
|
|||
nrepeat = 5
|
||||
r1 = tgen.gears["r1"]
|
||||
|
||||
step("'GET' inteface config 10 times, once per invocation")
|
||||
step("'GET' interface config 10 times, once per invocation")
|
||||
|
||||
for i in range(0, nrepeat):
|
||||
output = run_grpc_client(r1, GRPCP_ZEBRA, "GET,/frr-interface:lib")
|
||||
|
|
|
@ -93,7 +93,7 @@ class LTemplate:
|
|||
# This is a sample of configuration loading.
|
||||
router_list = tgen.routers()
|
||||
|
||||
# For all registred routers, load the zebra configuration file
|
||||
# For all registered routers, load the zebra configuration file
|
||||
for rname, router in router_list.items():
|
||||
logger.info("Setting up %s" % rname)
|
||||
for rd_val in TopoRouter.RD:
|
||||
|
|
|
@ -443,7 +443,7 @@ class Topogen(object):
|
|||
def start_router(self, router=None):
|
||||
"""
|
||||
Call the router startRouter method.
|
||||
If no router is specified it is called for all registred routers.
|
||||
If no router is specified it is called for all registered routers.
|
||||
"""
|
||||
if router is None:
|
||||
# pylint: disable=r1704
|
||||
|
|
|
@ -746,7 +746,7 @@ def proto_name_to_number(protocol):
|
|||
def ip4_route(node):
|
||||
"""
|
||||
Gets a structured return of the command 'ip route'. It can be used in
|
||||
conjuction with json_cmp() to provide accurate assert explanations.
|
||||
conjunction with json_cmp() to provide accurate assert explanations.
|
||||
|
||||
Return example:
|
||||
{
|
||||
|
@ -787,7 +787,7 @@ def ip4_route(node):
|
|||
def ip4_vrf_route(node):
|
||||
"""
|
||||
Gets a structured return of the command 'ip route show vrf {0}-cust1'.
|
||||
It can be used in conjuction with json_cmp() to provide accurate assert explanations.
|
||||
It can be used in conjunction with json_cmp() to provide accurate assert explanations.
|
||||
|
||||
Return example:
|
||||
{
|
||||
|
@ -831,7 +831,7 @@ def ip4_vrf_route(node):
|
|||
def ip6_route(node):
|
||||
"""
|
||||
Gets a structured return of the command 'ip -6 route'. It can be used in
|
||||
conjuction with json_cmp() to provide accurate assert explanations.
|
||||
conjunction with json_cmp() to provide accurate assert explanations.
|
||||
|
||||
Return example:
|
||||
{
|
||||
|
@ -871,7 +871,7 @@ def ip6_route(node):
|
|||
def ip6_vrf_route(node):
|
||||
"""
|
||||
Gets a structured return of the command 'ip -6 route show vrf {0}-cust1'.
|
||||
It can be used in conjuction with json_cmp() to provide accurate assert explanations.
|
||||
It can be used in conjunction with json_cmp() to provide accurate assert explanations.
|
||||
|
||||
Return example:
|
||||
{
|
||||
|
@ -913,7 +913,7 @@ def ip6_vrf_route(node):
|
|||
def ip_rules(node):
|
||||
"""
|
||||
Gets a structured return of the command 'ip rule'. It can be used in
|
||||
conjuction with json_cmp() to provide accurate assert explanations.
|
||||
conjunction with json_cmp() to provide accurate assert explanations.
|
||||
|
||||
Return example:
|
||||
[
|
||||
|
|
|
@ -34,7 +34,7 @@ Tests covered in this suite
|
|||
3.2 Verify if no forwarding bit is set , FRR is not forwarding the
|
||||
BSM to other PIM nbrs
|
||||
3.3 Verify multicast BSM is sent to new router when unicast BSM is disabled
|
||||
4.1 Verfiy BSM arrived on non bsm capable interface is dropped and
|
||||
4.1 Verify BSM arrived on non bsm capable interface is dropped and
|
||||
not processed
|
||||
4.2 Verify group to RP info updated correctly in FRR node, after shut and
|
||||
no-shut of BSM enable interfaces
|
||||
|
@ -865,7 +865,7 @@ def test_new_router_fwd_p0(request):
|
|||
|
||||
def test_int_bsm_config_p1(request):
|
||||
"""
|
||||
1. Verfiy BSM arrived on non bsm capable interface is dropped and
|
||||
1. Verify BSM arrived on non bsm capable interface is dropped and
|
||||
not processed
|
||||
2. Verify group to RP info updated correctly in FRR node, after shut and
|
||||
no-shut of BSM enable interfaces
|
||||
|
|
|
@ -69,7 +69,7 @@ TC_18 : Verify RPF interface updated in mroute when higher preferred RP gets
|
|||
deleted
|
||||
TC_19 : Verify IIF and OIL in "show ip pim state" updated when higher
|
||||
preferred overlapping RP is deleted
|
||||
TC_20 : Verfiy PIM upstream IIF updated when higher preferred overlapping RP
|
||||
TC_20 : Verify PIM upstream IIF updated when higher preferred overlapping RP
|
||||
deleted
|
||||
TC_21_1 : Verify OIF and RFP for (*,G) and (S,G) when static RP configure in
|
||||
LHR router
|
||||
|
@ -94,7 +94,7 @@ TC_30 : Verify IIF and OIL change to other path after shut the primary path
|
|||
TC_31 : Verify RP info and (*,G) mroute after deleting the RP and shut / no
|
||||
shut the RPF interface.
|
||||
TC_32 : Verify RP info and (*,G) mroute after deleting the RP and shut / no
|
||||
shut the RPF inteface
|
||||
shut the RPF interface
|
||||
"""
|
||||
|
||||
import os
|
||||
|
@ -1157,7 +1157,7 @@ def test_send_join_on_higher_preffered_rp_p1(request):
|
|||
gets deleted
|
||||
TC_19_P1 : Verify IIF and OIL in "show ip pim state" updated when higher
|
||||
preferred overlapping RP is deleted
|
||||
TC_20_P1 : Verfiy PIM upstream IIF updated when higher preferred
|
||||
TC_20_P1 : Verify PIM upstream IIF updated when higher preferred
|
||||
overlapping RP deleted
|
||||
|
||||
Topology used:
|
||||
|
@ -1354,7 +1354,7 @@ def test_send_join_on_higher_preffered_rp_p1(request):
|
|||
assert result is True, "Testcase {} :Failed \n Error: {}".format(tc_name, result)
|
||||
|
||||
step(
|
||||
"r1 : Verfiy upstream IIF updated when higher preferred overlapping"
|
||||
"r1 : Verify upstream IIF updated when higher preferred overlapping"
|
||||
"RP deleted"
|
||||
)
|
||||
result = verify_upstream_iif(tgen, dut, iif, STAR, GROUP_ADDRESS)
|
||||
|
@ -3820,7 +3820,7 @@ def test_delete_RP_shut_noshut_upstream_interface_p1(request):
|
|||
def test_delete_RP_shut_noshut_RP_interface_p1(request):
|
||||
"""
|
||||
TC_32_P1: Verify RP info and (*,G) mroute after deleting the RP and shut/
|
||||
no shut the RPF inteface
|
||||
no shut the RPF interface
|
||||
|
||||
Topology used:
|
||||
________r2_____
|
||||
|
|
|
@ -79,7 +79,7 @@ def setup_module(mod):
|
|||
# This is a sample of configuration loading.
|
||||
router_list = tgen.routers()
|
||||
|
||||
# For all registred routers, load the zebra and ospf configuration file
|
||||
# For all registered routers, load the zebra and ospf configuration file
|
||||
for rname, router in router_list.items():
|
||||
router.load_config(
|
||||
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
|
||||
|
|
|
@ -69,7 +69,7 @@ def setup_module(mod):
|
|||
|
||||
router_list = tgen.routers()
|
||||
|
||||
# For all registred routers, load the zebra configuration file
|
||||
# For all registered routers, load the zebra configuration file
|
||||
for rname, router in router_list.items():
|
||||
router.load_config(
|
||||
TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
|
||||
|
|
|
@ -175,7 +175,7 @@ def test_static_routes_rmap_pfxlist_p0_tc7_ibgp(request):
|
|||
)
|
||||
|
||||
for addr_type in ADDR_TYPES:
|
||||
# Api call to modfiy BGP timerse
|
||||
# Api call to modify BGP timerse
|
||||
input_dict = {
|
||||
"r2": {
|
||||
"bgp": {
|
||||
|
|
|
@ -958,7 +958,7 @@ void if_nbr_mac_to_ipv4ll_neigh_update(struct interface *ifp,
|
|||
/*
|
||||
* We need to note whether or not we originated a v6
|
||||
* neighbor entry for this interface. So that when
|
||||
* someone unwisely accidently deletes this entry
|
||||
* someone unwisely accidentally deletes this entry
|
||||
* we can shove it back in.
|
||||
*/
|
||||
zif->v6_2_v4_ll_neigh_entry = !!add;
|
||||
|
|
|
@ -3802,7 +3802,7 @@ static int netlink_ipneigh_change(struct nlmsghdr *h, int len, ns_id_t ns_id)
|
|||
* interface
|
||||
* and is linked to the bridge
|
||||
* (b) In the case of a VLAN-unaware bridge, the SVI is the bridge
|
||||
* inteface
|
||||
* interface
|
||||
* itself
|
||||
*/
|
||||
if (IS_ZEBRA_IF_VLAN(ifp)) {
|
||||
|
|
|
@ -2679,7 +2679,7 @@ done:
|
|||
}
|
||||
|
||||
/**
|
||||
* dplane_ctx_intf_init() - Initialize a context block for a inteface update
|
||||
* dplane_ctx_intf_init() - Initialize a context block for a interface update
|
||||
*
|
||||
* @ctx: Dataplane context to init
|
||||
* @op: Operation being performed
|
||||
|
|
|
@ -398,7 +398,7 @@ static int netlink_route_info_encode(struct netlink_route_info *ri,
|
|||
req->r.rtm_family = ri->af;
|
||||
|
||||
/*
|
||||
* rtm_table field is a uchar field which can accomodate table_id less
|
||||
* rtm_table field is a uchar field which can accommodate table_id less
|
||||
* than 256.
|
||||
* To support table id greater than 255, if the table_id is greater than
|
||||
* 255, set rtm_table to RT_TABLE_UNSPEC and add RTA_TABLE attribute
|
||||
|
|
Loading…
Reference in a new issue