50 lines
1.5 KiB
Text
50 lines
1.5 KiB
Text
|
RTA_IFP removal: https://github.com/fgont/ipv6toolkit/pull/52
|
||
|
|
||
|
Other chunks: fix with -fno-common
|
||
|
https://github.com/fgont/ipv6toolkit/commit/2bde90f3845234490549640dc6ed5712d84969ba
|
||
|
|
||
|
Index: tools/libipv6.c
|
||
|
--- tools/libipv6.c.orig
|
||
|
+++ tools/libipv6.c
|
||
|
@@ -66,13 +66,9 @@
|
||
|
|
||
|
|
||
|
/* IPv6 Address Resolution */
|
||
|
-sigjmp_buf env;
|
||
|
-unsigned int canjump;
|
||
|
+static sigjmp_buf env;
|
||
|
+static unsigned int canjump;
|
||
|
|
||
|
-/* pcap variables */
|
||
|
-char errbuf[PCAP_ERRBUF_SIZE];
|
||
|
-struct bpf_program pcap_filter;
|
||
|
-
|
||
|
#ifdef __linux__
|
||
|
/* Netlink requests */
|
||
|
struct nlrequest{
|
||
|
@@ -517,6 +513,7 @@ int ether_pton(const char *ascii, struct ether_addr *e
|
||
|
|
||
|
int find_ipv6_router_full(pcap_t *pfd, struct iface_data *idata){
|
||
|
struct pcap_pkthdr *pkthdr;
|
||
|
+ struct bpf_program pcap_filter;
|
||
|
const u_char *pktdata;
|
||
|
struct ether_header *pkt_ether;
|
||
|
struct ip6_hdr *pkt_ipv6;
|
||
|
@@ -2815,7 +2812,7 @@ int sel_next_hop(struct iface_data *idata){
|
||
|
rtm->rtm_msglen= sizeof(struct rt_msghdr) + sizeof(struct sockaddr_in6);
|
||
|
rtm->rtm_version= RTM_VERSION;
|
||
|
rtm->rtm_type= RTM_GET;
|
||
|
- rtm->rtm_addrs= RTA_DST | RTA_IFP;
|
||
|
+ rtm->rtm_addrs= RTA_DST;
|
||
|
rtm->rtm_pid= pid= getpid();
|
||
|
rtm->rtm_seq= seq= random();
|
||
|
|
||
|
@@ -4233,6 +4230,7 @@ int find_ipv6_router(pcap_t *pfd, struct ether_addr *h
|
||
|
struct ether_addr *result_ether, struct in6_addr *result_ipv6){
|
||
|
|
||
|
struct pcap_pkthdr *pkthdr;
|
||
|
+ struct bpf_program pcap_filter;
|
||
|
const u_char *pktdata;
|
||
|
struct ether_header *pkt_ether;
|
||
|
struct ip6_hdr *pkt_ipv6;
|