summaryrefslogtreecommitdiffstats
path: root/extensions/libebt_arp.c
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2018-11-03 23:43:49 +0100
committerFlorian Westphal <fw@strlen.de>2018-11-07 20:08:15 +0100
commit7bd9febf65e98eb1f4b4d51afa2479c442066235 (patch)
tree016e65d6e7fc85cda5baa28837e8e0f2c2c93240 /extensions/libebt_arp.c
parenta10eb8861c8fdc8894a8c2f6baf4dd791d5ab4f0 (diff)
libxtables: add and use mac print helpers
This changes ebtables-nft to consistently print mac address with two characters, i.e. 00:01:02:03:04:0a, not 0:1:2:3:4:a. Will require another bump of vcurrent/vage. Suggested-by: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'extensions/libebt_arp.c')
-rw-r--r--extensions/libebt_arp.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/extensions/libebt_arp.c b/extensions/libebt_arp.c
index 522c57c0..a062b7e7 100644
--- a/extensions/libebt_arp.c
+++ b/extensions/libebt_arp.c
@@ -332,15 +332,6 @@ brarp_parse(int c, char **argv, int invert, unsigned int *flags,
return 1;
}
-static void brarp_print_mac_and_mask(const unsigned char *mac, const unsigned char *mask)
-{
- char hlpmsk[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
-
- printf("%s", ether_ntoa((struct ether_addr *) mac));
- if (memcmp(mask, hlpmsk, 6))
- printf("/%s", ether_ntoa((struct ether_addr *) mask));
-}
-
static void brarp_print(const void *ip, const struct xt_entry_match *match, int numeric)
{
const struct ebt_arp_info *arpinfo = (struct ebt_arp_info *)match->data;
@@ -385,14 +376,14 @@ static void brarp_print(const void *ip, const struct xt_entry_match *match, int
printf("--arp-mac-src ");
if (arpinfo->invflags & EBT_ARP_SRC_MAC)
printf("! ");
- brarp_print_mac_and_mask(arpinfo->smaddr, arpinfo->smmsk);
+ xtables_print_mac_and_mask(arpinfo->smaddr, arpinfo->smmsk);
printf(" ");
}
if (arpinfo->bitmask & EBT_ARP_DST_MAC) {
printf("--arp-mac-dst ");
if (arpinfo->invflags & EBT_ARP_DST_MAC)
printf("! ");
- brarp_print_mac_and_mask(arpinfo->dmaddr, arpinfo->dmmsk);
+ xtables_print_mac_and_mask(arpinfo->dmaddr, arpinfo->dmmsk);
printf(" ");
}
if (arpinfo->bitmask & EBT_ARP_GRAT) {