Deleted Added
full compact
1/* $FreeBSD: head/contrib/pf/pfctl/pfctl.c 126355 2004-02-28 17:32:53Z mlaier $ */
2/* $OpenBSD: pfctl.c,v 1.188 2003/08/29 21:47:36 cedric Exp $ */
3
4/*
5 * Copyright (c) 2001 Daniel Hartmeier
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

--- 22 unchanged lines hidden (view full) ---

32 */
33
34#include <sys/types.h>
35#include <sys/ioctl.h>
36#include <sys/socket.h>
37
38#include <net/if.h>
39#include <netinet/in.h>
40#if defined(__FreeBSD__)
41#include <inttypes.h>
42#include <net/route.h>
43#else
44#define PRIu64 "llu"
45#endif
46#include <net/pfvar.h>
47#include <arpa/inet.h>
48#include <altq/altq.h>
49
50#include <err.h>
51#include <errno.h>
52#include <fcntl.h>
53#include <limits.h>

--- 142 unchanged lines hidden (view full) ---

196}
197
198int
199pfctl_enable(int dev, int opts)
200{
201 if (ioctl(dev, DIOCSTART)) {
202 if (errno == EEXIST)
203 errx(1, "pf already enabled");
204#if defined(__FreeBSD__)
205 else if (errno == ESRCH)
206 errx(1, "pfil registeration failed");
207#endif
208 else
209 err(1, "DIOCSTART");
210 }
211 if ((opts & PF_OPT_QUIET) == 0)
212 fprintf(stderr, "pf enabled\n");
213
214 if (altqsupport && ioctl(dev, DIOCSTARTALTQ))
215 if (errno != EEXIST)

--- 333 unchanged lines hidden (view full) ---

549 printf("%u ", rule->skip[i].nr);
550 }
551 printf("]\n");
552
553 printf(" [ queue: qname=%s qid=%u pqname=%s pqid=%u ]\n",
554 rule->qname, rule->qid, rule->pqname, rule->pqid);
555 }
556 if (opts & PF_OPT_VERBOSE)
546 printf(" [ Evaluations: %-8llu Packets: %-8llu "
547 "Bytes: %-10llu States: %-6u]\n",
557 printf(" [ Evaluations: %-8"PRIu64" Packets: %-8"PRIu64" "
558 "Bytes: %-10"PRIu64" States: %-6u]\n",
559 rule->evaluations, rule->packets,
560 rule->bytes, rule->states);
561}
562
563int
564pfctl_show_rules(int dev, int opts, int format, char *anchorname,
565 char *rulesetname)
566{

--- 47 unchanged lines hidden (view full) ---

614 if (pfctl_get_pool(dev, &pr.rule.rpool,
615 nr, pr.ticket, PF_SCRUB, anchorname, rulesetname) != 0)
616 return (-1);
617
618 switch (format) {
619 case 1:
620 if (pr.rule.label[0]) {
621 printf("%s ", pr.rule.label);
611 printf("%llu %llu %llu\n",
622 printf("%"PRIu64" %"PRIu64" %"PRIu64"\n",
623 pr.rule.evaluations, pr.rule.packets,
624 pr.rule.bytes);
625 }
626 break;
627 default:
628 print_rule(&pr.rule, rule_numbers);
629 pfctl_print_rule_counters(&pr.rule, opts);
630 }

--- 15 unchanged lines hidden (view full) ---

646 if (pfctl_get_pool(dev, &pr.rule.rpool,
647 nr, pr.ticket, PF_PASS, anchorname, rulesetname) != 0)
648 return (-1);
649
650 switch (format) {
651 case 1:
652 if (pr.rule.label[0]) {
653 printf("%s ", pr.rule.label);
643 printf("%llu %llu %llu\n",
654 printf("%"PRIu64" %"PRIu64" %"PRIu64"\n",
655 pr.rule.evaluations, pr.rule.packets,
656 pr.rule.bytes);
657 }
658 break;
659 default:
660 print_rule(&pr.rule, rule_numbers);
661 pfctl_print_rule_counters(&pr.rule, opts);
662 }

--- 565 unchanged lines hidden (view full) ---

1228 if ((opts & PF_OPT_QUIET) == 0)
1229 fprintf(stderr, "pf: rule counters cleared\n");
1230 return (0);
1231}
1232
1233int
1234pfctl_test_altqsupport(int dev, int opts)
1235{
1236#if defined(__FreeBSD__) && !defined(ENABLE_ALTQ)
1237 return (0);
1238#else
1239 struct pfioc_altq pa;
1240
1241 if (ioctl(dev, DIOCGETALTQS, &pa)) {
1242 if (errno == ENODEV) {
1243 if (!(opts & PF_OPT_QUIET))
1244 fprintf(stderr, "No ALTQ support in kernel\n"
1245 "ALTQ related functions disabled\n");
1246 return (0);
1247 } else
1248 err(1, "DIOCGETALTQS");
1249 }
1250 return (1);
1251#endif
1252}
1253
1254int
1255pfctl_show_anchors(int dev, int opts, char *anchorname)
1256{
1257 u_int32_t nr, mnr;
1258
1259 if (!*anchorname) {

--- 226 unchanged lines hidden (view full) ---

1486 dev = open("/dev/pf", mode);
1487 if (dev == -1)
1488 err(1, "/dev/pf");
1489 altqsupport = pfctl_test_altqsupport(dev, opts);
1490 } else {
1491 /* turn off options */
1492 opts &= ~ (PF_OPT_DISABLE | PF_OPT_ENABLE);
1493 clearopt = showopt = debugopt = NULL;
1494#if defined(__FreeBSD__) && !defined(ENABLE_ALTQ)
1495 altqsupport = 0;
1496#else
1497 altqsupport = 1;
1498#endif
1499 }
1500
1501 if (opts & PF_OPT_DISABLE)
1502 if (pfctl_disable(dev, opts))
1503 error = 1;
1504
1505 if (showopt != NULL) {
1506 switch (*showopt) {

--- 139 unchanged lines hidden ---