<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ouroboros/src, branch 0.10.7</title>
<subtitle>Ouroboros main repository</subtitle>
<id>https://ouroboros.rocks/cgit/ouroboros/atom?h=0.10.7</id>
<link rel='self' href='https://ouroboros.rocks/cgit/ouroboros/atom?h=0.10.7'/>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/'/>
<updated>2018-03-16T12:44:08+00:00</updated>
<entry>
<title>ipcpd: Fix reading LSAs in link-state policy</title>
<updated>2018-03-16T12:44:08+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-16T12:07:15+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=a6a83171d5c7d09301ffd52ac9ea5c67758714ee'/>
<id>urn:sha1:a6a83171d5c7d09301ffd52ac9ea5c67758714ee</id>
<content type='text'>
The read buffer had the exact length of a link-state message. With the
partial read implemented, we should then do another read() to check if
there are more parts of the message (which will return 0). To avoid
the additional read() call every time, the buffer was extended by 1
byte.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib: Simplify some code in rdrbuff</title>
<updated>2018-03-16T12:38:06+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-16T12:07:14+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=67729ef3efaa7925816a82688744c8c5c29f4ce3'/>
<id>urn:sha1:67729ef3efaa7925816a82688744c8c5c29f4ce3</id>
<content type='text'>
This simplifies some functions in the rdrbuff.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>tools: Use non-blocking read in servers</title>
<updated>2018-03-16T11:05:40+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-15T20:14:41+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=4e775400564cc02b51978dc2671c126ff8da5e9d'/>
<id>urn:sha1:4e775400564cc02b51978dc2671c126ff8da5e9d</id>
<content type='text'>
The oping and ocbr servers were using non-blocking read/writes. This
caused writes to fail on high-performance tests if the buffer got
full, instead of waiting for a slot in the buffer. The write failure
caused the server to quit. This fixes the tools by setting the I/O to
blocking write and non-blocking read.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib: Use sequenced datagrams with UNIX sockets</title>
<updated>2018-03-13T16:08:52+00:00</updated>
<author>
<name>Sander Vrijders</name>
<email>sander.vrijders@ugent.be</email>
</author>
<published>2018-03-13T16:00:26+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=7602d165397aae3fc83e3a7b1efe1c0df2044572'/>
<id>urn:sha1:7602d165397aae3fc83e3a7b1efe1c0df2044572</id>
<content type='text'>
The UNIX sockets were using SOCK_STREAM, which does not preserve the
message boundaries. This switches to SOCK_SEQPACKET.

Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib: Allow partial read</title>
<updated>2018-03-12T17:39:15+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-12T16:27:10+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=e03dedf0a4c40ceeb063f95777bc99628a980ec9'/>
<id>urn:sha1:e03dedf0a4c40ceeb063f95777bc99628a980ec9</id>
<content type='text'>
This implements partial read of packets if the buffer supplied to
flow_read() is smaller than the packet in the buffer. If the number of
bytes returned by flow_read equals the size of the buffer, the next
read() will deliver the next bytes of the packet (or 0 if the packet
was exactly the size of the buffer on the previous read).

Implements #7.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib: Implement timeout on blocking write</title>
<updated>2018-03-12T09:32:24+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-11T13:28:49+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=9bf0d277416c342a8a9e0b2017b2b10f1d093245'/>
<id>urn:sha1:9bf0d277416c342a8a9e0b2017b2b10f1d093245</id>
<content type='text'>
This completes the implementation of the SNDTIMEO for a blocking
write.

Fixes #6.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>ipcpd: Add validity checks for eth-dix</title>
<updated>2018-03-12T09:32:17+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-11T09:30:30+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=6a4151baa8231cdaf746761fd8dc4aacb895c9e5'/>
<id>urn:sha1:6a4151baa8231cdaf746761fd8dc4aacb895c9e5</id>
<content type='text'>
This will check if the Ethertype value is a valid Ethertype in the irm
tool and the eth-dix IPCPd.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>ipcpd: Add length field to eth-dix</title>
<updated>2018-03-10T21:14:01+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-10T18:42:57+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=103e9d80b2970b4e8fc1f45d3bf48d95b8937d6a'/>
<id>urn:sha1:103e9d80b2970b4e8fc1f45d3bf48d95b8937d6a</id>
<content type='text'>
Some NICs added padding to the Ethernet II frames causing bad frame
lengths and GPB unpack fails. This adds a 2-byte length field to the
DIX frame to circumvent this.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>ipcpd: Add IPCP over DIX Ethernet</title>
<updated>2018-03-10T12:16:06+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-10T09:09:08+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=2936dd5e4232f7d7d9c720d89bb4a696abcd1830'/>
<id>urn:sha1:2936dd5e4232f7d7d9c720d89bb4a696abcd1830</id>
<content type='text'>
This adds an IPC Process that uses DIX Ethernet with an Ethertype that
is configurable at bootstrap. This allows parallel DIX layers over the
same Ethernet network with different Ethertypes (and one LLC
layer). It allows jumbo frames in the future, and should avoid the
problems we have with some routers not handling LLC traffic very
well. The destination endpoint ID is sent as a 16 bit integer, so the
maximum payload is 1498 bytes in standard Ethernet, and 8998 bytes
when Jumbo frames are used.

The implementation is very similar to the Ethernet LLC IPCP, so it is
implemented using preprocessor macros in the single source instead of
duplicating code.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
<entry>
<title>lib: Use PTHREAD_COND_CLOCK for blocking reads</title>
<updated>2018-03-10T12:01:23+00:00</updated>
<author>
<name>Dimitri Staessens</name>
<email>dimitri.staessens@ugent.be</email>
</author>
<published>2018-03-10T10:53:31+00:00</published>
<link rel='alternate' type='text/html' href='https://ouroboros.rocks/cgit/ouroboros/commit/?id=9b6fdc1c2abe85008610063d800edf80e5011a4d'/>
<id>urn:sha1:9b6fdc1c2abe85008610063d800edf80e5011a4d</id>
<content type='text'>
The rbuff uses the PTHREAD_COND_CLOCK for its condition variables, but
the flow_read was passing a time it got from the CLOCK_REALTIME_COARSE
clock. This causes the blocking reads not to timeout correctly.

The oping was updated to detect server timeouts and finish gracefully.

Signed-off-by: Dimitri Staessens &lt;dimitri.staessens@ugent.be&gt;
Signed-off-by: Sander Vrijders &lt;sander.vrijders@ugent.be&gt;
</content>
</entry>
</feed>
