| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
style(9) says:
"Function prototypes for private functions (i.e., functions not used
elsewhere) go at the top of the first source module. In userland,
functions local to one source module should be declared 'static'".
The benefits of doing so include:
* clean up of the eigrpd global namespace;
* improved readability;
* more hints to the compiler/linker to generate more efficient code.
Additional changes:
* Declare all extern variables in header files;
* Clean up the indentation of all function prototypes and global
variables.
ok claudio@ benno@
|
|
|
|
|
|
|
| |
This reduces some code duplication and makes it easier to see the
difference between the IPv4 and IPv6 raw sockets API.
tweak + ok claudio@, ok benno@
|
|
|
|
|
|
|
|
|
|
|
|
| |
During the initialization of the eigrpe process, use inet_pton() to
store the EIGRP multicast addresses in two global variables:
* global.mcast_addr_v4 (in_addr);
* global.mcast_addr_v6 (in6_addr).
This way we don't need to create temporary in_addr/in6_addr variables
everytime we need to use these multicast addresses for something.
"I like this" claudio@ ok benno@
|
|
|
|
| |
ok claudio@ benno@
|
|
|
|
|
|
| |
Now eigrpd_conf contains only variables that can be modified via a
config reload. The other variables were moved to a new struct called
eigrpd_global, which is now a central point for storing global variables.
|
|
|
|
|
|
|
|
|
|
|
| |
* whitespace cleanup;
* copy in_addr structs directly;
* add more malloc return value checks;
* fix some log messages;
* turn ifacecnt into a static variable;
* use eigrp_addrcmp() on if_deladdr() to avoid code duplication;
* s/route_print_origin/log_route_origin/
* more smaller issues.
|
|
|
|
|
|
| |
Copying by straight assignment is shorter, easier to read and has a
higher level of abstraction. We'll only avoid it when copying from an
unaligned source (e.g., network buffers).
|
|
|
|
|
|
|
| |
These functions improve code reusability as there's no more need to
check for all possible "bad" addresses in several different places.
Besides that, this patch introduce additional checks in the code.
|
| |
|
| |
|
|
|
|
|
|
| |
* If we fail to accept a packet when in the CR mode, do not ack it;
* Add missing ntohl() when storing the next multicast sequence tlv;
* The CR flag in the neighbor should be cleared out after use.
|
| |
|
| |
|
|
|
|
| |
Can be useful as a troubleshooting tool.
|
| |
|
| |
|
| |
|
|
The eigrpd daemon will support the Enhanced Interior Gateway Routing Protocol.
Built using the imsg/three process framework and heavily based on ospfd(8), ospf6d(8) and ldpd(8).
The current status of eigrpd(8) is as follows:
* Almost full compliance with the specification: DUAL FSM, RTP, CR mode, SIA, etc
* Support for both IPv4 and IPv6
* Support for multiple instances (different ASes/AFs) within the same process
* Support for rdomains (one process per rdomain)
* RIB/FIB synchronization
* Basic redistribution support
Not implemented features (yet):
* Configuration reload support (partially implemented)
* Route summarization
* Advanced route redistribution/filtering
* Carp integration
* Authentication (draft is missing information)
* Stub (not released by Cisco)
Not yet connected to the builds.
ok deraadt@ claudio@
|