Rename variable and structure names.

This commit is contained in:
gamemann
2021-11-12 16:58:14 +00:00
parent 90a79e0338
commit 2d9138b8d9
3 changed files with 56 additions and 56 deletions

View File

@@ -10,7 +10,7 @@
FILE *file; FILE *file;
void setcfgdefaults(struct config_map *cfg) void setcfgdefaults(struct config *cfg)
{ {
cfg->updateTime = 0; cfg->updateTime = 0;
cfg->interface = "eth0"; cfg->interface = "eth0";
@@ -93,7 +93,7 @@ int opencfg(const char *FileName)
return 0; return 0;
} }
int readcfg(struct config_map *cfg) int readcfg(struct config *cfg)
{ {
// Not sure why this would be set to NULL after checking for it in OpenConfig(), but just for safety. // Not sure why this would be set to NULL after checking for it in OpenConfig(), but just for safety.
if (file == NULL) if (file == NULL)

View File

@@ -2,7 +2,7 @@
#include "xdpfw.h" #include "xdpfw.h"
struct config_map struct config
{ {
char *interface; char *interface;
uint16_t updateTime; uint16_t updateTime;
@@ -10,6 +10,6 @@ struct config_map
struct filter filters[MAX_FILTERS]; struct filter filters[MAX_FILTERS];
}; };
void setcfgdefaults(struct config_map *cfg); void setcfgdefaults(struct config *cfg);
int opencfg(const char *FileName); int opencfg(const char *FileName);
int readcfg(struct config_map *cfg); int readcfg(struct config *cfg);

View File

@@ -31,7 +31,7 @@ void signalHndl(int tmp)
cont = 0; cont = 0;
} }
void updatefilters(struct config_map *conf) void updatefilters(struct config *cfg)
{ {
// Loop through all filters and delete the map. // Loop through all filters and delete the map.
for (uint8_t i = 0; i < MAX_FILTERS; i++) for (uint8_t i = 0; i < MAX_FILTERS; i++)
@@ -45,38 +45,38 @@ void updatefilters(struct config_map *conf)
for (uint32_t i = 0; i < MAX_FILTERS; i++) for (uint32_t i = 0; i < MAX_FILTERS; i++)
{ {
// Check if we have a valid ID. // Check if we have a valid ID.
if (conf->filters[i].id < 1) if (cfg->filters[i].id < 1)
{ {
break; break;
} }
// Attempt to update BPF map. // Attempt to update BPF map.
if (bpf_map_update_elem(filter_map_fd, &i, &conf->filters[i], BPF_ANY) == -1) if (bpf_map_update_elem(filter_map_fd, &i, &cfg->filters[i], BPF_ANY) == -1)
{ {
fprintf(stderr, "Error updating BPF item #%d\n", i); fprintf(stderr, "Error updating BPF item #%d\n", i);
} }
} }
} }
int updateconfig(struct config_map *conf, char *configFile) int updateconfig(struct config *cfg, char *cfgfile)
{ {
// Open config file. // Open config file.
if (opencfg(configFile) != 0) if (opencfg(cfgfile) != 0)
{ {
fprintf(stderr, "Error opening filters file: %s\n", configFile); fprintf(stderr, "Error opening filters file: %s\n", cfgfile);
return -1; return -1;
} }
setcfgdefaults(conf); setcfgdefaults(cfg);
for (uint16_t i = 0; i < MAX_FILTERS; i++) for (uint16_t i = 0; i < MAX_FILTERS; i++)
{ {
conf->filters[i] = (struct filter) {0}; cfg->filters[i] = (struct filter) {0};
} }
// Read config and check for errors. // Read config and check for errors.
if (readcfg(conf) != 0) if (readcfg(cfg) != 0)
{ {
fprintf(stderr, "Error reading filters file.\n"); fprintf(stderr, "Error reading filters file.\n");
@@ -265,27 +265,27 @@ int main(int argc, char *argv[])
} }
// Initialize config. // Initialize config.
struct config_map *conf = malloc(sizeof(struct config_map)); struct config cfg = {0};
setcfgdefaults(conf); setcfgdefaults(&cfg);
// Create last updated variable. // Create last updated variable.
time_t lastUpdated = time(NULL); time_t lastUpdated = time(NULL);
time_t statsLastUpdated = time(NULL); time_t statsLastUpdated = time(NULL);
// Update config. // Update config.
updateconfig(conf, cmd.cfgfile); updateconfig(&cfg, cmd.cfgfile);
// Check for list option. // Check for list option.
if (cmd.list) if (cmd.list)
{ {
fprintf(stdout, "Details:\n"); fprintf(stdout, "Details:\n");
fprintf(stdout, "Interface Name => %s\n", conf->interface); fprintf(stdout, "Interface Name => %s\n", cfg.interface);
fprintf(stdout, "Update Time => %" PRIu16 "\n", conf->updateTime); fprintf(stdout, "Update Time => %" PRIu16 "\n", cfg.updateTime);
for (uint16_t i = 0; i < MAX_FILTERS; i++) for (uint16_t i = 0; i < MAX_FILTERS; i++)
{ {
if (conf->filters[i].id < 1) if (cfg.filters[i].id < 1)
{ {
break; break;
} }
@@ -293,49 +293,49 @@ int main(int argc, char *argv[])
fprintf(stdout, "Filter #%" PRIu16 ":\n", (i + 1)); fprintf(stdout, "Filter #%" PRIu16 ":\n", (i + 1));
// Main. // Main.
fprintf(stdout, "ID => %d\n", conf->filters[i].id); fprintf(stdout, "ID => %d\n", cfg.filters[i].id);
fprintf(stdout, "Enabled => %" PRIu8 "\n", conf->filters[i].enabled); fprintf(stdout, "Enabled => %" PRIu8 "\n", cfg.filters[i].enabled);
fprintf(stdout, "Action => %" PRIu8 " (0 = Block, 1 = Allow).\n", conf->filters[i].action); fprintf(stdout, "Action => %" PRIu8 " (0 = Block, 1 = Allow).\n", cfg.filters[i].action);
// IP addresses. // IP addresses.
struct sockaddr_in sin; struct sockaddr_in sin;
sin.sin_addr.s_addr = conf->filters[i].srcIP; sin.sin_addr.s_addr = cfg.filters[i].srcIP;
fprintf(stdout, "Source IP => %s\n", inet_ntoa(sin.sin_addr)); fprintf(stdout, "Source IP => %s\n", inet_ntoa(sin.sin_addr));
struct sockaddr_in din; struct sockaddr_in din;
din.sin_addr.s_addr = conf->filters[i].dstIP; din.sin_addr.s_addr = cfg.filters[i].dstIP;
fprintf(stdout, "Destination IP => %s\n", inet_ntoa(din.sin_addr)); fprintf(stdout, "Destination IP => %s\n", inet_ntoa(din.sin_addr));
// Other IP header information. // Other IP header information.
fprintf(stdout, "Max Length => %" PRIu16 "\n", conf->filters[i].max_len); fprintf(stdout, "Max Length => %" PRIu16 "\n", cfg.filters[i].max_len);
fprintf(stdout, "Min Length => %" PRIu16 "\n", conf->filters[i].min_len); fprintf(stdout, "Min Length => %" PRIu16 "\n", cfg.filters[i].min_len);
fprintf(stdout, "Max TTL => %" PRIu8 "\n", conf->filters[i].max_ttl); fprintf(stdout, "Max TTL => %" PRIu8 "\n", cfg.filters[i].max_ttl);
fprintf(stdout, "Min TTL => %" PRIu8 "\n", conf->filters[i].min_ttl); fprintf(stdout, "Min TTL => %" PRIu8 "\n", cfg.filters[i].min_ttl);
fprintf(stdout, "TOS => %" PRIu8 "\n", conf->filters[i].tos); fprintf(stdout, "TOS => %" PRIu8 "\n", cfg.filters[i].tos);
fprintf(stdout, "PPS => %" PRIu64 "\n", conf->filters[i].pps); fprintf(stdout, "PPS => %" PRIu64 "\n", cfg.filters[i].pps);
fprintf(stdout, "BPS => %" PRIu64 "\n\n", conf->filters[i].bps); fprintf(stdout, "BPS => %" PRIu64 "\n\n", cfg.filters[i].bps);
fprintf(stdout, "Block Time => %" PRIu64 "\n\n", conf->filters[i].blockTime); fprintf(stdout, "Block Time => %" PRIu64 "\n\n", cfg.filters[i].blockTime);
// TCP Options. // TCP Options.
fprintf(stdout, "TCP Enabled => %" PRIu8 "\n", conf->filters[i].tcpopts.enabled); fprintf(stdout, "TCP Enabled => %" PRIu8 "\n", cfg.filters[i].tcpopts.enabled);
fprintf(stdout, "TCP Source Port => %" PRIu16 "\n", conf->filters[i].tcpopts.sport); fprintf(stdout, "TCP Source Port => %" PRIu16 "\n", cfg.filters[i].tcpopts.sport);
fprintf(stdout, "TCP Destination Port => %" PRIu16 "\n", conf->filters[i].tcpopts.dport); fprintf(stdout, "TCP Destination Port => %" PRIu16 "\n", cfg.filters[i].tcpopts.dport);
fprintf(stdout, "TCP URG Flag => %" PRIu8 "\n", conf->filters[i].tcpopts.urg); fprintf(stdout, "TCP URG Flag => %" PRIu8 "\n", cfg.filters[i].tcpopts.urg);
fprintf(stdout, "TCP ACK Flag => %" PRIu8 "\n", conf->filters[i].tcpopts.ack); fprintf(stdout, "TCP ACK Flag => %" PRIu8 "\n", cfg.filters[i].tcpopts.ack);
fprintf(stdout, "TCP RST Flag => %" PRIu8 "\n", conf->filters[i].tcpopts.rst); fprintf(stdout, "TCP RST Flag => %" PRIu8 "\n", cfg.filters[i].tcpopts.rst);
fprintf(stdout, "TCP PSH Flag => %" PRIu8 "\n", conf->filters[i].tcpopts.psh); fprintf(stdout, "TCP PSH Flag => %" PRIu8 "\n", cfg.filters[i].tcpopts.psh);
fprintf(stdout, "TCP SYN Flag => %" PRIu8 "\n", conf->filters[i].tcpopts.syn); fprintf(stdout, "TCP SYN Flag => %" PRIu8 "\n", cfg.filters[i].tcpopts.syn);
fprintf(stdout, "TCP FIN Flag => %" PRIu8 "\n\n", conf->filters[i].tcpopts.fin); fprintf(stdout, "TCP FIN Flag => %" PRIu8 "\n\n", cfg.filters[i].tcpopts.fin);
// UDP Options. // UDP Options.
fprintf(stdout, "UDP Enabled => %" PRIu8 "\n", conf->filters[i].udpopts.enabled); fprintf(stdout, "UDP Enabled => %" PRIu8 "\n", cfg.filters[i].udpopts.enabled);
fprintf(stdout, "UDP Source Port => %" PRIu16 "\n", conf->filters[i].udpopts.sport); fprintf(stdout, "UDP Source Port => %" PRIu16 "\n", cfg.filters[i].udpopts.sport);
fprintf(stdout, "UDP Destination Port => %" PRIu16 "\n\n", conf->filters[i].udpopts.dport); fprintf(stdout, "UDP Destination Port => %" PRIu16 "\n\n", cfg.filters[i].udpopts.dport);
// ICMP Options. // ICMP Options.
fprintf(stdout, "ICMP Enabled => %" PRIu8 "\n", conf->filters[i].icmpopts.enabled); fprintf(stdout, "ICMP Enabled => %" PRIu8 "\n", cfg.filters[i].icmpopts.enabled);
fprintf(stdout, "ICMP Code => %" PRIu8 "\n", conf->filters[i].icmpopts.code); fprintf(stdout, "ICMP Code => %" PRIu8 "\n", cfg.filters[i].icmpopts.code);
fprintf(stdout, "ICMP Type => %" PRIu8 "\n", conf->filters[i].icmpopts.type); fprintf(stdout, "ICMP Type => %" PRIu8 "\n", cfg.filters[i].icmpopts.type);
fprintf(stdout, "\n\n"); fprintf(stdout, "\n\n");
} }
@@ -346,9 +346,9 @@ int main(int argc, char *argv[])
// Get device. // Get device.
int ifidx; int ifidx;
if ((ifidx = if_nametoindex(conf->interface)) < 0) if ((ifidx = if_nametoindex(cfg.interface)) < 0)
{ {
fprintf(stderr, "Error finding device %s.\n", conf->interface); fprintf(stderr, "Error finding device %s.\n", cfg.interface);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
@@ -393,7 +393,7 @@ int main(int argc, char *argv[])
} }
// Update BPF maps. // Update BPF maps.
updatefilters(conf); updatefilters(&cfg);
// Signal. // Signal.
signal(SIGINT, signalHndl); signal(SIGINT, signalHndl);
@@ -407,20 +407,20 @@ int main(int argc, char *argv[])
time_t curTime = time(NULL); time_t curTime = time(NULL);
// Check for auto-update. // Check for auto-update.
if (conf->updateTime > 0 && (curTime - lastUpdated) > conf->updateTime) if (cfg.updateTime > 0 && (curTime - lastUpdated) > cfg.updateTime)
{ {
// Update config. // Update config.
updateconfig(conf, cmd.cfgfile); updateconfig(&cfg, cmd.cfgfile);
// Update BPF maps. // Update BPF maps.
updatefilters(conf); updatefilters(&cfg);
// Update last updated variable. // Update last updated variable.
lastUpdated = time(NULL); lastUpdated = time(NULL);
} }
// Update stats. // Update stats.
if ((curTime - statsLastUpdated) > 2 && !conf->nostats) if ((curTime - statsLastUpdated) > 2 && !cfg.nostats)
{ {
uint32_t key = 0; uint32_t key = 0;
struct xdpfw_stats stats[cpus]; struct xdpfw_stats stats[cpus];
@@ -449,7 +449,7 @@ int main(int argc, char *argv[])
attachxdp(ifidx, -1, &cmd); attachxdp(ifidx, -1, &cmd);
// Free config. // Free config.
free(conf); free(&cfg);
// Add spacing. // Add spacing.
fprintf(stdout, "\n"); fprintf(stdout, "\n");