27 #include <netinet/in.h>
28 #include <sys/socket.h>
34 #include <hicn/util/ip_address.h>
39 #define SYMBOLIC_NAME_LEN 16
40 #define MAX_FWD_STRATEGY_RELATED_PREFIXES 10
42 typedef struct in6_addr ipv6_addr_t;
43 typedef uint32_t ipv4_addr_t;
74 CONNECTION_SET_ADMIN_STATE,
80 CONNECTION_SET_PRIORITY,
101 typedef enum { ACTIVATE_ON, ACTIVATE_OFF } activate_type;
117 typedef enum { ETHER_MODE, IP_MODE, HICN_MODE } listener_mode;
120 char symbolic[SYMBOLIC_NAME_LEN];
121 char interfaceName[SYMBOLIC_NAME_LEN];
126 uint8_t listenerMode;
127 uint8_t connectionType;
135 char symbolic[SYMBOLIC_NAME_LEN];
142 uint8_t connectionType;
161 } list_connections_type;
173 char interfaceName[SYMBOLIC_NAME_LEN];
174 char connectionName[SYMBOLIC_NAME_LEN];
182 char symbolicOrConnid[SYMBOLIC_NAME_LEN];
205 char symbolicOrConnid[SYMBOLIC_NAME_LEN];
210 char symbolicOrListenerid[SYMBOLIC_NAME_LEN];
218 char symbolicOrConnid[SYMBOLIC_NAME_LEN];
245 SET_STRATEGY_LOADBALANCER,
247 SET_STRATEGY_LOW_LATENCY,
253 uint8_t strategyType;
256 uint8_t related_prefixes;
257 ip_address_t addresses[MAX_FWD_STRATEGY_RELATED_PREFIXES];
258 uint8_t lens[MAX_FWD_STRATEGY_RELATED_PREFIXES];
259 uint8_t addresses_type[MAX_FWD_STRATEGY_RELATED_PREFIXES];
267 char symbolicOrConnid[SYMBOLIC_NAME_LEN];
276 char symbolicOrConnid[SYMBOLIC_NAME_LEN];
288 char listenerName[SYMBOLIC_NAME_LEN];
289 char interfaceName[SYMBOLIC_NAME_LEN];
321 char symbolicOrConnid[SYMBOLIC_NAME_LEN];
333 } add_policy_command;
340 } list_policies_command;
346 } remove_policy_command;
349 char symbolicOrConnid[SYMBOLIC_NAME_LEN];
353 } update_connection_command;
356 char symbolicOrConnid[SYMBOLIC_NAME_LEN];
358 } connection_set_priority_command;
361 char symbolicOrConnid[SYMBOLIC_NAME_LEN];
363 } connection_set_tags_command;
370 static inline int payloadLengthDaemon(command_id
id) {
376 case LIST_CONNECTIONS:
382 case REMOVE_CONNECTION:
384 case REMOVE_LISTENER:
404 case MAPME_DISCOVERY:
406 case MAPME_TIMESCALE:
410 case MAPME_SEND_UPDATE:
412 case CONNECTION_SET_ADMIN_STATE:
416 return sizeof(add_policy_command);
420 return sizeof(remove_policy_command);
421 case UPDATE_CONNECTION:
422 return sizeof(update_connection_command);
423 case CONNECTION_SET_PRIORITY:
424 return sizeof(connection_set_priority_command);
425 case CONNECTION_SET_TAGS:
426 return sizeof(connection_set_tags_command);
428 case LAST_COMMAND_VALUE: