Hi Paul,

  Please find the updated word document in text format.

Thanks & Regards
Udaya,


On Fri, Feb 12, 2016 at 7:21 PM, Paul Jakma <[email protected]> wrote:

> Hi,
>
> On Thu, 11 Feb 2016, Udaya Shankara KS wrote:
>
> Hi,
>>
>>        I have created a patch for fpm module,which provides CLI in zebra
>> for configuring remote fpm server ip and port of remote fpm server.This
>> helps us to update the FIB updates to remote fpm module. please review and
>> let me know your comments.
>>
>
> That looks sensible.
>
> The Word document, could you convert it to something friendlier? Text,
> markdown, LaTeX, Texinfo? The latter 3 can take images.
>
> regards,
> --
> Paul Jakma      [email protected]  @pjakma Key ID: 64A2FF6A
> Fortune:
> A quarrel is quickly settled when deserted by one party; there is no battle
> unless there be two.  -- Seneca
>
               ZEBRA : CLI CONFIGURATION FOR FPM MODULE
         ========================================================


1. INTRODUCTION
================================
   1.1 scope

     This memo discusses the configuration option for zebra to update 
     FIB information to local and remote modules.
     This will also helps to address the issue associated with CORD project.
     https://jira.onosproject.org/browse/CORD-411


2. REFERENCE
================================
  Quagga version 99.24+ ( main branch committed on 29-sep-2015)


3. PROBLEM DESCRIPTION 
================================
    Once FPM is enabled, Quagga periodically tries to initiate 
fpm connection to localhost:2620. These values are non configurable in 
existing implementation. There is no CLI available to configure "host:port".
hence limits us to use it for hardware based fast path modules only.


4. PROPOSED CHANGES
================================
Following changes are done to the quagga code
   a) Added new CLI to configure "host address : port".
      The CLI format 
      <conf t>
           $ fpm connection ip <ipv4 address> port <tcp port num>

      and no fpm command to revert back to default
      <conf t>
           $ no fpm connection ip <ipv4 address> port <tcp port num>
 
   b) Allowed values are ipv4 address and tcp port range <1-65535>

   c) FPM initialization code has been enhanced to pick the "host address : 
port"
      values from zebra.conf. if not found then default values as localhost:2620
      will be used. and updated the information on to config file on write 
config  
      command 


5. FILES MODIFIED 
================================
  1) fpm/fpm.h :
     a) Added MACRO to represent network order loopback ip  

  2) zebra/zebra_fpm.h :
     a) introduced fpm_server variable in zfpm_glob_t handler to hold the
        remote fpm server address 
     b) Hooked 'fpm_remote_ip_cmd' and 'no_fpm_remote_ip_cmd' at CONFIG node
        to configure remote fpm detail and to revert back to default 
respectively

  3) zebra/zserv.c :
     a) Hooked 'config_write_fpm' callback function, at ZEBRA_NODE to 
        display the fpm connection details on console on entering command
         $ show running_config 
        and to write to configuration file on entering command
         $ write config 


6. TESTING DETAILS
================================

   6.1. default behavior
          In default configuration FPM will attempt to connect to localhost:2620


   6.2. update fpm info
        a) Using CLI command user can configure fpm host:port details
           and can be able to write to config file(zebra.conf) using write 
config command.
           this parameters has no dependency/impact on other parameters of 
config file

        b) show running-config/write config will display the fpm information if 
configured.
           and will not display any information related to fpm for default 
configuration 

        c) these configured information will be stored to config file. only on 
write config command.

   6.3 loading from config file 
        a) zebra attempts to connect to fpm server if fpm parameter found in 
config file.else 
           connects to default parameters.
   
        b) if fpm connection drops, fpm will periodically attempts to connect 
to remote server.

        c) if fpm connections already established. then newly configured fpm 
parameters will not 
           disconnect the existing connection. new connection to the different 
fpm server will happen
           only after existing connection closes by either of the end.

           
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to