summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorSander Vrijders <[email protected]>2016-06-05 16:49:32 +0200
committerSander Vrijders <[email protected]>2016-06-14 14:05:28 +0200
commitaeb53fcd725fe291afa6ffb683373c8e589afa64 (patch)
tree3f9840107501dc98472406dadfa16eba860ca61b /src/lib
parenta76b638a370cd0cdd087ec780e6b1f8d18bac66d (diff)
downloadouroboros-aeb53fcd725fe291afa6ffb683373c8e589afa64.tar.gz
ouroboros-aeb53fcd725fe291afa6ffb683373c8e589afa64.zip
ipcpd: Adds a shim over IEEE 802.2 over IEEE 802.3
This adds a shim over LLC over Ethernet. It uses the raw socket API to send messages directly over an interface.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dif_config.proto2
-rw-r--r--src/lib/ipcp.c2
-rw-r--r--src/lib/irm.c3
3 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/dif_config.proto b/src/lib/dif_config.proto
index 05b35ea7..dbdf19e5 100644
--- a/src/lib/dif_config.proto
+++ b/src/lib/dif_config.proto
@@ -14,4 +14,6 @@ message dif_config_msg {
// Config for shim UDP
optional uint32 ip_addr = 12;
optional uint32 dns_addr = 13;
+ // Config for the shim Ethernet LLC
+ optional string if_name = 14;
} \ No newline at end of file
diff --git a/src/lib/ipcp.c b/src/lib/ipcp.c
index ec681f9e..0d75b73e 100644
--- a/src/lib/ipcp.c
+++ b/src/lib/ipcp.c
@@ -125,6 +125,8 @@ pid_t ipcp_create(char * ipcp_name,
exec_name = IPCP_NORMAL_EXEC;
else if (ipcp_type == IPCP_SHIM_UDP)
exec_name = IPCP_SHIM_UDP_EXEC;
+ else if (ipcp_type == IPCP_SHIM_ETH_LLC)
+ exec_name = IPCP_SHIM_ETH_LLC_EXEC;
else if (ipcp_type == IPCP_LOCAL)
exec_name = IPCP_LOCAL_EXEC;
else
diff --git a/src/lib/irm.c b/src/lib/irm.c
index cff5a76a..6bd16576 100644
--- a/src/lib/irm.c
+++ b/src/lib/irm.c
@@ -139,6 +139,9 @@ int irm_bootstrap_ipcp(instance_name_t * api,
break;
case IPCP_LOCAL:
break;
+ case IPCP_SHIM_ETH_LLC:
+ config.if_name = conf->if_name;
+ break;
default:
return -1;
}