summaryrefslogtreecommitdiff
path: root/src/ipcpd/eth/dix.c
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri.staessens@ugent.be>2018-03-10 10:09:08 +0100
committerSander Vrijders <sander.vrijders@ugent.be>2018-03-10 13:16:06 +0100
commit2936dd5e4232f7d7d9c720d89bb4a696abcd1830 (patch)
treee4d755789542da32c1720636bc1065a3a6b62c74 /src/ipcpd/eth/dix.c
parent9b6fdc1c2abe85008610063d800edf80e5011a4d (diff)
downloadouroboros-2936dd5e4232f7d7d9c720d89bb4a696abcd1830.tar.gz
ouroboros-2936dd5e4232f7d7d9c720d89bb4a696abcd1830.zip
ipcpd: Add IPCP over DIX Ethernet
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 <dimitri.staessens@ugent.be> Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
Diffstat (limited to 'src/ipcpd/eth/dix.c')
-rw-r--r--src/ipcpd/eth/dix.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/ipcpd/eth/dix.c b/src/ipcpd/eth/dix.c
new file mode 100644
index 00000000..dfa92ea3
--- /dev/null
+++ b/src/ipcpd/eth/dix.c
@@ -0,0 +1,26 @@
+/*
+ * Ouroboros - Copyright (C) 2016 - 2018
+ *
+ * IPC processes over Ethernet - DIX
+ *
+ * Dimitri Staessens <dimitri.staessens@ugent.be>
+ * Sander Vrijders <sander.vrijders@ugent.be>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., http://www.fsf.org/about/contact/.
+ */
+
+#define BUILD_ETH_DIX
+#define OUROBOROS_PREFIX "ipcpd/eth-dix"
+
+#include "eth.c"