1
0
mirror of https://github.com/openbsd/src.git synced 2024-12-22 16:42:56 -08:00
Commit Graph

38 Commits

Author SHA1 Message Date
jmc
3a50f0a93a spelling fixes; from paul tagliamonte
any parts of his diff not taken are noted on tech
2022-12-28 21:30:15 +00:00
claudio
39386878d9 Switch from u_intX_t types to stdint.h uintX_t. Mostly mechanical with
a few reindents.
OK florian@ tb@
2022-02-06 09:51:19 +00:00
claudio
10f8f55d81 Add the needed MRT dump defines for RFC8050 support. This will be used
to dump add-path enabled systems because the NLRI format changes based
on the add-path capability and there is no way to know which format is
in use so new message types had to be added.
Also extend the ctl_show_rib structure to include the path_id.
OK benno@
2021-07-27 07:32:08 +00:00
claudio
5cedc68e15 The MRT draft turned into RFC6396, adjust comment. 2019-12-31 15:09:40 +00:00
claudio
d5f6e828d8 Cleanup and fix some obvious shortcomings in the mrt dump code. Also
implement the missing bits to dump MPLS VPN prefixes in the table-mp
case. Missing support noticed by benno@ because of King Bula warning.
OK benno@
2019-07-24 08:58:24 +00:00
claudio
8f54f33b41 Some space fixes mentioned by benno@ 2018-09-07 10:59:16 +00:00
claudio
933383cde7 Switch to MSG_PROTOCOL_BGP4MP_ET formats for update and state mrt messages.
The _ET format adds an additional microsecond time field which makes those
message dumps more informative. The various table dumps are not modified
since there the time especially between entries plays a secondary role.
OK benno@
2018-07-17 07:02:11 +00:00
claudio
67fd828f2a Make it more clear what are subtypes and some more cleanup of the
mrt definitions.
2011-09-19 11:19:32 +00:00
claudio
802d458fc9 Reorder the headerfiles a bit. Move the bgpd specific prototypes out of
mrt.h. Now mrt.h includes only protocol specific defines.
2011-09-18 09:31:25 +00:00
claudio
566a7707a3 Implement new mrt table dump format as specified in draft-ietf-grow-mrt.
Tested with IP and IPv6 sessions and against the libbgpdump parser.
OK henning@
2011-09-17 16:29:44 +00:00
claudio
2afb44c740 Fix my usual typo 2011-09-16 15:44:42 +00:00
claudio
a5190e4476 It is actually possible to dump IPv6 tables with "dump table" and not
"dump table-mp" but this is only possible if the session and the prefixes
are from the same address family. Evil little hackery (especially the
IPv6 nexthop encoding) but seems to work according to libbgpdump.
2010-06-04 10:13:00 +00:00
claudio
717b917b7c Including bgpd.h in mrt.h is dumb. 2010-04-22 08:24:58 +00:00
claudio
d8af710b8c Correct the BGP4MP subtypes according to draft-ietf-grow-mrt-11.
The _AS4 types where reversed and the local types are missing even though
I'm not sure if bgpd will ever support them.
2010-04-22 08:18:00 +00:00
claudio
6236702d09 Better error handling when doing mrt dumps (e.g. when there is no more space
on the disk). Before the SE spinned and the RDE may even crash in these events.
Found by Elisa Jasinska. OK henning@
2009-10-26 09:27:58 +00:00
claudio
db27a85bb0 Unfuck mrt table dumps and plug a memory leak while there. 2009-06-29 12:22:16 +00:00
claudio
308f58e812 Change the way we do mrt dumps in the rde (from the retarded only one dump
possible to as many as you like). The mrt dumps are now done with the same
tree walking code as the control messages. Makes the RDE respond a bit faster
and use less memory while dumping.
2009-06-05 17:36:49 +00:00
claudio
16b4414f55 Make mrt understand alternate RIB plus remove some other static rib references.
There is still a problem with the mrt dumps because we only allow one in the
RDE. This needs some additional work.
2009-06-04 22:08:19 +00:00
claudio
86f6dc6e71 Rework most of the RDE to allow multiple RIBs. This is mostly preparation
work by changing the way the RDE DB is built. struct prefix and struct
pt_entry are simplified and extended with a rib_entry where the decision
tree is run on. From now on a prefix can only reside on one particular RIB
which simplifies the code a bit. Currently there are two fixed ribs
(adj-rib-in and the local-rib) which needs to be made more dynamic in
upcomming commits.
This is work in progress, the RDE seems to work for me and sthen@ (no flames
comming out of our testrouters but there is still a lot missing)
Move into the tree to simplify developement -- henning@
2009-05-17 12:25:15 +00:00
claudio
355a698294 First big chunk of mrt rewrite. Simplifies code hopefully and fixes table
dumps that were wrong because of the 4byte AS support. Dumps I took seemed
to work so far. "Put it in" henning@
2009-03-19 07:00:06 +00:00
claudio
9c654a3318 Next step in mrt cleanup. Switch buf_write to a smarter version of itself.
Doing more the stuff msgbuf_write does and switch the only user -- mrt --
over to use this simpler way of writing out stuff.
2009-03-13 06:25:04 +00:00
claudio
6025568dbd Move mrt code over to use the msgbuf way of queuing buffers instead of rolling
an own version. More cleanup to come.
2009-03-13 05:43:50 +00:00
msf
901b03c191 mrtd.net is no longer, prune
ok claudio@
2007-05-30 04:28:27 +00:00
claudio
dfafe57869 Fix minor issues with IPv6 dumps and add a function for dumping the RIB table
protocol independent. This new dump format is not (yet) supported by the
mrtd route_btoa tool. OK henning@
2004-08-13 14:03:20 +00:00
claudio
4101d7f649 mrt dumps for cloned sessions did not work because the wrong address was used.
OK henning@
2004-08-11 16:48:45 +00:00
claudio
0ee2353c74 The hole dance to close a mrt file after fd passing in the parent is not
needed as the fd is closed while beeing passed. looks good henning@
2004-07-28 16:00:02 +00:00
jaredy
c7bfe47db1 fix some typos
ok henning otto
2004-07-13 17:57:20 +00:00
claudio
3ac411055f Switch mrt dumping to fd passing. This gives some speed up when extensive
dumping is done. Acctually mrt dumps were broken because of the fd passing.
The nice side effect is a much cleaner code, especially in the parent process.
OK henning@
2004-07-03 17:19:59 +00:00
claudio
df24a79c9e Rewrite some parts of the mrt dump handling. It is no longer possible to
dump the filtered updates but therefore it is now possible to dump per
neighbor and also to dump the outgoing messages. OK henning@
2004-02-25 19:48:18 +00:00
deraadt
6d95f4e26c spacing 2004-01-18 00:44:44 +00:00
claudio
e854144b37 2004 OK henning@ 2004-01-06 10:51:14 +00:00
claudio
2a51171b87 Big overhaul of the mrt code.
Dumping of incomming bgp messages is now possible and dumping the (not yet)
filtered updates works too. Per neighbor dumps are still missing.
OK henning@
2004-01-05 22:57:58 +00:00
deraadt
27c77ea524 do not , after last element in an enum 2004-01-02 00:13:32 +00:00
henning
f10d35514a typos from david 2003-12-30 13:03:27 +00:00
henning
85de38448b wrap read & write buffers for imsgs into a struct.
finally gives us read buffers per pipe instead of per process, eleminating
a possible race.
also gets us a real imsg_init() that does all the boring init work
2003-12-21 23:26:37 +00:00
henning
dc5dffce25 overhaul the write buffering code.
introduce msgbuf API and bundle all info needed for the write buffers in a
struct msgbuf.
also switch to a write queue per handled connection (each bgp session, each
pipe) instead of one big one.
fixes some subtle problems and is overall nicer.

ok claudio@
2003-12-21 22:16:53 +00:00
henning
4c25d1c50c style 2003-12-17 18:11:31 +00:00
henning
a16c099288 welcome, bgpd
started by me some time ago with moral support from theo, the proceeded up to
the point where the session engine worked correctly. claudio jeker joined
then and did a lot of work in the RDE.
it is not particulary usefull as application right now as parts are still
missing but is imported to enable more people to work on it.
status:
BGP sessions get established fine, OPEN messages and then KEEPALIVEs
exchanged etc. session FSM works fine; NOTIFICATIONs are handled fine, and
all connection drops etc I provoked get handled fine.
Incoming UPDATE messgages are parsed well and the data entered to the RIB,
the decision process is not yet there, neither is outgoing UPDATEs or sync
to the kernel routing table.

not connected to the builds yet.
2003-12-17 11:46:54 +00:00