mirror of
https://github.com/bgp/bgpq4.git
synced 2024-05-11 05:55:05 +00:00
-4 option added. Thanks to Martin J. Levy.
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,3 +1,7 @@
|
||||
CVS/
|
||||
Makefile
|
||||
config.h
|
||||
*.o
|
||||
bgpq3
|
||||
config.log
|
||||
config.status
|
||||
|
4
CHANGES
4
CHANGES
@@ -1,5 +1,7 @@
|
||||
0.1.20 (2013-10-07)
|
||||
0.1.20-todo (2013-10-07)
|
||||
- socket close code fixed. Thanks to Martin J. Levy.
|
||||
- new flag -4, "force ipv4". Actually does a little more than allowing
|
||||
for pedantic checks. Thanks to Martin J. Levy.
|
||||
|
||||
0.1.19 (2013-05-09)
|
||||
- CLANG compilation issues fixed.
|
||||
|
@@ -34,6 +34,10 @@ The options are as follows:
|
||||
|
||||
> assume that your device is asn32-capable.
|
||||
|
||||
- -4
|
||||
|
||||
> generate IPv4 prefix/access-lists (default).
|
||||
|
||||
- -6
|
||||
|
||||
> generate IPv6 prefix/access-lists (IPv4 by default).
|
||||
|
6
bgpq3.8
6
bgpq3.8
@@ -1,4 +1,4 @@
|
||||
.\" Copyright (c) 2007-2011 Alexandre Snarskii
|
||||
.\" Copyright (c) 2007-2013 Alexandre Snarskii
|
||||
.\" All rights reserved.
|
||||
.\"
|
||||
.\" Redistribution and use in source and binary forms, with or without
|
||||
@@ -38,7 +38,7 @@
|
||||
.Fl f Ar asn |
|
||||
.Fl G Ar asn
|
||||
.Oc
|
||||
.Op Fl 36ADdJjX
|
||||
.Op Fl 346ADdJjX
|
||||
.Op Fl R Ar len
|
||||
.Op Fl m Ar max
|
||||
.Ar OBJECTS
|
||||
@@ -53,6 +53,8 @@ The options are as follows:
|
||||
.Bl -tag -width Ds
|
||||
.It Fl 3
|
||||
assume that your device is asn32-safe.
|
||||
.It Fl 4
|
||||
generate IPv4 prefix/access-lists (default).
|
||||
.It Fl 6
|
||||
generate IPv6 prefix/access-lists (IPv4 by default).
|
||||
.It Fl A
|
||||
|
22
bgpq3.c
22
bgpq3.c
@@ -24,8 +24,9 @@ int
|
||||
usage(int ecode)
|
||||
{
|
||||
printf("\nUsage: bgpq3 [-h host] [-S sources] [-P|E|G <num>|f <num>]"
|
||||
" [-36ADJjXd] [-R len] <OBJECTS>...\n");
|
||||
" [-346ADJjXd] [-R len] <OBJECTS>...\n");
|
||||
printf(" -3 : assume that your device is asn32-safe\n");
|
||||
printf(" -4 : generate IPv4 prefix-lists (default)\n");
|
||||
printf(" -6 : generate IPv6 prefix-lists (IPv4 by default)\n");
|
||||
printf(" -A : try to aggregate Cisco prefix-lists or Juniper "
|
||||
"route-filters\n as much as possible\n");
|
||||
@@ -112,19 +113,32 @@ main(int argc, char* argv[])
|
||||
{
|
||||
int c;
|
||||
struct bgpq_expander expander;
|
||||
int af=AF_INET;
|
||||
int af=AF_INET, selectedipv4 = 0;
|
||||
int widthSet=0, aggregate=0, refine=0;
|
||||
unsigned long maxlen=0;
|
||||
|
||||
bgpq_expander_init(&expander,af);
|
||||
expander.sources=getenv("IRRD_SOURCES");
|
||||
|
||||
while((c=getopt(argc,argv,"36AdDES:jJf:l:m:M:W:PR:G:Th:X"))!=EOF) {
|
||||
while((c=getopt(argc,argv,"346AdDES:jJf:l:m:M:W:PR:G:Th:X"))!=EOF) {
|
||||
switch(c) {
|
||||
case '3':
|
||||
expander.asn32=1;
|
||||
break;
|
||||
case '6': af=AF_INET6;
|
||||
case '4':
|
||||
/* do nothing, expander already configured for IPv4 */
|
||||
if (expander.family == AF_INET6) {
|
||||
sx_report(SX_FATAL, "-4 and -6 are mutually exclusive\n");
|
||||
exit(1);
|
||||
};
|
||||
selectedipv4=1;
|
||||
break;
|
||||
case '6':
|
||||
if (selectedipv4) {
|
||||
sx_report(SX_FATAL, "-4 and -6 are mutually exclusive\n");
|
||||
exit(1);
|
||||
};
|
||||
af=AF_INET6;
|
||||
expander.family=AF_INET6;
|
||||
expander.tree->family=AF_INET6;
|
||||
break;
|
||||
|
Reference in New Issue
Block a user