Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
BIRD Internet Routing Daemon
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
labs
BIRD Internet Routing Daemon
Commits
a02c6c18
Commit
a02c6c18
authored
May 03, 2000
by
Ondřej Filip
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleanup of code. Some arguments of functions were useless.
parent
ad5453b5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
24 additions
and
19 deletions
+24
-19
proto/ospf/lsalib.c
proto/ospf/lsalib.c
+3
-2
proto/ospf/lsalib.h
proto/ospf/lsalib.h
+1
-1
proto/ospf/rt.c
proto/ospf/rt.c
+15
-11
proto/ospf/rt.h
proto/ospf/rt.h
+4
-4
proto/ospf/topology.c
proto/ospf/topology.c
+1
-1
No files found.
proto/ospf/lsalib.c
View file @
a02c6c18
...
...
@@ -17,8 +17,9 @@ flush_lsa(struct top_hash_entry *en)
void
ospf_age
(
struct
top_hash_entry
*
en
,
bird_clock_t
delta
,
int
flush
,
struct
proto
*
p
)
struct
ospf_area
*
oa
)
{
struct
proto
*
p
=&
oa
->
po
->
proto
;
if
(
en
->
lsa
.
age
==
LSA_MAXAGE
)
{
if
(
flush
)
flush_lsa
(
en
);
...
...
@@ -391,7 +392,7 @@ lsa_install_new(struct ospf_lsa_header *lsa, void *body, struct ospf_area *oa,
if
(
oa
->
rt
!=
NULL
)
{
DBG
(
"Starting routing table calculation.
\n
"
);
ospf_rt_spfa
(
oa
,
p
);
ospf_rt_spfa
(
oa
);
}
}
...
...
proto/ospf/lsalib.h
View file @
a02c6c18
...
...
@@ -24,6 +24,6 @@ int lsa_comp(struct ospf_lsa_header *l1, struct ospf_lsa_header *l2);
struct
top_hash_entry
*
lsa_install_new
(
struct
ospf_lsa_header
*
lsa
,
void
*
body
,
struct
ospf_area
*
oa
,
struct
proto
*
p
);
void
ospf_age
(
struct
top_hash_entry
*
en
,
bird_clock_t
delta
,
int
flush
,
struct
proto
*
p
);
struct
ospf_area
*
oa
);
#endif
/* _BIRD_OSPF_LSALIB_H_ */
proto/ospf/rt.c
View file @
a02c6c18
...
...
@@ -18,7 +18,7 @@ init_stub_fib(struct fib_node *fn)
}
void
ospf_rt_spfa
(
struct
ospf_area
*
oa
,
struct
proto
*
p
)
ospf_rt_spfa
(
struct
ospf_area
*
oa
)
{
struct
top_hash_entry
*
en
,
*
nx
;
u32
i
,
*
rts
;
...
...
@@ -28,6 +28,7 @@ ospf_rt_spfa(struct ospf_area *oa, struct proto *p)
struct
stub_fib
*
sf
;
bird_clock_t
delta
;
int
age
=
0
,
flush
=
0
;
struct
proto
*
p
=&
oa
->
po
->
proto
;
/* FIXME if I'm not in LOADING or EXCHANGE set flush=1 */
if
((
delta
=
now
-
oa
->
lage
)
>=
AGINGDELTA
)
...
...
@@ -40,7 +41,7 @@ ospf_rt_spfa(struct ospf_area *oa, struct proto *p)
{
en
->
color
=
OUTSPF
;
en
->
dist
=
LSINFINITY
;
if
(
age
)
ospf_age
(
en
,
delta
,
flush
,
p
);
if
(
age
)
ospf_age
(
en
,
delta
,
flush
,
oa
);
}
init_list
(
&
oa
->
cand
);
/* Empty list of candidates */
...
...
@@ -99,7 +100,7 @@ ospf_rt_spfa(struct ospf_area *oa, struct proto *p)
log
(
"Unknown link type in router lsa.
\n
"
);
break
;
}
add_cand
(
&
oa
->
cand
,
tmp
,
act
,
act
->
dist
+
rtl
->
metric
,
p
,
oa
);
add_cand
(
&
oa
->
cand
,
tmp
,
act
,
act
->
dist
+
rtl
->
metric
,
oa
);
}
break
;
case
LSA_T_NET
:
...
...
@@ -112,7 +113,7 @@ ospf_rt_spfa(struct ospf_area *oa, struct proto *p)
tmp
=
ospf_hash_find
(
oa
->
gr
,
*
(
rts
+
i
),
*
(
rts
+
i
),
LSA_T_RT
);
if
(
tmp
!=
NULL
)
DBG
(
"Found :-)
\n
"
);
else
DBG
(
"Fuck!
\n
"
);
add_cand
(
&
oa
->
cand
,
tmp
,
act
,
act
->
dist
,
p
,
oa
);
add_cand
(
&
oa
->
cand
,
tmp
,
act
,
act
->
dist
,
oa
);
}
break
;
}
...
...
@@ -199,7 +200,7 @@ ospf_rt_spfa(struct ospf_area *oa, struct proto *p)
if
(
sf
->
metric
>
(
en
->
dist
+
rtl
->
metric
))
{
sf
->
metric
=
en
->
dist
+
rtl
->
metric
;
calc_next_hop_fib
(
en
,
sf
,
p
,
oa
);
calc_next_hop_fib
(
en
,
sf
,
oa
);
if
(
sf
->
nhi
!=
NULL
)
{
net
*
ne
;
...
...
@@ -240,11 +241,12 @@ ospf_rt_spfa(struct ospf_area *oa, struct proto *p)
void
add_cand
(
list
*
l
,
struct
top_hash_entry
*
en
,
struct
top_hash_entry
*
par
,
u16
dist
,
struct
proto
*
p
,
struct
ospf_area
*
oa
)
u16
dist
,
struct
ospf_area
*
oa
)
{
node
*
prev
,
*
n
;
int
flag
=
0
,
added
=
0
;
struct
top_hash_entry
*
act
;
struct
proto
*
p
=&
oa
->
po
->
proto
;
if
(
en
==
NULL
)
return
;
if
(
en
->
lsa
.
age
==
LSA_MAXAGE
)
return
;
...
...
@@ -260,7 +262,7 @@ add_cand(list *l, struct top_hash_entry *en, struct top_hash_entry *par,
en
->
nhi
=
NULL
;
calc_next_hop
(
par
,
en
,
p
,
oa
);
calc_next_hop
(
par
,
en
,
oa
);
if
(
en
->
color
==
CANDIDATE
)
/* We found a shorter path */
{
...
...
@@ -302,10 +304,11 @@ add_cand(list *l, struct top_hash_entry *en, struct top_hash_entry *par,
void
calc_next_hop
(
struct
top_hash_entry
*
par
,
struct
top_hash_entry
*
en
,
struct
proto
*
p
,
struct
ospf_area
*
oa
)
struct
ospf_area
*
oa
)
{
struct
ospf_neighbor
*
neigh
;
struct
proto_ospf
*
po
=
(
struct
proto_ospf
*
)
p
;
struct
proto
*
p
=&
oa
->
po
->
proto
;
struct
proto_ospf
*
po
=
oa
->
po
;
DBG
(
" Next hop called
\n
"
);
if
(
par
==
oa
->
rt
)
return
;
if
(
par
->
nhi
==
NULL
)
...
...
@@ -327,10 +330,11 @@ calc_next_hop(struct top_hash_entry *par, struct top_hash_entry *en,
void
calc_next_hop_fib
(
struct
top_hash_entry
*
par
,
struct
stub_fib
*
en
,
struct
proto
*
p
,
struct
ospf_area
*
oa
)
struct
ospf_area
*
oa
)
{
struct
ospf_neighbor
*
neigh
;
struct
proto_ospf
*
po
=
(
struct
proto_ospf
*
)
p
;
struct
proto
*
p
=&
oa
->
po
->
proto
;
struct
proto_ospf
*
po
=
oa
->
po
;
DBG
(
" Next hop called
\n
"
);
if
(
par
==
oa
->
rt
)
return
;
if
(
par
->
nhi
==
NULL
)
...
...
proto/ospf/rt.h
View file @
a02c6c18
...
...
@@ -18,12 +18,12 @@ struct stub_fib {
struct
iface
*
nhi
;
};
void
ospf_rt_spfa
(
struct
ospf_area
*
oa
,
struct
proto
*
p
);
void
ospf_rt_spfa
(
struct
ospf_area
*
oa
);
void
add_cand
(
list
*
l
,
struct
top_hash_entry
*
en
,
struct
top_hash_entry
*
par
,
u16
dist
,
struct
proto
*
p
,
struct
ospf_area
*
oa
);
u16
dist
,
struct
ospf_area
*
oa
);
void
calc_next_hop
(
struct
top_hash_entry
*
par
,
struct
top_hash_entry
*
en
,
struct
proto
*
p
,
struct
ospf_area
*
oa
);
struct
ospf_area
*
oa
);
void
calc_next_hop_fib
(
struct
top_hash_entry
*
par
,
struct
stub_fib
*
en
,
struct
proto
*
p
,
struct
ospf_area
*
oa
);
struct
ospf_area
*
oa
);
#endif
/* _BIRD_OSPF_RT_H_ */
proto/ospf/topology.c
View file @
a02c6c18
...
...
@@ -163,7 +163,7 @@ age_timer_hook(timer *timer)
if
((
delta
=
now
-
oa
->
lage
)
>=
AGINGDELTA
)
{
WALK_SLIST_DELSAFE
(
en
,
nxt
,
oa
->
lsal
)
ospf_age
(
en
,
delta
,
flush
,
&
oa
->
po
->
proto
);
WALK_SLIST_DELSAFE
(
en
,
nxt
,
oa
->
lsal
)
ospf_age
(
en
,
delta
,
flush
,
oa
);
oa
->
lage
=
now
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment