summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorOndrej Zajicek <santiago@crfreenet.org>2009-08-27 18:25:46 +0200
committerOndrej Zajicek <santiago@crfreenet.org>2009-08-27 18:25:46 +0200
commit061ab802a67cfc336785f6daeecdcbd4910734ed (patch)
treea3815a619b1e3e553638e4aad6508757e5bc6f7a /lib
parentb49e6f5a65d437cb7e7bdefe8397e0f550496012 (diff)
downloadbird-061ab802a67cfc336785f6daeecdcbd4910734ed.tar
bird-061ab802a67cfc336785f6daeecdcbd4910734ed.zip
Temporary OSPFv3 development commit
Diffstat (limited to 'lib')
-rw-r--r--lib/ipv6.c54
-rw-r--r--lib/ipv6.h3
2 files changed, 3 insertions, 54 deletions
diff --git a/lib/ipv6.c b/lib/ipv6.c
index 3334b97..88c54eb 100644
--- a/lib/ipv6.c
+++ b/lib/ipv6.c
@@ -136,60 +136,6 @@ ipv6_compare(ip_addr X, ip_addr Y)
return 0;
}
-/* From Linux include/net/ipv6.h */
-#define NEXTHDR_HOP 0 /* Hop-by-hop option header. */
-#define NEXTHDR_ROUTING 43 /* Routing header. */
-#define NEXTHDR_FRAGMENT 44 /* Fragmentation/reassembly header. */
-#define NEXTHDR_DEST 60 /* Destination options header. */
-#define NEXTHDR_NONE 59 /* No next header */
-
-#define NEXTHDR_ESP 50 /* Encapsulating security payload. */
-#define NEXTHDR_AUTH 51 /* Authentication header. */
-
-
-byte *
-ipv6_skip_header(byte *pkt, int *len)
-{
- int l = *len;
- int q;
- u8 nh;
-
- if (l < 40 || (*pkt & 0xf0) != 0x60)
- return NULL;
-
- /* Skip IPv6 header */
- nh = pkt[6];
- pkt += 40;
-
- while ()
- {
- switch (nw)
- {
- case NEXTHDR_FRAGMENT:
-
- case NEXTHDR_HOP:
- case NEXTHDR_ROUTING:
- case NEXTHDR_DEST:
-
- case NEXTHDR_AUTH:
- break;
-
- case NEXTHDR_NONE:
- return NULL;
-
- default:
- return pkt;
- }
- }
-
- q = (*pkt & 0x0f) * 4;
- if (q > l)
- return NULL;
- *len -= q;
- return pkt + q;
-}
-
-
/*
* Conversion of IPv6 address to presentation format and vice versa.
* Heavily inspired by routines written by Paul Vixie for the BIND project
diff --git a/lib/ipv6.h b/lib/ipv6.h
index d2b77c0..592e57c 100644
--- a/lib/ipv6.h
+++ b/lib/ipv6.h
@@ -69,6 +69,9 @@ typedef struct ipv6_addr {
#define ipa_getbit(x, y) ipv6_getbit(x, y)
#define ipa_absolutize(x,y) ipv6_absolutize(x,y)
+/* In IPv6, SOCK_RAW does not return packet header */
+#define ip_skip_header(x, y) x
+
ip_addr ipv6_mkmask(unsigned);
unsigned ipv6_mklen(ip_addr *);
int ipv6_classify(ip_addr *);