OpenBSD CVS

CVS log for src/usr.sbin/eigrpd/tlv.c


[BACK] Up to [local] / src / usr.sbin / eigrpd

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.17 / (download) - annotate - [select for diffs], Mon Jun 26 14:07:19 2023 UTC (11 months, 2 weeks ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, HEAD
Changes since 1.16: +12 -11 lines
Diff to previous 1.16 (colored)

Start using the new ibuf API in eigrpd. One ibuf_seek() still left since
the change is not trivial and I don't have a eigrp testbed.
OK tb@

Revision 1.16 / (download) - annotate - [select for diffs], Wed Nov 3 13:48:46 2021 UTC (2 years, 7 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.15: +5 -5 lines
Diff to previous 1.15 (colored)

use some sizeof, rather than INADDRSZ/IN6ADDRSZ; ok claudio

Revision 1.15 / (download) - annotate - [select for diffs], Mon Oct 10 02:26:24 2016 UTC (7 years, 8 months ago) by gsoares
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0, OPENBSD_6_9_BASE, OPENBSD_6_9, OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

calls to uname(3) should be checked against non-negative value
upon successful and -1 on failure (as per POSIX). No functional change, just
improves portability.

requested by guenther@
looks correct to schwarze@
OK renato@

Revision 1.14 / (download) - annotate - [select for diffs], Fri Sep 2 16:46:29 2016 UTC (7 years, 9 months ago) by renato
Branch: MAIN
Changes since 1.13: +5 -3 lines
Diff to previous 1.13 (colored)

Minor tweaks

Revision 1.13 / (download) - annotate - [select for diffs], Fri Sep 2 16:29:55 2016 UTC (7 years, 9 months ago) by renato
Branch: MAIN
Changes since 1.12: +6 -7 lines
Diff to previous 1.12 (colored)

Remove superfluous includes and follow style(9).

ok claudio@ benno@

Revision 1.12 / (download) - annotate - [select for diffs], Mon Jul 18 21:14:30 2016 UTC (7 years, 10 months ago) by benno
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored)

add format attributes to log functions and fix two errors

ok renato@

Revision 1.11 / (download) - annotate - [select for diffs], Sun Feb 21 18:59:54 2016 UTC (8 years, 3 months ago) by renato
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.10: +14 -23 lines
Diff to previous 1.10 (colored)

Simplify the handling of the sequence tlv.

The C standard says: "A pointer to a union object, suitably converted,
points to each of its members".

This means that we can use the same code to process both v4 and v6
addresses.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Feb 21 18:56:49 2016 UTC (8 years, 3 months ago) by renato
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

Copy structs by assignment instead of memcpy.

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).

Revision 1.9 / (download) - annotate - [select for diffs], Sun Feb 21 18:53:54 2016 UTC (8 years, 3 months ago) by renato
Branch: MAIN
Changes since 1.8: +9 -19 lines
Diff to previous 1.8 (colored)

Introduce the bad_addr() family of functions.

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.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Feb 21 18:40:56 2016 UTC (8 years, 3 months ago) by renato
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

Several minor tweaks.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Feb 21 18:38:37 2016 UTC (8 years, 3 months ago) by renato
Branch: MAIN
Changes since 1.6: +15 -15 lines
Diff to previous 1.6 (colored)

Make eigrpd work against newer IOS routers.

Different versions of IOS can use a different number of bytes to encode
the same IPv6 prefix inside route TLVs. This sucks but we have to deal
with it.  Instead of calculating the number of bytes based on the value
of the prefixlen field, let's get this number by subtracting the size
of all other fields from the total size of the TLV. It works because
all the other fields have a fixed length.

For reference, the EIGRP draft says that length of the prefix field
should be obtained according to this function:

((Bit Count - 1) / 8) + 1

But older IOS versions use this for IPv6 (obtained through reverse
engineering):

((Bit Count == 128) ? 16 : ((Bit Count / 8) + 1))

Now, the new IOS-XR apparently uses the first formula for both IPv4 and
IPv6. With this patch, eigrpd will work against both older and newer
versions of IOS.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Jan 15 12:29:29 2016 UTC (8 years, 4 months ago) by renato
Branch: MAIN
Changes since 1.5: +32 -26 lines
Diff to previous 1.5 (colored)

Split TLV constants into subcomponents to simplify the code.

Revision 1.5 / (download) - annotate - [select for diffs], Wed Oct 21 03:48:09 2015 UTC (8 years, 7 months ago) by renato
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

Minor fixes and code cleanup.

Revision 1.4 / (download) - annotate - [select for diffs], Mon Oct 5 01:59:33 2015 UTC (8 years, 8 months ago) by renato
Branch: MAIN
Changes since 1.3: +11 -3 lines
Diff to previous 1.3 (colored)

When the SIA state is declared for a given destination, reset the
adjacency with the unresponsive neighbor(s).

Revision 1.3 / (download) - annotate - [select for diffs], Sun Oct 4 23:08:57 2015 UTC (8 years, 8 months ago) by renato
Branch: MAIN
Changes since 1.2: +18 -9 lines
Diff to previous 1.2 (colored)

Ignore IPv4 TLVs in IPv6 instances and vice-versa.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Oct 4 23:00:10 2015 UTC (8 years, 8 months ago) by renato
Branch: MAIN
Changes since 1.1: +8 -8 lines
Diff to previous 1.1 (colored)

Fix warnings and add safeguards to protect against corrupted data.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Oct 2 04:26:47 2015 UTC (8 years, 8 months ago) by renato
Branch: MAIN

Welcome eigrpd

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@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.