[Olsr-dev] [PATCH v1 00/23] Add multi-gateway mode to smart gateway system

Ferry Huberts (spam-protected)
Tue Dec 4 16:17:07 CET 2012


From: Ferry Huberts <(spam-protected)>

Review and comments are requested.

The advantage of having multiple gateways active at the same time is that we
avoid breaking connections because active connections via gateway 1 will not
be terminated when we pick gateway 2 as the new default gateway (as long as
gateway 1 doesn't disappear).


@Henning: you already reviewed the first 7 patches, here they're just rebased.
@Hans   : you might want to take a look at patch 8


Ferry Huberts (23):
  gateway: store current gateway(s) in a struct
  gateway: lazily allocate the current gateway structs
  gateway: add path_cost to 'set gateway' interface
  gateway: add interface to get the gateway costs
  gateway: simplify by using the new costs interface
  gateway: add gateway_list.{c,h}
  gateway: keep track of the active gateways in a list
  json_info: only output smart gateway info on Linux
  kernel_route: olsr_os_inetgw_tunnel_route can now take the table
  gateway: let the gateway code determine the tunnel name
  gateway: remove the worst gateway before adding new one
  gateway: add SmartGatewayUseCount configuration parameter
  gateway: use SmartGatewayUseCount setting the the gateway lists
  gateway: add SmartGatewayEgressInterfaces configuration parameter
  gateway: add SmartGatewayMarkOffset{Egress,Tunnels} configuration
    parameters
  gateway: add SmartGatewayPolicyRoutingScript configuration parameter
  gateway: initialise a set of fixed tunnel names in/for multi-gateway
    mode
  gateway: initialise the egress interface names in/for multi-gateway
    mode
  gateway: use fixed tunnel names in/for multi-gateway mode
  gateway: setup and clear table specific default routes in/for
    multi-gateway mode
  gateway: setup/cleanup multi-gateway mode during startup/shutdown of
    olsrd
  gateway: introduce and use MULTI_GW_MODE define
  gateway: enable multi-gateway mode

 Makefile                            |   6 +
 Makefile.inc                        |   1 +
 README-Olsr-Extensions              |  31 +-
 files/olsrd.conf.default.full       |  38 +++
 files/olsrd.conf.default.lq         |  38 +++
 files/olsrd.conf.default.lq-fisheye |  38 +++
 files/sgw_policy_routing_setup.sh   | 174 ++++++++++
 lib/jsoninfo/src/olsrd_jsoninfo.c   |  21 ++
 src/bsd/dummy.c                     |   5 +-
 src/cfgparser/cfgfile_gen.c         |  60 ++++
 src/cfgparser/olsrd_conf.c          | 124 +++++++
 src/cfgparser/oparse.y              | 112 +++++++
 src/cfgparser/oscan.lex             |  25 ++
 src/gateway.c                       | 630 ++++++++++++++++++++++++++++++++----
 src/gateway.h                       |  12 +-
 src/gateway_default_handler.c       |  77 ++---
 src/gateway_list.c                  | 187 +++++++++++
 src/gateway_list.h                  | 152 +++++++++
 src/kernel_routes.h                 |   2 +-
 src/kernel_tunnel.h                 |   2 +-
 src/linux/kernel_routes_nl.c        |   4 +-
 src/linux/kernel_tunnel.c           |  20 +-
 src/main.c                          |  10 +
 src/olsr_cfg.h                      |  20 ++
 src/win32/dummy.c                   |   5 +-
 25 files changed, 1666 insertions(+), 128 deletions(-)
 create mode 100755 files/sgw_policy_routing_setup.sh
 create mode 100644 src/gateway_list.c
 create mode 100644 src/gateway_list.h

-- 
1.7.11.7





More information about the Olsr-dev mailing list