Skip to content

Commit

Permalink
uhh, carpdev wasn't removed from openbsd
Browse files Browse the repository at this point in the history
  • Loading branch information
yellowman committed May 6, 2021
1 parent 5b79036 commit 214cc61
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 0 deletions.
42 changes: 42 additions & 0 deletions carp.c
Expand Up @@ -423,3 +423,45 @@ carp_state(int s, char *ifname)

return(0);
}

int
intcdev(char *ifname, int ifs, int argc, char **argv)
{
struct ifreq ifr;
struct carpreq creq;
int set;

if (NO_ARG(argv[0])) {
set = 0;
argc--;
argv++;
} else
set = 1;

argc--;
argv++;

if ((!set && argc > 1) || (set && argc != 1)) {
printf("%% carpdev <carpdev>\n");
printf("%% no carpdev\n");
return (0);
}

bzero((char *) &creq, sizeof(struct carpreq));
ifr.ifr_data = (caddr_t) & creq;
strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name));

if (ioctl(ifs, SIOCGVH, (caddr_t) & ifr) == -1) {
printf("%% intcdev: SIOCGVH: %s\n", strerror(errno));
return (0);
}
if (set)
strlcpy(creq.carpr_carpdev, argv[0], sizeof(creq.carpr_carpdev));
else
bzero((char *)&creq.carpr_carpdev, sizeof(creq.carpr_carpdev));

if (ioctl(ifs, SIOCSVH, (caddr_t) & ifr) == -1)
printf("%% intcdev: SIOCSVH: %s\n", strerror(errno));

return (0);
}
1 change: 1 addition & 0 deletions commands.c
Expand Up @@ -532,6 +532,7 @@ struct intlist Intlist[] = {
{ "advbase", "CARP advertisement interval", CMPL0 0, 0, intcarp },
{ "advskew", "CARP advertisement skew", CMPL0 0, 0, intcarp },
{ "carppass", "CARP passphrase", CMPL0 0, 0, intcpass },
{ "carpdev", "CARP device", CMPL(i) 0, 0, intcdev },
{ "carpnode", "CARP additional vhid/advskew", CMPL0 0, 0, intcnode },
{ "carppeer", "CARP peer", CMPL0 0, 0, intcarp },
{ "balancing", "CARP balancing mode", CMPL0 0, 0, intcarp },
Expand Down
1 change: 1 addition & 0 deletions externs.h
Expand Up @@ -489,6 +489,7 @@ int intcpass(char *, int, int, char **);
int intcnode(char *, int, int, char **);
int conf_carp(FILE *, int, char *);
int carp_state(int, char *);
int intcdev(char *, int, int, char **);

/* trunk.c */
int inttrunkport(char *, int, int, char **);
Expand Down

0 comments on commit 214cc61

Please sign in to comment.