Cleanup in sysdep KRT code, part 4.
Adding some files that was accidentally removed (instead of moved) in cleanup part 2.
This commit is contained in:
parent
064e7be5cd
commit
95616c8202
5 changed files with 1298 additions and 0 deletions
49
sysdep/bsd/krt-sys.h
Normal file
49
sysdep/bsd/krt-sys.h
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* BIRD -- *BSD Kernel Route Syncer
|
||||
*
|
||||
* (c) 2004 Ondrej Filip <feela@network.cz>
|
||||
*
|
||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||
*/
|
||||
|
||||
#ifndef _BIRD_KRT_SYS_H_
|
||||
#define _BIRD_KRT_SYS_H_
|
||||
|
||||
|
||||
/* Kernel interfaces */
|
||||
|
||||
struct kif_params {
|
||||
};
|
||||
|
||||
struct kif_status {
|
||||
};
|
||||
|
||||
|
||||
static inline void kif_sys_init(struct kif_proto *p UNUSED) { }
|
||||
static inline int kif_sys_reconfigure(struct kif_proto *p UNUSED, struct kif_config *n UNUSED, struct kif_config *o UNUSED) { return 1; }
|
||||
|
||||
static inline void kif_sys_preconfig(struct config *c UNUSED) { }
|
||||
static inline void kif_sys_postconfig(struct kif_config *c UNUSED) { }
|
||||
static inline void kif_sys_init_config(struct kif_config *c UNUSED) { }
|
||||
static inline void kif_sys_copy_config(struct kif_config *d UNUSED, struct kif_config *s UNUSED) { }
|
||||
|
||||
|
||||
/* Kernel routes */
|
||||
|
||||
struct krt_params {
|
||||
};
|
||||
|
||||
struct krt_status {
|
||||
};
|
||||
|
||||
|
||||
static inline void krt_sys_init(struct krt_proto *p UNUSED) { }
|
||||
static inline int krt_sys_reconfigure(struct krt_proto *p UNUSED, struct krt_config *n UNUSED, struct krt_config *o UNUSED) { return 1; }
|
||||
|
||||
static inline void krt_sys_preconfig(struct config *c UNUSED) { }
|
||||
static inline void krt_sys_postconfig(struct krt_config *c UNUSED) { }
|
||||
static inline void krt_sys_init_config(struct krt_config *c UNUSED) { }
|
||||
static inline void krt_sys_copy_config(struct krt_config *d UNUSED, struct krt_config *s UNUSED) { }
|
||||
|
||||
|
||||
#endif
|
22
sysdep/cf/linux.h
Normal file
22
sysdep/cf/linux.h
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* Configuration for Linux based systems
|
||||
*
|
||||
* (c) 1998--1999 Martin Mares <mj@ucw.cz>
|
||||
*
|
||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||
*/
|
||||
|
||||
#define CONFIG_AUTO_ROUTES
|
||||
#define CONFIG_SELF_CONSCIOUS
|
||||
#define CONFIG_MULTIPLE_TABLES
|
||||
#define CONFIG_ALL_TABLES_AT_ONCE
|
||||
|
||||
#define CONFIG_MC_PROPER_SRC
|
||||
#define CONFIG_UNIX_DONTROUTE
|
||||
|
||||
#define CONFIG_RESTRICTED_PRIVILEGES
|
||||
|
||||
/*
|
||||
Link: sysdep/linux
|
||||
Link: sysdep/unix
|
||||
*/
|
46
sysdep/linux/krt-sys.h
Normal file
46
sysdep/linux/krt-sys.h
Normal file
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* BIRD -- Linux Kernel Netlink Route Syncer
|
||||
*
|
||||
* (c) 1998--2000 Martin Mares <mj@ucw.cz>
|
||||
*
|
||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||
*/
|
||||
|
||||
#ifndef _BIRD_KRT_SYS_H_
|
||||
#define _BIRD_KRT_SYS_H_
|
||||
|
||||
|
||||
/* Kernel interfaces */
|
||||
|
||||
struct kif_params {
|
||||
};
|
||||
|
||||
struct kif_status {
|
||||
};
|
||||
|
||||
|
||||
static inline void kif_sys_init(struct kif_proto *p UNUSED) { }
|
||||
static inline int kif_sys_reconfigure(struct kif_proto *p UNUSED, struct kif_config *n UNUSED, struct kif_config *o UNUSED) { return 1; }
|
||||
|
||||
static inline void kif_sys_preconfig(struct config *c UNUSED) { }
|
||||
static inline void kif_sys_postconfig(struct kif_config *c UNUSED) { }
|
||||
static inline void kif_sys_init_config(struct kif_config *c UNUSED) { }
|
||||
static inline void kif_sys_copy_config(struct kif_config *d UNUSED, struct kif_config *s UNUSED) { }
|
||||
|
||||
|
||||
/* Kernel routes */
|
||||
|
||||
#define NL_NUM_TABLES 256
|
||||
|
||||
struct krt_params {
|
||||
int table_id; /* Kernel table ID we sync with */
|
||||
};
|
||||
|
||||
struct krt_status {
|
||||
};
|
||||
|
||||
|
||||
static inline void krt_sys_init(struct krt_proto *p UNUSED) { }
|
||||
|
||||
|
||||
#endif
|
32
sysdep/linux/netlink.Y
Normal file
32
sysdep/linux/netlink.Y
Normal file
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* BIRD -- Linux Netlink Configuration
|
||||
*
|
||||
* (c) 1999--2000 Martin Mares <mj@ucw.cz>
|
||||
*
|
||||
* Can be freely distributed and used under the terms of the GNU GPL.
|
||||
*/
|
||||
|
||||
CF_HDR
|
||||
|
||||
CF_DECLS
|
||||
|
||||
CF_KEYWORDS(ASYNC, KERNEL, TABLE, KRT_PREFSRC, KRT_REALM)
|
||||
|
||||
CF_GRAMMAR
|
||||
|
||||
CF_ADDTO(kern_proto, kern_proto nl_item ';')
|
||||
|
||||
nl_item:
|
||||
KERNEL TABLE expr {
|
||||
if ($3 <= 0 || $3 >= NL_NUM_TABLES)
|
||||
cf_error("Kernel routing table number out of range");
|
||||
THIS_KRT->sys.table_id = $3;
|
||||
}
|
||||
;
|
||||
|
||||
CF_ADDTO(dynamic_attr, KRT_PREFSRC { $$ = f_new_dynamic_attr(EAF_TYPE_IP_ADDRESS, T_IP, EA_KRT_PREFSRC); })
|
||||
CF_ADDTO(dynamic_attr, KRT_REALM { $$ = f_new_dynamic_attr(EAF_TYPE_INT, T_INT, EA_KRT_REALM); })
|
||||
|
||||
CF_CODE
|
||||
|
||||
CF_END
|
1149
sysdep/linux/netlink.c
Normal file
1149
sysdep/linux/netlink.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue