]> git.puffer.fish Git - matthieu/frr.git/commitdiff
isis: use descriptor polling instead of time
authorRafael Zalamena <rzalamena@opensourcerouting.org>
Wed, 7 Feb 2018 18:26:25 +0000 (16:26 -0200)
committerRafael Zalamena <rzalamena@opensourcerouting.org>
Mon, 19 Mar 2018 16:18:19 +0000 (13:18 -0300)
Allow other supported Operating Systems (OS) to use file descriptor
polling, instead of doing timed fd checks. This should improve
performance greatly on modern OSes (e.g. that support polling on
filtered sockets).

The known OS that doesn't support this is FreeBSD < 5.0, but even then
FRR doesn't compile in these versions. OSes using DLPI method (e.g
Solaris) does not support select()/poll()ing fds as well, so it will be
disabled for it.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
(cherry picked from commit b0dd98e79854d27595390946166503064ccd7d4f)

isisd/isis_circuit.c

index 57265513dc53a20d4808ec336e879f5eae05306c..98087942a670bcddfb03d8462da30cb3c59f4955 100644 (file)
@@ -557,7 +557,7 @@ void isis_circuit_stream(struct isis_circuit *circuit, struct stream **stream)
 
 void isis_circuit_prepare(struct isis_circuit *circuit)
 {
-#ifdef GNU_LINUX
+#if ISIS_METHOD != ISIS_METHOD_DLPI
        thread_add_read(master, isis_receive, circuit, circuit->fd,
                        &circuit->t_read);
 #else