mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-11-08 12:18:42 +00:00
unsigned [int] -> uint
This commit is contained in:
parent
e348ef01b4
commit
ae80a2de95
@ -38,7 +38,7 @@ static struct cmd_node cmd_root;
|
|||||||
void
|
void
|
||||||
cmd_build_tree(void)
|
cmd_build_tree(void)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
uint i;
|
||||||
|
|
||||||
cmd_root.plastson = &cmd_root.son;
|
cmd_root.plastson = &cmd_root.son;
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ void cfg_copy_list(list *dest, list *src, unsigned node_size);
|
|||||||
|
|
||||||
/* Lexer */
|
/* Lexer */
|
||||||
|
|
||||||
extern int (*cf_read_hook)(byte *buf, unsigned int max, int fd);
|
extern int (*cf_read_hook)(byte *buf, uint max, int fd);
|
||||||
|
|
||||||
struct symbol {
|
struct symbol {
|
||||||
struct symbol *next;
|
struct symbol *next;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
* representation consists of @n ones followed by zeroes.
|
* representation consists of @n ones followed by zeroes.
|
||||||
*/
|
*/
|
||||||
u32
|
u32
|
||||||
u32_mkmask(unsigned n)
|
u32_mkmask(uint n)
|
||||||
{
|
{
|
||||||
return n ? ~((1 << (32 - n)) - 1) : 0;
|
return n ? ~((1 << (32 - n)) - 1) : 0;
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
* u32_masklen Inverse operation to u32_mkmask, -1 if not a bitmask.
|
* u32_masklen Inverse operation to u32_mkmask, -1 if not a bitmask.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
u32 u32_mkmask(unsigned n);
|
u32 u32_mkmask(uint n);
|
||||||
int u32_masklen(u32 x);
|
int u32_masklen(u32 x);
|
||||||
|
|
||||||
u32 u32_log2(u32 v);
|
u32 u32_log2(u32 v);
|
||||||
|
@ -28,7 +28,7 @@ add32(u32 sum, u32 x)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static u16
|
static u16
|
||||||
ipsum_calc_block(u32 *buf, unsigned len, u16 isum)
|
ipsum_calc_block(u32 *buf, uint len, u16 isum)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* A few simple facts about the IP checksum (see RFC 1071 for detailed
|
* A few simple facts about the IP checksum (see RFC 1071 for detailed
|
||||||
@ -57,7 +57,7 @@ ipsum_calc_block(u32 *buf, unsigned len, u16 isum)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static u16
|
static u16
|
||||||
ipsum_calc(void *frag, unsigned len, va_list args)
|
ipsum_calc(void *frag, uint len, va_list args)
|
||||||
{
|
{
|
||||||
u16 sum = 0;
|
u16 sum = 0;
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ ipsum_calc(void *frag, unsigned len, va_list args)
|
|||||||
frag = va_arg(args, void *);
|
frag = va_arg(args, void *);
|
||||||
if (!frag)
|
if (!frag)
|
||||||
break;
|
break;
|
||||||
len = va_arg(args, unsigned);
|
len = va_arg(args, uint);
|
||||||
}
|
}
|
||||||
return sum;
|
return sum;
|
||||||
}
|
}
|
||||||
@ -87,7 +87,7 @@ ipsum_calc(void *frag, unsigned len, va_list args)
|
|||||||
* Result: 1 if the checksum is correct, 0 else.
|
* Result: 1 if the checksum is correct, 0 else.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
ipsum_verify(void *frag, unsigned len, ...)
|
ipsum_verify(void *frag, uint len, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
u16 sum;
|
u16 sum;
|
||||||
@ -110,7 +110,7 @@ ipsum_verify(void *frag, unsigned len, ...)
|
|||||||
* up checksum calculation as much as possible.
|
* up checksum calculation as much as possible.
|
||||||
*/
|
*/
|
||||||
u16
|
u16
|
||||||
ipsum_calculate(void *frag, unsigned len, ...)
|
ipsum_calculate(void *frag, uint len, ...)
|
||||||
{
|
{
|
||||||
va_list args;
|
va_list args;
|
||||||
u16 sum;
|
u16 sum;
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
* fragments finished by NULL pointer.
|
* fragments finished by NULL pointer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int ipsum_verify(void *frag, unsigned len, ...);
|
int ipsum_verify(void *frag, uint len, ...);
|
||||||
u16 ipsum_calculate(void *frag, unsigned len, ...);
|
u16 ipsum_calculate(void *frag, uint len, ...);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
4
lib/ip.h
4
lib/ip.h
@ -471,11 +471,11 @@ int ip6_pton(char *a, ip6_addr *o);
|
|||||||
#define ipa_in_net(x,n,p) (ipa_zero(ipa_and(ipa_xor((n),(x)),ipa_mkmask(p))))
|
#define ipa_in_net(x,n,p) (ipa_zero(ipa_and(ipa_xor((n),(x)),ipa_mkmask(p))))
|
||||||
#define net_in_net(n1,l1,n2,l2) (((l1) >= (l2)) && (ipa_zero(ipa_and(ipa_xor((n1),(n2)),ipa_mkmask(l2)))))
|
#define net_in_net(n1,l1,n2,l2) (((l1) >= (l2)) && (ipa_zero(ipa_and(ipa_xor((n1),(n2)),ipa_mkmask(l2)))))
|
||||||
|
|
||||||
char *ip_scope_text(unsigned);
|
char *ip_scope_text(uint);
|
||||||
|
|
||||||
struct prefix {
|
struct prefix {
|
||||||
ip_addr addr;
|
ip_addr addr;
|
||||||
unsigned int len;
|
uint len;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
struct lp_chunk {
|
struct lp_chunk {
|
||||||
struct lp_chunk *next;
|
struct lp_chunk *next;
|
||||||
unsigned int size;
|
uint size;
|
||||||
uintptr_t data_align[0];
|
uintptr_t data_align[0];
|
||||||
byte data[0];
|
byte data[0];
|
||||||
};
|
};
|
||||||
@ -37,7 +37,7 @@ struct linpool {
|
|||||||
byte *ptr, *end;
|
byte *ptr, *end;
|
||||||
struct lp_chunk *first, *current, **plast; /* Normal (reusable) chunks */
|
struct lp_chunk *first, *current, **plast; /* Normal (reusable) chunks */
|
||||||
struct lp_chunk *first_large; /* Large chunks */
|
struct lp_chunk *first_large; /* Large chunks */
|
||||||
unsigned chunk_size, threshold, total, total_large;
|
uint chunk_size, threshold, total, total_large;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void lp_free(resource *);
|
static void lp_free(resource *);
|
||||||
@ -64,7 +64,7 @@ static struct resclass lp_class = {
|
|||||||
* @blk.
|
* @blk.
|
||||||
*/
|
*/
|
||||||
linpool
|
linpool
|
||||||
*lp_new(pool *p, unsigned blk)
|
*lp_new(pool *p, uint blk)
|
||||||
{
|
{
|
||||||
linpool *m = ralloc(p, &lp_class);
|
linpool *m = ralloc(p, &lp_class);
|
||||||
m->plast = &m->first;
|
m->plast = &m->first;
|
||||||
@ -88,7 +88,7 @@ linpool
|
|||||||
* size chunk, an "overflow" chunk is created for it instead.
|
* size chunk, an "overflow" chunk is created for it instead.
|
||||||
*/
|
*/
|
||||||
void *
|
void *
|
||||||
lp_alloc(linpool *m, unsigned size)
|
lp_alloc(linpool *m, uint size)
|
||||||
{
|
{
|
||||||
byte *a = (byte *) BIRD_ALIGN((unsigned long) m->ptr, CPU_STRUCT_ALIGN);
|
byte *a = (byte *) BIRD_ALIGN((unsigned long) m->ptr, CPU_STRUCT_ALIGN);
|
||||||
byte *e = a + size;
|
byte *e = a + size;
|
||||||
@ -146,7 +146,7 @@ lp_alloc(linpool *m, unsigned size)
|
|||||||
* how to allocate strings without any space overhead.
|
* how to allocate strings without any space overhead.
|
||||||
*/
|
*/
|
||||||
void *
|
void *
|
||||||
lp_allocu(linpool *m, unsigned size)
|
lp_allocu(linpool *m, uint size)
|
||||||
{
|
{
|
||||||
byte *a = m->ptr;
|
byte *a = m->ptr;
|
||||||
byte *e = a + size;
|
byte *e = a + size;
|
||||||
@ -168,7 +168,7 @@ lp_allocu(linpool *m, unsigned size)
|
|||||||
* clears the allocated memory block.
|
* clears the allocated memory block.
|
||||||
*/
|
*/
|
||||||
void *
|
void *
|
||||||
lp_allocz(linpool *m, unsigned size)
|
lp_allocz(linpool *m, uint size)
|
||||||
{
|
{
|
||||||
void *z = lp_alloc(m, size);
|
void *z = lp_alloc(m, size);
|
||||||
|
|
||||||
|
@ -355,7 +355,7 @@ int bvsnprintf(char *buf, int size, const char *fmt, va_list args)
|
|||||||
} else if (flags & SIGN)
|
} else if (flags & SIGN)
|
||||||
num = va_arg(args, int);
|
num = va_arg(args, int);
|
||||||
else
|
else
|
||||||
num = va_arg(args, unsigned int);
|
num = va_arg(args, uint);
|
||||||
str = number(str, num, base, field_width, precision, flags, size);
|
str = number(str, num, base, field_width, precision, flags, size);
|
||||||
if (!str)
|
if (!str)
|
||||||
return -1;
|
return -1;
|
||||||
|
12
lib/slab.c
12
lib/slab.c
@ -51,7 +51,7 @@ static size_t slab_memsize(resource *r);
|
|||||||
|
|
||||||
struct slab {
|
struct slab {
|
||||||
resource r;
|
resource r;
|
||||||
unsigned size;
|
uint size;
|
||||||
list objs;
|
list objs;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ struct sl_obj {
|
|||||||
};
|
};
|
||||||
|
|
||||||
slab *
|
slab *
|
||||||
sl_new(pool *p, unsigned size)
|
sl_new(pool *p, uint size)
|
||||||
{
|
{
|
||||||
slab *s = ralloc(p, &sl_class);
|
slab *s = ralloc(p, &sl_class);
|
||||||
s->size = size;
|
s->size = size;
|
||||||
@ -144,7 +144,7 @@ slab_memsize(resource *r)
|
|||||||
|
|
||||||
struct slab {
|
struct slab {
|
||||||
resource r;
|
resource r;
|
||||||
unsigned obj_size, head_size, objs_per_slab, num_empty_heads, data_size;
|
uint obj_size, head_size, objs_per_slab, num_empty_heads, data_size;
|
||||||
list empty_heads, partial_heads, full_heads;
|
list empty_heads, partial_heads, full_heads;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -185,10 +185,10 @@ struct sl_alignment { /* Magic structure for testing of alignment */
|
|||||||
* objects of size @size can be allocated.
|
* objects of size @size can be allocated.
|
||||||
*/
|
*/
|
||||||
slab *
|
slab *
|
||||||
sl_new(pool *p, unsigned size)
|
sl_new(pool *p, uint size)
|
||||||
{
|
{
|
||||||
slab *s = ralloc(p, &sl_class);
|
slab *s = ralloc(p, &sl_class);
|
||||||
unsigned int align = sizeof(struct sl_alignment);
|
uint align = sizeof(struct sl_alignment);
|
||||||
if (align < sizeof(int))
|
if (align < sizeof(int))
|
||||||
align = sizeof(int);
|
align = sizeof(int);
|
||||||
s->data_size = size;
|
s->data_size = size;
|
||||||
@ -214,7 +214,7 @@ sl_new_head(slab *s)
|
|||||||
struct sl_head *h = xmalloc(SLAB_SIZE);
|
struct sl_head *h = xmalloc(SLAB_SIZE);
|
||||||
struct sl_obj *o = (struct sl_obj *)((byte *)h+s->head_size);
|
struct sl_obj *o = (struct sl_obj *)((byte *)h+s->head_size);
|
||||||
struct sl_obj *no;
|
struct sl_obj *no;
|
||||||
unsigned int n = s->objs_per_slab;
|
uint n = s->objs_per_slab;
|
||||||
|
|
||||||
h->first_free = o;
|
h->first_free = o;
|
||||||
h->num_full = 0;
|
h->num_full = 0;
|
||||||
|
14
lib/socket.h
14
lib/socket.h
@ -20,7 +20,7 @@ typedef struct birdsock {
|
|||||||
int type; /* Socket type */
|
int type; /* Socket type */
|
||||||
void *data; /* User data */
|
void *data; /* User data */
|
||||||
ip_addr saddr, daddr; /* IPA_NONE = unspecified */
|
ip_addr saddr, daddr; /* IPA_NONE = unspecified */
|
||||||
unsigned sport, dport; /* 0 = unspecified (for IP: protocol type) */
|
uint sport, dport; /* 0 = unspecified (for IP: protocol type) */
|
||||||
int tos; /* TOS / traffic class, -1 = default */
|
int tos; /* TOS / traffic class, -1 = default */
|
||||||
int priority; /* Local socket priority, -1 = default */
|
int priority; /* Local socket priority, -1 = default */
|
||||||
int ttl; /* Time To Live, -1 = default */
|
int ttl; /* Time To Live, -1 = default */
|
||||||
@ -28,20 +28,20 @@ typedef struct birdsock {
|
|||||||
struct iface *iface; /* Interface; specify this for broad/multicast sockets */
|
struct iface *iface; /* Interface; specify this for broad/multicast sockets */
|
||||||
|
|
||||||
byte *rbuf, *rpos; /* NULL=allocate automatically */
|
byte *rbuf, *rpos; /* NULL=allocate automatically */
|
||||||
unsigned rbsize;
|
uint rbsize;
|
||||||
int (*rx_hook)(struct birdsock *, int size); /* NULL=receiving turned off, returns 1 to clear rx buffer */
|
int (*rx_hook)(struct birdsock *, int size); /* NULL=receiving turned off, returns 1 to clear rx buffer */
|
||||||
|
|
||||||
byte *tbuf, *tpos; /* NULL=allocate automatically */
|
byte *tbuf, *tpos; /* NULL=allocate automatically */
|
||||||
byte *ttx; /* Internal */
|
byte *ttx; /* Internal */
|
||||||
unsigned tbsize;
|
uint tbsize;
|
||||||
void (*tx_hook)(struct birdsock *);
|
void (*tx_hook)(struct birdsock *);
|
||||||
|
|
||||||
void (*err_hook)(struct birdsock *, int); /* errno or zero if EOF */
|
void (*err_hook)(struct birdsock *, int); /* errno or zero if EOF */
|
||||||
|
|
||||||
/* Information about received datagrams (UDP, RAW), valid in rx_hook */
|
/* Information about received datagrams (UDP, RAW), valid in rx_hook */
|
||||||
ip_addr faddr, laddr; /* src (From) and dst (Local) address of the datagram */
|
ip_addr faddr, laddr; /* src (From) and dst (Local) address of the datagram */
|
||||||
unsigned fport; /* src port of the datagram */
|
uint fport; /* src port of the datagram */
|
||||||
unsigned lifindex; /* local interface that received the datagram */
|
uint lifindex; /* local interface that received the datagram */
|
||||||
/* laddr and lifindex are valid only if SKF_LADDR_RX flag is set to request it */
|
/* laddr and lifindex are valid only if SKF_LADDR_RX flag is set to request it */
|
||||||
|
|
||||||
int af; /* Address family (AF_INET, AF_INET6 or 0 for non-IP) of fd */
|
int af; /* Address family (AF_INET, AF_INET6 or 0 for non-IP) of fd */
|
||||||
@ -59,8 +59,8 @@ sock *sock_new(pool *); /* Allocate new socket */
|
|||||||
|
|
||||||
int sk_open(sock *); /* Open socket */
|
int sk_open(sock *); /* Open socket */
|
||||||
int sk_rx_ready(sock *s);
|
int sk_rx_ready(sock *s);
|
||||||
int sk_send(sock *, unsigned len); /* Send data, <0=err, >0=ok, 0=sleep */
|
int sk_send(sock *, uint len); /* Send data, <0=err, >0=ok, 0=sleep */
|
||||||
int sk_send_to(sock *, unsigned len, ip_addr to, unsigned port); /* sk_send to given destination */
|
int sk_send_to(sock *, uint len, ip_addr to, uint port); /* sk_send to given destination */
|
||||||
void sk_reallocate(sock *); /* Free and allocate tbuf & rbuf */
|
void sk_reallocate(sock *); /* Free and allocate tbuf & rbuf */
|
||||||
void sk_set_rbsize(sock *s, uint val); /* Resize RX buffer */
|
void sk_set_rbsize(sock *s, uint val); /* Resize RX buffer */
|
||||||
void sk_set_tbsize(sock *s, uint val); /* Resize TX buffer, keeping content */
|
void sk_set_tbsize(sock *s, uint val); /* Resize TX buffer, keeping content */
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
* Wherever possible, please use the memory resources instead.
|
* Wherever possible, please use the memory resources instead.
|
||||||
*/
|
*/
|
||||||
void *
|
void *
|
||||||
xmalloc(unsigned size)
|
xmalloc(uint size)
|
||||||
{
|
{
|
||||||
void *p = malloc(size);
|
void *p = malloc(size);
|
||||||
if (p)
|
if (p)
|
||||||
@ -44,7 +44,7 @@ xmalloc(unsigned size)
|
|||||||
* Wherever possible, please use the memory resources instead.
|
* Wherever possible, please use the memory resources instead.
|
||||||
*/
|
*/
|
||||||
void *
|
void *
|
||||||
xrealloc(void *ptr, unsigned size)
|
xrealloc(void *ptr, uint size)
|
||||||
{
|
{
|
||||||
void *p = realloc(ptr, size);
|
void *p = realloc(ptr, size);
|
||||||
if (p)
|
if (p)
|
||||||
|
@ -23,7 +23,7 @@ int h[65536];
|
|||||||
* = ((1-1/k)^k)^a which we can approximate by e^-a.
|
* = ((1-1/k)^k)^a which we can approximate by e^-a.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
unsigned int hf(unsigned int n)
|
uint hf(uint n)
|
||||||
{
|
{
|
||||||
#if 0
|
#if 0
|
||||||
n = (n ^ (n >> 16)) & 0xffff;
|
n = (n ^ (n >> 16)) & 0xffff;
|
||||||
@ -58,7 +58,7 @@ main(int argc, char **argv)
|
|||||||
|
|
||||||
while (max--)
|
while (max--)
|
||||||
{
|
{
|
||||||
unsigned int i, e;
|
uint i, e;
|
||||||
if (scanf("%x/%d", &i, &e) != 2)
|
if (scanf("%x/%d", &i, &e) != 2)
|
||||||
if (feof(stdin))
|
if (feof(stdin))
|
||||||
break;
|
break;
|
||||||
|
@ -124,7 +124,7 @@ as_path_convert_to_new(struct adata *path, byte *dst, int req_as)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
as_path_format(struct adata *path, byte *buf, unsigned int size)
|
as_path_format(struct adata *path, byte *buf, uint size)
|
||||||
{
|
{
|
||||||
byte *p = path->data;
|
byte *p = path->data;
|
||||||
byte *e = p + path->length;
|
byte *e = p + path->length;
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
* the buffer to indicate truncation.
|
* the buffer to indicate truncation.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
int_set_format(struct adata *set, int way, int from, byte *buf, unsigned int size)
|
int_set_format(struct adata *set, int way, int from, byte *buf, uint size)
|
||||||
{
|
{
|
||||||
u32 *z = (u32 *) set->data;
|
u32 *z = (u32 *) set->data;
|
||||||
byte *end = buf + size - 24;
|
byte *end = buf + size - 24;
|
||||||
@ -113,7 +113,7 @@ ec_format(byte *buf, u64 ec)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
ec_set_format(struct adata *set, int from, byte *buf, unsigned int size)
|
ec_set_format(struct adata *set, int from, byte *buf, uint size)
|
||||||
{
|
{
|
||||||
u32 *z = int_set_get_data(set);
|
u32 *z = int_set_get_data(set);
|
||||||
byte *end = buf + size - 24;
|
byte *end = buf + size - 24;
|
||||||
|
@ -30,7 +30,7 @@ struct f_tree;
|
|||||||
struct adata *as_path_prepend(struct linpool *pool, struct adata *olda, u32 as);
|
struct adata *as_path_prepend(struct linpool *pool, struct adata *olda, u32 as);
|
||||||
int as_path_convert_to_old(struct adata *path, byte *dst, int *new_used);
|
int as_path_convert_to_old(struct adata *path, byte *dst, int *new_used);
|
||||||
int as_path_convert_to_new(struct adata *path, byte *dst, int req_as);
|
int as_path_convert_to_new(struct adata *path, byte *dst, int req_as);
|
||||||
void as_path_format(struct adata *path, byte *buf, unsigned int size);
|
void as_path_format(struct adata *path, byte *buf, uint size);
|
||||||
int as_path_getlen(struct adata *path);
|
int as_path_getlen(struct adata *path);
|
||||||
int as_path_getlen_int(struct adata *path, int bs);
|
int as_path_getlen_int(struct adata *path, int bs);
|
||||||
int as_path_get_first(struct adata *path, u32 *orig_as);
|
int as_path_get_first(struct adata *path, u32 *orig_as);
|
||||||
@ -95,9 +95,9 @@ static inline u64 ec_ip4(u64 kind, u64 key, u64 val)
|
|||||||
static inline u64 ec_generic(u64 key, u64 val)
|
static inline u64 ec_generic(u64 key, u64 val)
|
||||||
{ return (key << 32) | val; }
|
{ return (key << 32) | val; }
|
||||||
|
|
||||||
int int_set_format(struct adata *set, int way, int from, byte *buf, unsigned int size);
|
int int_set_format(struct adata *set, int way, int from, byte *buf, uint size);
|
||||||
int ec_format(byte *buf, u64 ec);
|
int ec_format(byte *buf, u64 ec);
|
||||||
int ec_set_format(struct adata *set, int from, byte *buf, unsigned int size);
|
int ec_set_format(struct adata *set, int from, byte *buf, uint size);
|
||||||
int int_set_contains(struct adata *list, u32 val);
|
int int_set_contains(struct adata *list, u32 val);
|
||||||
int ec_set_contains(struct adata *list, u64 val);
|
int ec_set_contains(struct adata *list, u64 val);
|
||||||
struct adata *int_set_add(struct linpool *pool, struct adata *list, u32 val);
|
struct adata *int_set_add(struct linpool *pool, struct adata *list, u32 val);
|
||||||
|
10
nest/cli.c
10
nest/cli.c
@ -163,7 +163,7 @@ static void
|
|||||||
cli_copy_message(cli *c)
|
cli_copy_message(cli *c)
|
||||||
{
|
{
|
||||||
byte *p, *q;
|
byte *p, *q;
|
||||||
unsigned int cnt = 2;
|
uint cnt = 2;
|
||||||
|
|
||||||
if (c->ring_overflow)
|
if (c->ring_overflow)
|
||||||
{
|
{
|
||||||
@ -230,12 +230,12 @@ cli_written(cli *c)
|
|||||||
|
|
||||||
|
|
||||||
static byte *cli_rh_pos;
|
static byte *cli_rh_pos;
|
||||||
static unsigned int cli_rh_len;
|
static uint cli_rh_len;
|
||||||
static int cli_rh_trick_flag;
|
static int cli_rh_trick_flag;
|
||||||
struct cli *this_cli;
|
struct cli *this_cli;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
cli_cmd_read_hook(byte *buf, unsigned int max, UNUSED int fd)
|
cli_cmd_read_hook(byte *buf, uint max, UNUSED int fd)
|
||||||
{
|
{
|
||||||
if (!cli_rh_trick_flag)
|
if (!cli_rh_trick_flag)
|
||||||
{
|
{
|
||||||
@ -330,7 +330,7 @@ static list cli_log_hooks;
|
|||||||
static int cli_log_inited;
|
static int cli_log_inited;
|
||||||
|
|
||||||
void
|
void
|
||||||
cli_set_log_echo(cli *c, unsigned int mask, unsigned int size)
|
cli_set_log_echo(cli *c, uint mask, uint size)
|
||||||
{
|
{
|
||||||
if (c->ring_buf)
|
if (c->ring_buf)
|
||||||
{
|
{
|
||||||
@ -351,7 +351,7 @@ cli_set_log_echo(cli *c, unsigned int mask, unsigned int size)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
cli_echo(unsigned int class, byte *msg)
|
cli_echo(uint class, byte *msg)
|
||||||
{
|
{
|
||||||
unsigned len, free, i, l;
|
unsigned len, free, i, l;
|
||||||
cli *c;
|
cli *c;
|
||||||
|
12
nest/cli.h
12
nest/cli.h
@ -40,10 +40,10 @@ typedef struct cli {
|
|||||||
struct linpool *parser_pool; /* Pool used during parsing */
|
struct linpool *parser_pool; /* Pool used during parsing */
|
||||||
byte *ring_buf; /* Ring buffer for asynchronous messages */
|
byte *ring_buf; /* Ring buffer for asynchronous messages */
|
||||||
byte *ring_end, *ring_read, *ring_write; /* Pointers to the ring buffer */
|
byte *ring_end, *ring_read, *ring_write; /* Pointers to the ring buffer */
|
||||||
unsigned int ring_overflow; /* Counter of ring overflows */
|
uint ring_overflow; /* Counter of ring overflows */
|
||||||
unsigned int log_mask; /* Mask of allowed message levels */
|
uint log_mask; /* Mask of allowed message levels */
|
||||||
unsigned int log_threshold; /* When free < log_threshold, store only important messages */
|
uint log_threshold; /* When free < log_threshold, store only important messages */
|
||||||
unsigned int async_msg_size; /* Total size of async messages queued in tx_buf */
|
uint async_msg_size; /* Total size of async messages queued in tx_buf */
|
||||||
} cli;
|
} cli;
|
||||||
|
|
||||||
extern pool *cli_pool;
|
extern pool *cli_pool;
|
||||||
@ -55,7 +55,7 @@ extern struct cli *this_cli; /* Used during parsing */
|
|||||||
|
|
||||||
void cli_printf(cli *, int, char *, ...);
|
void cli_printf(cli *, int, char *, ...);
|
||||||
#define cli_msg(x...) cli_printf(this_cli, x)
|
#define cli_msg(x...) cli_printf(this_cli, x)
|
||||||
void cli_set_log_echo(cli *, unsigned int mask, unsigned int size);
|
void cli_set_log_echo(cli *, uint mask, uint size);
|
||||||
|
|
||||||
/* Functions provided to sysdep layer */
|
/* Functions provided to sysdep layer */
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ void cli_init(void);
|
|||||||
void cli_free(cli *);
|
void cli_free(cli *);
|
||||||
void cli_kick(cli *);
|
void cli_kick(cli *);
|
||||||
void cli_written(cli *);
|
void cli_written(cli *);
|
||||||
void cli_echo(unsigned int class, byte *msg);
|
void cli_echo(uint class, byte *msg);
|
||||||
|
|
||||||
static inline int cli_access_restricted(void)
|
static inline int cli_access_restricted(void)
|
||||||
{
|
{
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
static slab *neigh_slab;
|
static slab *neigh_slab;
|
||||||
static list sticky_neigh_list, neigh_hash_table[NEIGH_HASH_SIZE];
|
static list sticky_neigh_list, neigh_hash_table[NEIGH_HASH_SIZE];
|
||||||
|
|
||||||
static inline unsigned int
|
static inline uint
|
||||||
neigh_hash(struct proto *p, ip_addr *a)
|
neigh_hash(struct proto *p, ip_addr *a)
|
||||||
{
|
{
|
||||||
return (p->hash_key ^ ipa_hash(*a)) & (NEIGH_HASH_SIZE-1);
|
return (p->hash_key ^ ipa_hash(*a)) & (NEIGH_HASH_SIZE-1);
|
||||||
@ -126,7 +126,7 @@ neigh_find2(struct proto *p, ip_addr *a, struct iface *ifa, unsigned flags)
|
|||||||
{
|
{
|
||||||
neighbor *n;
|
neighbor *n;
|
||||||
int class, scope = -1;
|
int class, scope = -1;
|
||||||
unsigned int h = neigh_hash(p, a);
|
uint h = neigh_hash(p, a);
|
||||||
struct iface *i;
|
struct iface *i;
|
||||||
struct ifa *addr;
|
struct ifa *addr;
|
||||||
|
|
||||||
|
22
nest/proto.c
22
nest/proto.c
@ -1488,7 +1488,7 @@ proto_show_basic_info(struct proto *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
proto_cmd_show(struct proto *p, unsigned int verbose, int cnt)
|
proto_cmd_show(struct proto *p, uint verbose, int cnt)
|
||||||
{
|
{
|
||||||
byte buf[256], tbuf[TM_DATETIME_BUFFER_SIZE];
|
byte buf[256], tbuf[TM_DATETIME_BUFFER_SIZE];
|
||||||
|
|
||||||
@ -1524,7 +1524,7 @@ proto_cmd_show(struct proto *p, unsigned int verbose, int cnt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
proto_cmd_disable(struct proto *p, unsigned int arg UNUSED, int cnt UNUSED)
|
proto_cmd_disable(struct proto *p, uint arg UNUSED, int cnt UNUSED)
|
||||||
{
|
{
|
||||||
if (p->disabled)
|
if (p->disabled)
|
||||||
{
|
{
|
||||||
@ -1540,7 +1540,7 @@ proto_cmd_disable(struct proto *p, unsigned int arg UNUSED, int cnt UNUSED)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
proto_cmd_enable(struct proto *p, unsigned int arg UNUSED, int cnt UNUSED)
|
proto_cmd_enable(struct proto *p, uint arg UNUSED, int cnt UNUSED)
|
||||||
{
|
{
|
||||||
if (!p->disabled)
|
if (!p->disabled)
|
||||||
{
|
{
|
||||||
@ -1555,7 +1555,7 @@ proto_cmd_enable(struct proto *p, unsigned int arg UNUSED, int cnt UNUSED)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
proto_cmd_restart(struct proto *p, unsigned int arg UNUSED, int cnt UNUSED)
|
proto_cmd_restart(struct proto *p, uint arg UNUSED, int cnt UNUSED)
|
||||||
{
|
{
|
||||||
if (p->disabled)
|
if (p->disabled)
|
||||||
{
|
{
|
||||||
@ -1573,7 +1573,7 @@ proto_cmd_restart(struct proto *p, unsigned int arg UNUSED, int cnt UNUSED)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
proto_cmd_reload(struct proto *p, unsigned int dir, int cnt UNUSED)
|
proto_cmd_reload(struct proto *p, uint dir, int cnt UNUSED)
|
||||||
{
|
{
|
||||||
if (p->disabled)
|
if (p->disabled)
|
||||||
{
|
{
|
||||||
@ -1615,19 +1615,19 @@ proto_cmd_reload(struct proto *p, unsigned int dir, int cnt UNUSED)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
proto_cmd_debug(struct proto *p, unsigned int mask, int cnt UNUSED)
|
proto_cmd_debug(struct proto *p, uint mask, int cnt UNUSED)
|
||||||
{
|
{
|
||||||
p->debug = mask;
|
p->debug = mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
proto_cmd_mrtdump(struct proto *p, unsigned int mask, int cnt UNUSED)
|
proto_cmd_mrtdump(struct proto *p, uint mask, int cnt UNUSED)
|
||||||
{
|
{
|
||||||
p->mrtdump = mask;
|
p->mrtdump = mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
proto_apply_cmd_symbol(struct symbol *s, void (* cmd)(struct proto *, unsigned int, int), unsigned int arg)
|
proto_apply_cmd_symbol(struct symbol *s, void (* cmd)(struct proto *, uint, int), uint arg)
|
||||||
{
|
{
|
||||||
if (s->class != SYM_PROTO)
|
if (s->class != SYM_PROTO)
|
||||||
{
|
{
|
||||||
@ -1640,7 +1640,7 @@ proto_apply_cmd_symbol(struct symbol *s, void (* cmd)(struct proto *, unsigned i
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
proto_apply_cmd_patt(char *patt, void (* cmd)(struct proto *, unsigned int, int), unsigned int arg)
|
proto_apply_cmd_patt(char *patt, void (* cmd)(struct proto *, uint, int), uint arg)
|
||||||
{
|
{
|
||||||
int cnt = 0;
|
int cnt = 0;
|
||||||
|
|
||||||
@ -1660,8 +1660,8 @@ proto_apply_cmd_patt(char *patt, void (* cmd)(struct proto *, unsigned int, int)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
proto_apply_cmd(struct proto_spec ps, void (* cmd)(struct proto *, unsigned int, int),
|
proto_apply_cmd(struct proto_spec ps, void (* cmd)(struct proto *, uint, int),
|
||||||
int restricted, unsigned int arg)
|
int restricted, uint arg)
|
||||||
{
|
{
|
||||||
if (restricted && cli_access_restricted())
|
if (restricted && cli_access_restricted())
|
||||||
return;
|
return;
|
||||||
|
@ -261,15 +261,15 @@ void proto_graceful_restart_unlock(struct proto *p);
|
|||||||
void proto_show_limit(struct proto_limit *l, const char *dsc);
|
void proto_show_limit(struct proto_limit *l, const char *dsc);
|
||||||
void proto_show_basic_info(struct proto *p);
|
void proto_show_basic_info(struct proto *p);
|
||||||
|
|
||||||
void proto_cmd_show(struct proto *, unsigned int, int);
|
void proto_cmd_show(struct proto *, uint, int);
|
||||||
void proto_cmd_disable(struct proto *, unsigned int, int);
|
void proto_cmd_disable(struct proto *, uint, int);
|
||||||
void proto_cmd_enable(struct proto *, unsigned int, int);
|
void proto_cmd_enable(struct proto *, uint, int);
|
||||||
void proto_cmd_restart(struct proto *, unsigned int, int);
|
void proto_cmd_restart(struct proto *, uint, int);
|
||||||
void proto_cmd_reload(struct proto *, unsigned int, int);
|
void proto_cmd_reload(struct proto *, uint, int);
|
||||||
void proto_cmd_debug(struct proto *, unsigned int, int);
|
void proto_cmd_debug(struct proto *, uint, int);
|
||||||
void proto_cmd_mrtdump(struct proto *, unsigned int, int);
|
void proto_cmd_mrtdump(struct proto *, uint, int);
|
||||||
|
|
||||||
void proto_apply_cmd(struct proto_spec ps, void (* cmd)(struct proto *, unsigned int, int), int restricted, unsigned int arg);
|
void proto_apply_cmd(struct proto_spec ps, void (* cmd)(struct proto *, uint, int), int restricted, uint arg);
|
||||||
struct proto *proto_get_named(struct symbol *, struct protocol *);
|
struct proto *proto_get_named(struct symbol *, struct protocol *);
|
||||||
|
|
||||||
#define CMD_RELOAD 0
|
#define CMD_RELOAD 0
|
||||||
|
22
nest/route.h
22
nest/route.h
@ -47,7 +47,7 @@ struct fib_iterator { /* See lib/slists.h for an explanation */
|
|||||||
byte efef; /* 0xff to distinguish between iterator and node */
|
byte efef; /* 0xff to distinguish between iterator and node */
|
||||||
byte pad[3];
|
byte pad[3];
|
||||||
struct fib_node *node; /* Or NULL if freshly merged */
|
struct fib_node *node; /* Or NULL if freshly merged */
|
||||||
unsigned int hash;
|
uint hash;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef void (*fib_init_func)(struct fib_node *);
|
typedef void (*fib_init_func)(struct fib_node *);
|
||||||
@ -56,11 +56,11 @@ struct fib {
|
|||||||
pool *fib_pool; /* Pool holding all our data */
|
pool *fib_pool; /* Pool holding all our data */
|
||||||
slab *fib_slab; /* Slab holding all fib nodes */
|
slab *fib_slab; /* Slab holding all fib nodes */
|
||||||
struct fib_node **hash_table; /* Node hash table */
|
struct fib_node **hash_table; /* Node hash table */
|
||||||
unsigned int hash_size; /* Number of hash table entries (a power of two) */
|
uint hash_size; /* Number of hash table entries (a power of two) */
|
||||||
unsigned int hash_order; /* Binary logarithm of hash_size */
|
uint hash_order; /* Binary logarithm of hash_size */
|
||||||
unsigned int hash_shift; /* 16 - hash_log */
|
uint hash_shift; /* 16 - hash_log */
|
||||||
unsigned int entries; /* Number of entries */
|
uint entries; /* Number of entries */
|
||||||
unsigned int entries_min, entries_max;/* Entry count limits (else start rehashing) */
|
uint entries_min, entries_max; /* Entry count limits (else start rehashing) */
|
||||||
fib_init_func init; /* Constructor */
|
fib_init_func init; /* Constructor */
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ void fit_put(struct fib_iterator *, struct fib_node *);
|
|||||||
|
|
||||||
#define FIB_WALK(fib, z) do { \
|
#define FIB_WALK(fib, z) do { \
|
||||||
struct fib_node *z, **ff = (fib)->hash_table; \
|
struct fib_node *z, **ff = (fib)->hash_table; \
|
||||||
unsigned int count = (fib)->hash_size; \
|
uint count = (fib)->hash_size; \
|
||||||
while (count--) \
|
while (count--) \
|
||||||
for(z = *ff++; z; z=z->next)
|
for(z = *ff++; z; z=z->next)
|
||||||
|
|
||||||
@ -88,8 +88,8 @@ void fit_put(struct fib_iterator *, struct fib_node *);
|
|||||||
|
|
||||||
#define FIB_ITERATE_START(fib, it, z) do { \
|
#define FIB_ITERATE_START(fib, it, z) do { \
|
||||||
struct fib_node *z = fit_get(fib, it); \
|
struct fib_node *z = fit_get(fib, it); \
|
||||||
unsigned int count = (fib)->hash_size; \
|
uint count = (fib)->hash_size; \
|
||||||
unsigned int hpos = (it)->hash; \
|
uint hpos = (it)->hash; \
|
||||||
for(;;) { \
|
for(;;) { \
|
||||||
if (!z) \
|
if (!z) \
|
||||||
{ \
|
{ \
|
||||||
@ -435,7 +435,7 @@ typedef struct eattr {
|
|||||||
#define EAF_TEMP 0x80 /* A temporary attribute (the one stored in the tmp attr list) */
|
#define EAF_TEMP 0x80 /* A temporary attribute (the one stored in the tmp attr list) */
|
||||||
|
|
||||||
struct adata {
|
struct adata {
|
||||||
unsigned int length; /* Length of data */
|
uint length; /* Length of data */
|
||||||
byte data[0];
|
byte data[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -475,7 +475,7 @@ void ea_sort(ea_list *); /* Sort entries in all sub-lists */
|
|||||||
unsigned ea_scan(ea_list *); /* How many bytes do we need for merged ea_list */
|
unsigned ea_scan(ea_list *); /* How many bytes do we need for merged ea_list */
|
||||||
void ea_merge(ea_list *from, ea_list *to); /* Merge sub-lists to allocated buffer */
|
void ea_merge(ea_list *from, ea_list *to); /* Merge sub-lists to allocated buffer */
|
||||||
int ea_same(ea_list *x, ea_list *y); /* Test whether two ea_lists are identical */
|
int ea_same(ea_list *x, ea_list *y); /* Test whether two ea_lists are identical */
|
||||||
unsigned int ea_hash(ea_list *e); /* Calculate 16-bit hash value */
|
uint ea_hash(ea_list *e); /* Calculate 16-bit hash value */
|
||||||
ea_list *ea_append(ea_list *to, ea_list *what);
|
ea_list *ea_append(ea_list *to, ea_list *what);
|
||||||
void ea_format_bitfield(struct eattr *a, byte *buf, int bufsize, const char **names, int min, int max);
|
void ea_format_bitfield(struct eattr *a, byte *buf, int bufsize, const char **names, int min, int max);
|
||||||
|
|
||||||
|
@ -98,7 +98,7 @@ rte_src_init(void)
|
|||||||
HASH_INIT(src_hash, rta_pool, RSH_INIT_ORDER);
|
HASH_INIT(src_hash, rta_pool, RSH_INIT_ORDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int u32_cto(unsigned int x) { return ffs(~x) - 1; }
|
static inline int u32_cto(uint x) { return ffs(~x) - 1; }
|
||||||
|
|
||||||
static inline u32
|
static inline u32
|
||||||
rte_src_alloc_id(void)
|
rte_src_alloc_id(void)
|
||||||
@ -195,10 +195,10 @@ rt_prune_sources(void)
|
|||||||
* Multipath Next Hop
|
* Multipath Next Hop
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static inline unsigned int
|
static inline uint
|
||||||
mpnh_hash(struct mpnh *x)
|
mpnh_hash(struct mpnh *x)
|
||||||
{
|
{
|
||||||
unsigned int h = 0;
|
uint h = 0;
|
||||||
for (; x; x = x->next)
|
for (; x; x = x->next)
|
||||||
h ^= ipa_hash(x->gw);
|
h ^= ipa_hash(x->gw);
|
||||||
|
|
||||||
@ -666,7 +666,7 @@ ea_format_bitfield(struct eattr *a, byte *buf, int bufsize, const char **names,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
opaque_format(struct adata *ad, byte *buf, unsigned int size)
|
opaque_format(struct adata *ad, byte *buf, uint size)
|
||||||
{
|
{
|
||||||
byte *bound = buf + size - 10;
|
byte *bound = buf + size - 10;
|
||||||
int i;
|
int i;
|
||||||
@ -838,7 +838,7 @@ ea_dump(ea_list *e)
|
|||||||
* ea_hash() takes an extended attribute list and calculated a hopefully
|
* ea_hash() takes an extended attribute list and calculated a hopefully
|
||||||
* uniformly distributed hash value from its contents.
|
* uniformly distributed hash value from its contents.
|
||||||
*/
|
*/
|
||||||
inline unsigned int
|
inline uint
|
||||||
ea_hash(ea_list *e)
|
ea_hash(ea_list *e)
|
||||||
{
|
{
|
||||||
u32 h = 0;
|
u32 h = 0;
|
||||||
@ -900,10 +900,10 @@ ea_append(ea_list *to, ea_list *what)
|
|||||||
* rta's
|
* rta's
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static unsigned int rta_cache_count;
|
static uint rta_cache_count;
|
||||||
static unsigned int rta_cache_size = 32;
|
static uint rta_cache_size = 32;
|
||||||
static unsigned int rta_cache_limit;
|
static uint rta_cache_limit;
|
||||||
static unsigned int rta_cache_mask;
|
static uint rta_cache_mask;
|
||||||
static rta **rta_hash_table;
|
static rta **rta_hash_table;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -917,7 +917,7 @@ rta_alloc_hash(void)
|
|||||||
rta_cache_mask = rta_cache_size - 1;
|
rta_cache_mask = rta_cache_size - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline unsigned int
|
static inline uint
|
||||||
rta_hash(rta *a)
|
rta_hash(rta *a)
|
||||||
{
|
{
|
||||||
return (((uint) (uintptr_t) a->src) ^ ipa_hash(a->gw) ^
|
return (((uint) (uintptr_t) a->src) ^ ipa_hash(a->gw) ^
|
||||||
@ -957,7 +957,7 @@ rta_copy(rta *o)
|
|||||||
static inline void
|
static inline void
|
||||||
rta_insert(rta *r)
|
rta_insert(rta *r)
|
||||||
{
|
{
|
||||||
unsigned int h = r->hash_key & rta_cache_mask;
|
uint h = r->hash_key & rta_cache_mask;
|
||||||
r->next = rta_hash_table[h];
|
r->next = rta_hash_table[h];
|
||||||
if (r->next)
|
if (r->next)
|
||||||
r->next->pprev = &r->next;
|
r->next->pprev = &r->next;
|
||||||
@ -968,8 +968,8 @@ rta_insert(rta *r)
|
|||||||
static void
|
static void
|
||||||
rta_rehash(void)
|
rta_rehash(void)
|
||||||
{
|
{
|
||||||
unsigned int ohs = rta_cache_size;
|
uint ohs = rta_cache_size;
|
||||||
unsigned int h;
|
uint h;
|
||||||
rta *r, *n;
|
rta *r, *n;
|
||||||
rta **oht = rta_hash_table;
|
rta **oht = rta_hash_table;
|
||||||
|
|
||||||
@ -1002,7 +1002,7 @@ rta *
|
|||||||
rta_lookup(rta *o)
|
rta_lookup(rta *o)
|
||||||
{
|
{
|
||||||
rta *r;
|
rta *r;
|
||||||
unsigned int h;
|
uint h;
|
||||||
|
|
||||||
ASSERT(!(o->aflags & RTAF_CACHED));
|
ASSERT(!(o->aflags & RTAF_CACHED));
|
||||||
if (o->eattrs)
|
if (o->eattrs)
|
||||||
@ -1093,7 +1093,7 @@ void
|
|||||||
rta_dump_all(void)
|
rta_dump_all(void)
|
||||||
{
|
{
|
||||||
rta *a;
|
rta *a;
|
||||||
unsigned int h;
|
uint h;
|
||||||
|
|
||||||
debug("Route attribute cache (%d entries, rehash at %d):\n", rta_cache_count, rta_cache_limit);
|
debug("Route attribute cache (%d entries, rehash at %d):\n", rta_cache_count, rta_cache_limit);
|
||||||
for(h=0; h<rta_cache_size; h++)
|
for(h=0; h<rta_cache_size; h++)
|
||||||
|
@ -206,7 +206,7 @@ fib_histogram(struct fib *f)
|
|||||||
void *
|
void *
|
||||||
fib_get(struct fib *f, ip_addr *a, int len)
|
fib_get(struct fib *f, ip_addr *a, int len)
|
||||||
{
|
{
|
||||||
unsigned int h = ipa_hash(*a);
|
uint h = ipa_hash(*a);
|
||||||
struct fib_node **ee = f->hash_table + (h >> f->hash_shift);
|
struct fib_node **ee = f->hash_table + (h >> f->hash_shift);
|
||||||
struct fib_node *g, *e = *ee;
|
struct fib_node *g, *e = *ee;
|
||||||
u32 uid = h << 16;
|
u32 uid = h << 16;
|
||||||
@ -321,7 +321,7 @@ void
|
|||||||
fib_delete(struct fib *f, void *E)
|
fib_delete(struct fib *f, void *E)
|
||||||
{
|
{
|
||||||
struct fib_node *e = E;
|
struct fib_node *e = E;
|
||||||
unsigned int h = fib_hash(f, &e->prefix);
|
uint h = fib_hash(f, &e->prefix);
|
||||||
struct fib_node **ee = f->hash_table + h;
|
struct fib_node **ee = f->hash_table + h;
|
||||||
struct fib_iterator *it;
|
struct fib_iterator *it;
|
||||||
|
|
||||||
@ -442,7 +442,7 @@ fit_put(struct fib_iterator *i, struct fib_node *n)
|
|||||||
void
|
void
|
||||||
fib_check(struct fib *f)
|
fib_check(struct fib *f)
|
||||||
{
|
{
|
||||||
unsigned int i, ec, lo, nulls;
|
uint i, ec, lo, nulls;
|
||||||
|
|
||||||
ec = 0;
|
ec = 0;
|
||||||
for(i=0; i<f->hash_size; i++)
|
for(i=0; i<f->hash_size; i++)
|
||||||
@ -452,7 +452,7 @@ fib_check(struct fib *f)
|
|||||||
for(n=f->hash_table[i]; n; n=n->next)
|
for(n=f->hash_table[i]; n; n=n->next)
|
||||||
{
|
{
|
||||||
struct fib_iterator *j, *j0;
|
struct fib_iterator *j, *j0;
|
||||||
unsigned int h0 = ipa_hash(n->prefix);
|
uint h0 = ipa_hash(n->prefix);
|
||||||
if (h0 < lo)
|
if (h0 < lo)
|
||||||
bug("fib_check: discord in hash chains");
|
bug("fib_check: discord in hash chains");
|
||||||
lo = h0;
|
lo = h0;
|
||||||
@ -489,7 +489,7 @@ struct fib f;
|
|||||||
|
|
||||||
void dump(char *m)
|
void dump(char *m)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
uint i;
|
||||||
|
|
||||||
debug("%s ... order=%d, size=%d, entries=%d\n", m, f.hash_order, f.hash_size, f.hash_size);
|
debug("%s ... order=%d, size=%d, entries=%d\n", m, f.hash_order, f.hash_size, f.hash_size);
|
||||||
for(i=0; i<f.hash_size; i++)
|
for(i=0; i<f.hash_size; i++)
|
||||||
|
@ -182,14 +182,14 @@ rte_trace(struct proto *p, rte *e, int dir, char *msg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
rte_trace_in(unsigned int flag, struct proto *p, rte *e, char *msg)
|
rte_trace_in(uint flag, struct proto *p, rte *e, char *msg)
|
||||||
{
|
{
|
||||||
if (p->debug & flag)
|
if (p->debug & flag)
|
||||||
rte_trace(p, e, '>', msg);
|
rte_trace(p, e, '>', msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
rte_trace_out(unsigned int flag, struct proto *p, rte *e, char *msg)
|
rte_trace_out(uint flag, struct proto *p, rte *e, char *msg)
|
||||||
{
|
{
|
||||||
if (p->debug & flag)
|
if (p->debug & flag)
|
||||||
rte_trace(p, e, '<', msg);
|
rte_trace(p, e, '<', msg);
|
||||||
@ -1880,7 +1880,7 @@ hc_hash(ip_addr a, rtable *dep)
|
|||||||
static inline void
|
static inline void
|
||||||
hc_insert(struct hostcache *hc, struct hostentry *he)
|
hc_insert(struct hostcache *hc, struct hostentry *he)
|
||||||
{
|
{
|
||||||
unsigned int k = he->hash_key >> hc->hash_shift;
|
uint k = he->hash_key >> hc->hash_shift;
|
||||||
he->next = hc->hash_table[k];
|
he->next = hc->hash_table[k];
|
||||||
hc->hash_table[k] = he;
|
hc->hash_table[k] = he;
|
||||||
}
|
}
|
||||||
@ -1889,7 +1889,7 @@ static inline void
|
|||||||
hc_remove(struct hostcache *hc, struct hostentry *he)
|
hc_remove(struct hostcache *hc, struct hostentry *he)
|
||||||
{
|
{
|
||||||
struct hostentry **hep;
|
struct hostentry **hep;
|
||||||
unsigned int k = he->hash_key >> hc->hash_shift;
|
uint k = he->hash_key >> hc->hash_shift;
|
||||||
|
|
||||||
for (hep = &hc->hash_table[k]; *hep != he; hep = &(*hep)->next);
|
for (hep = &hc->hash_table[k]; *hep != he; hep = &(*hep)->next);
|
||||||
*hep = he->next;
|
*hep = he->next;
|
||||||
@ -2154,7 +2154,7 @@ rt_get_hostentry(rtable *tab, ip_addr a, ip_addr ll, rtable *dep)
|
|||||||
if (!tab->hostcache)
|
if (!tab->hostcache)
|
||||||
rt_init_hostcache(tab);
|
rt_init_hostcache(tab);
|
||||||
|
|
||||||
unsigned int k = hc_hash(a, dep);
|
uint k = hc_hash(a, dep);
|
||||||
struct hostcache *hc = tab->hostcache;
|
struct hostcache *hc = tab->hostcache;
|
||||||
for (he = hc->hash_table[k >> hc->hash_shift]; he != NULL; he = he->next)
|
for (he = hc->hash_table[k >> hc->hash_shift]; he != NULL; he = he->next)
|
||||||
if (ipa_equal(he->addr, a) && (he->tab == dep))
|
if (ipa_equal(he->addr, a) && (he->tab == dep))
|
||||||
|
@ -114,7 +114,7 @@ path_segment_contains(byte *p, int bs, u32 asn)
|
|||||||
|
|
||||||
/* Validates path attribute, removes AS_CONFED_* segments, and also returns path length */
|
/* Validates path attribute, removes AS_CONFED_* segments, and also returns path length */
|
||||||
static int
|
static int
|
||||||
validate_path(struct bgp_proto *p, int as_path, int bs, byte *idata, unsigned int *ilength)
|
validate_path(struct bgp_proto *p, int as_path, int bs, byte *idata, uint *ilength)
|
||||||
{
|
{
|
||||||
int res = 0;
|
int res = 0;
|
||||||
u8 *a, *dst;
|
u8 *a, *dst;
|
||||||
@ -381,7 +381,7 @@ bgp_attach_attr_wa(ea_list **to, struct linpool *pool, unsigned attr, unsigned l
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
bgp_encode_attr_hdr(byte *dst, unsigned int flags, unsigned code, int len)
|
bgp_encode_attr_hdr(byte *dst, uint flags, unsigned code, int len)
|
||||||
{
|
{
|
||||||
int wlen;
|
int wlen;
|
||||||
|
|
||||||
@ -473,10 +473,10 @@ bgp_get_attr_len(eattr *a)
|
|||||||
*
|
*
|
||||||
* Result: Length of the attribute block generated or -1 if not enough space.
|
* Result: Length of the attribute block generated or -1 if not enough space.
|
||||||
*/
|
*/
|
||||||
unsigned int
|
uint
|
||||||
bgp_encode_attrs(struct bgp_proto *p, byte *w, ea_list *attrs, int remains)
|
bgp_encode_attrs(struct bgp_proto *p, byte *w, ea_list *attrs, int remains)
|
||||||
{
|
{
|
||||||
unsigned int i, code, type, flags;
|
uint i, code, type, flags;
|
||||||
byte *start = w;
|
byte *start = w;
|
||||||
int len, rv;
|
int len, rv;
|
||||||
|
|
||||||
@ -1593,11 +1593,11 @@ bgp_remove_as4_attrs(struct bgp_proto *p, rta *a)
|
|||||||
* by a &rta.
|
* by a &rta.
|
||||||
*/
|
*/
|
||||||
struct rta *
|
struct rta *
|
||||||
bgp_decode_attrs(struct bgp_conn *conn, byte *attr, unsigned int len, struct linpool *pool, int mandatory)
|
bgp_decode_attrs(struct bgp_conn *conn, byte *attr, uint len, struct linpool *pool, int mandatory)
|
||||||
{
|
{
|
||||||
struct bgp_proto *bgp = conn->bgp;
|
struct bgp_proto *bgp = conn->bgp;
|
||||||
rta *a = lp_alloc(pool, sizeof(struct rta));
|
rta *a = lp_alloc(pool, sizeof(struct rta));
|
||||||
unsigned int flags, code, l, i, type;
|
uint flags, code, l, i, type;
|
||||||
int errcode;
|
int errcode;
|
||||||
byte *z, *attr_start;
|
byte *z, *attr_start;
|
||||||
byte seen[256/8];
|
byte seen[256/8];
|
||||||
@ -1791,7 +1791,7 @@ err:
|
|||||||
int
|
int
|
||||||
bgp_get_attr(eattr *a, byte *buf, int buflen)
|
bgp_get_attr(eattr *a, byte *buf, int buflen)
|
||||||
{
|
{
|
||||||
unsigned int i = EA_ID(a->id);
|
uint i = EA_ID(a->id);
|
||||||
struct attr_desc *d;
|
struct attr_desc *d;
|
||||||
int len;
|
int len;
|
||||||
|
|
||||||
|
@ -90,7 +90,7 @@ struct bgp_config {
|
|||||||
struct bgp_conn {
|
struct bgp_conn {
|
||||||
struct bgp_proto *bgp;
|
struct bgp_proto *bgp;
|
||||||
struct birdsock *sk;
|
struct birdsock *sk;
|
||||||
unsigned int state; /* State of connection state machine */
|
uint state; /* State of connection state machine */
|
||||||
struct timer *connect_retry_timer;
|
struct timer *connect_retry_timer;
|
||||||
struct timer *hold_timer;
|
struct timer *hold_timer;
|
||||||
struct timer *keepalive_timer;
|
struct timer *keepalive_timer;
|
||||||
@ -142,7 +142,7 @@ struct bgp_proto {
|
|||||||
struct timer *startup_timer; /* Timer used to delay protocol startup due to previous errors (startup_delay) */
|
struct timer *startup_timer; /* Timer used to delay protocol startup due to previous errors (startup_delay) */
|
||||||
struct timer *gr_timer; /* Timer waiting for reestablishment after graceful restart */
|
struct timer *gr_timer; /* Timer waiting for reestablishment after graceful restart */
|
||||||
struct bgp_bucket **bucket_hash; /* Hash table of attribute buckets */
|
struct bgp_bucket **bucket_hash; /* Hash table of attribute buckets */
|
||||||
unsigned int hash_size, hash_count, hash_limit;
|
uint hash_size, hash_count, hash_limit;
|
||||||
HASH(struct bgp_prefix) prefix_hash; /* Prefixes to be sent */
|
HASH(struct bgp_prefix) prefix_hash; /* Prefixes to be sent */
|
||||||
slab *prefix_slab; /* Slab holding prefix nodes */
|
slab *prefix_slab; /* Slab holding prefix nodes */
|
||||||
list bucket_queue; /* Queue of buckets to send */
|
list bucket_queue; /* Queue of buckets to send */
|
||||||
@ -235,7 +235,7 @@ static inline void set_next_hop(byte *b, ip_addr addr) { ((ip_addr *) b)[0] = ad
|
|||||||
|
|
||||||
void bgp_attach_attr(struct ea_list **to, struct linpool *pool, unsigned attr, uintptr_t val);
|
void bgp_attach_attr(struct ea_list **to, struct linpool *pool, unsigned attr, uintptr_t val);
|
||||||
byte *bgp_attach_attr_wa(struct ea_list **to, struct linpool *pool, unsigned attr, unsigned len);
|
byte *bgp_attach_attr_wa(struct ea_list **to, struct linpool *pool, unsigned attr, unsigned len);
|
||||||
struct rta *bgp_decode_attrs(struct bgp_conn *conn, byte *a, unsigned int len, struct linpool *pool, int mandatory);
|
struct rta *bgp_decode_attrs(struct bgp_conn *conn, byte *a, uint len, struct linpool *pool, int mandatory);
|
||||||
int bgp_get_attr(struct eattr *e, byte *buf, int buflen);
|
int bgp_get_attr(struct eattr *e, byte *buf, int buflen);
|
||||||
int bgp_rte_better(struct rte *, struct rte *);
|
int bgp_rte_better(struct rte *, struct rte *);
|
||||||
int bgp_rte_recalculate(rtable *table, net *net, rte *new, rte *old, rte *old_best);
|
int bgp_rte_recalculate(rtable *table, net *net, rte *new, rte *old, rte *old_best);
|
||||||
@ -245,7 +245,7 @@ void bgp_init_bucket_table(struct bgp_proto *);
|
|||||||
void bgp_free_bucket(struct bgp_proto *p, struct bgp_bucket *buck);
|
void bgp_free_bucket(struct bgp_proto *p, struct bgp_bucket *buck);
|
||||||
void bgp_init_prefix_table(struct bgp_proto *p, u32 order);
|
void bgp_init_prefix_table(struct bgp_proto *p, u32 order);
|
||||||
void bgp_free_prefix(struct bgp_proto *p, struct bgp_prefix *bp);
|
void bgp_free_prefix(struct bgp_proto *p, struct bgp_prefix *bp);
|
||||||
unsigned int bgp_encode_attrs(struct bgp_proto *p, byte *w, ea_list *attrs, int remains);
|
uint bgp_encode_attrs(struct bgp_proto *p, byte *w, ea_list *attrs, int remains);
|
||||||
void bgp_get_route_info(struct rte *, byte *buf, struct ea_list *attrs);
|
void bgp_get_route_info(struct rte *, byte *buf, struct ea_list *attrs);
|
||||||
|
|
||||||
inline static void bgp_attach_attr_ip(struct ea_list **to, struct linpool *pool, unsigned attr, ip_addr a)
|
inline static void bgp_attach_attr_ip(struct ea_list **to, struct linpool *pool, unsigned attr, ip_addr a)
|
||||||
|
@ -289,8 +289,8 @@ bgp_create_open(struct bgp_conn *conn, byte *buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int
|
static uint
|
||||||
bgp_encode_prefixes(struct bgp_proto *p, byte *w, struct bgp_bucket *buck, unsigned int remains)
|
bgp_encode_prefixes(struct bgp_proto *p, byte *w, struct bgp_bucket *buck, uint remains)
|
||||||
{
|
{
|
||||||
byte *start = w;
|
byte *start = w;
|
||||||
ip_addr a;
|
ip_addr a;
|
||||||
@ -648,7 +648,7 @@ bgp_create_end_refresh(struct bgp_conn *conn, byte *buf)
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
bgp_create_header(byte *buf, unsigned int len, unsigned int type)
|
bgp_create_header(byte *buf, uint len, uint type)
|
||||||
{
|
{
|
||||||
memset(buf, 0xff, 16); /* Marker */
|
memset(buf, 0xff, 16); /* Marker */
|
||||||
put_u16(buf+16, len);
|
put_u16(buf+16, len);
|
||||||
@ -669,7 +669,7 @@ static int
|
|||||||
bgp_fire_tx(struct bgp_conn *conn)
|
bgp_fire_tx(struct bgp_conn *conn)
|
||||||
{
|
{
|
||||||
struct bgp_proto *p = conn->bgp;
|
struct bgp_proto *p = conn->bgp;
|
||||||
unsigned int s = conn->packets_to_send;
|
uint s = conn->packets_to_send;
|
||||||
sock *sk = conn->sk;
|
sock *sk = conn->sk;
|
||||||
byte *buf, *pkt, *end;
|
byte *buf, *pkt, *end;
|
||||||
int type;
|
int type;
|
||||||
|
@ -181,7 +181,7 @@ struct ks_msg
|
|||||||
#define GETADDR(p, F) \
|
#define GETADDR(p, F) \
|
||||||
bzero(p, sizeof(*p));\
|
bzero(p, sizeof(*p));\
|
||||||
if ((addrs & (F)) && ((struct sockaddr *)body)->sa_len) {\
|
if ((addrs & (F)) && ((struct sockaddr *)body)->sa_len) {\
|
||||||
unsigned int l = ROUNDUP(((struct sockaddr *)body)->sa_len);\
|
uint l = ROUNDUP(((struct sockaddr *)body)->sa_len);\
|
||||||
memcpy(p, body, (l > sizeof(*p) ? sizeof(*p) : l));\
|
memcpy(p, body, (l > sizeof(*p) ? sizeof(*p) : l));\
|
||||||
body += l;}
|
body += l;}
|
||||||
|
|
||||||
@ -537,7 +537,7 @@ krt_read_ifinfo(struct ks_msg *msg, int scan)
|
|||||||
struct if_msghdr *ifm = (struct if_msghdr *)&msg->rtm;
|
struct if_msghdr *ifm = (struct if_msghdr *)&msg->rtm;
|
||||||
void *body = (void *)(ifm + 1);
|
void *body = (void *)(ifm + 1);
|
||||||
struct sockaddr_dl *dl = NULL;
|
struct sockaddr_dl *dl = NULL;
|
||||||
unsigned int i;
|
uint i;
|
||||||
struct iface *iface = NULL, f = {};
|
struct iface *iface = NULL, f = {};
|
||||||
int fl = ifm->ifm_flags;
|
int fl = ifm->ifm_flags;
|
||||||
int nlen = 0;
|
int nlen = 0;
|
||||||
|
@ -50,7 +50,7 @@ struct nl_sock
|
|||||||
u32 seq;
|
u32 seq;
|
||||||
byte *rx_buffer; /* Receive buffer */
|
byte *rx_buffer; /* Receive buffer */
|
||||||
struct nlmsghdr *last_hdr; /* Recently received packet */
|
struct nlmsghdr *last_hdr; /* Recently received packet */
|
||||||
unsigned int last_size;
|
uint last_size;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define NL_RX_SIZE 8192
|
#define NL_RX_SIZE 8192
|
||||||
@ -443,7 +443,7 @@ nl_parse_link(struct nlmsghdr *h, int scan)
|
|||||||
struct iface *ifi;
|
struct iface *ifi;
|
||||||
char *name;
|
char *name;
|
||||||
u32 mtu;
|
u32 mtu;
|
||||||
unsigned int fl;
|
uint fl;
|
||||||
|
|
||||||
if (!(i = nl_checkin(h, sizeof(*i))) || !nl_parse_attrs(IFLA_RTA(i), a, sizeof(a)))
|
if (!(i = nl_checkin(h, sizeof(*i))) || !nl_parse_attrs(IFLA_RTA(i), a, sizeof(a)))
|
||||||
return;
|
return;
|
||||||
@ -1088,7 +1088,7 @@ nl_async_hook(sock *sk, int size UNUSED)
|
|||||||
struct msghdr m = { (struct sockaddr *) &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };
|
struct msghdr m = { (struct sockaddr *) &sa, sizeof(sa), &iov, 1, NULL, 0, 0 };
|
||||||
struct nlmsghdr *h;
|
struct nlmsghdr *h;
|
||||||
int x;
|
int x;
|
||||||
unsigned int len;
|
uint len;
|
||||||
|
|
||||||
x = recvmsg(sk->fd, &m, 0);
|
x = recvmsg(sk->fd, &m, 0);
|
||||||
if (x < 0)
|
if (x < 0)
|
||||||
|
@ -155,7 +155,7 @@ read_iproute_table(char *file, char *prefix, int max)
|
|||||||
static char *config_name = PATH_CONFIG_FILE;
|
static char *config_name = PATH_CONFIG_FILE;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
cf_read(byte *dest, unsigned int len, int fd)
|
cf_read(byte *dest, uint len, int fd)
|
||||||
{
|
{
|
||||||
int l = read(fd, dest, len);
|
int l = read(fd, dest, len);
|
||||||
if (l < 0)
|
if (l < 0)
|
||||||
|
@ -119,7 +119,7 @@ void log_switch(int debug, list *l, char *); /* Use l=NULL for initial switch */
|
|||||||
|
|
||||||
struct log_config {
|
struct log_config {
|
||||||
node n;
|
node n;
|
||||||
unsigned int mask; /* Classes to log */
|
uint mask; /* Classes to log */
|
||||||
void *fh; /* FILE to log to, NULL=syslog */
|
void *fh; /* FILE to log to, NULL=syslog */
|
||||||
int terminal_flag;
|
int terminal_flag;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user