Hello Alexandre,
Thanks for porting the change to 2.5 branch. I will merge your patch and
probably make a release of ipvs 1.1.6 in a couple of days.
BTW, I see that it is probably good to show the syncid in the command of
"ipvsadm -L --daemon", I will do some slight change while merging your
code.
Thanks again,
Wensong
On Tue, 3 Jun 2003, Alexandre Cassen wrote:
> Hello Wensong,
>
> I have just ported previous code to 2.5 branch as we discussed last day.
>
> Some details on the enhancements brought by this patch :
>
> 1. SYNOPSYS :
>
> ipvsadm --start-daemon state [--mcast-interface interface] [--syncid sid]
> ipvsadm --stop-daemon master|backup
>
> . interface : default is eth0
> . sid part of the range : [0..255], 255 is default.
>
> 2. Description :
>
> Added ipvs_syncd support to be master and slave at a time.
> Usefull for active/active director wanting connection table
> synchronization for both master directors.
>
> On the other hand, the code support different mcast-interface
> specification for both master & backup syncd. That way an
> ipvs_syncd can be master and send conn message threw an interface
> and receive remote conn messages from a different interface.
> As previous code if interface is omitted default is used (eth0).
>
> An other important new functionnality is the support of a
> synchronization ID called SyncID. The syncd message format
> is so :
>
> 0 1 2 3
> 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> | Count Conns | SyncID | Size |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> | |
> | IPVS Sync Connection (1) |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> | . |
> | . |
> | . |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
> | |
> | IPVS Sync Connection (n) |
> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
> This SyncID offer filtering capability at the backup ipvs_syncd point.
> if ipvs_syncd backup receives message and the SyncID field value differ
> from the local defined value, then this message is simply ignored and
> connections are not append to local connection table.
> When starting ipvs_syncd daemon if SyncID is omitted then it
> use default value of '255' which means no filtering at all.
> This functionnality can be usefull if you have multiple LVS director
> and you want to define connection synchronization regions. As for
> multicast this SyncID extension provide group vision of the ipvs
> conn messages.
>
> 3. Example :
>
> . Topology :
>
> ------------------------------------------------------------------
> | | | | |
> .....|eth0...........|eth0.. | .....|eth0...........|eth0..
> . +------+ +------+ . |0 . +------+ +------+ .
> . | LVS1 | | LVS2 | . LVS5 . | LVS3 | | LVS4 | .
> . +------+ +------+ . |1 . +------+ +------+ .
> . |eth1 |eth1 . | . |eth1 |eth1 .
> .....|...............|...... | .....|...............|......
> ------------------------------------------------------------------
>
> . Configuration LVS1
>
> ipvsadm --start-daemon master --mcast-interface eth1 --syncid 50
> ipvsadm --start-daemon backup --mcast-interface eth1 --syncid 50
>
> . Configuration LVS2
>
> ipvsadm --start-daemon master --mcast-interface eth1 --syncid 50
> ipvsadm --start-daemon backup --mcast-interface eth1 --syncid 50
>
> . Configuration LVS3
>
> ipvsadm --start-daemon master --mcast-interface eth1 --syncid 100
> ipvsadm --start-daemon backup --mcast-interface eth1 --syncid 100
>
> . Configuration LVS4
>
> ipvsadm --start-daemon master --mcast-interface eth1 --syncid 100
> ipvsadm --start-daemon backup --mcast-interface eth1 --syncid 100
>
> . Configuration LVS5
>
> ipvsadm --start-daemon backup --mcast-interface eth1
>
> . Description : This configuration define 2 synchronizations groups.
> LVS1 & LVS2 define first one configured using syncid
> 50. LVS3 & LVS4 define the other one with syncid 100.
> Each group process incoming conn messages coming from
> director part of the same group. Additionnaly LVS5
> accept any conn message and can be viewed as the
> global connection state backup.
>
> 4. Advanced:
>
> Additionnaly we can imagine a configuration with VRRP that will
> takeover the LVS VIP to the global backup LVS5. If one LVS group is
> down then LVS5 takeover VIPs and connection are active on LVS5.
>
>
> I have attached 2 patches, one for stable 2.4 branch and other for
> 2.5 devel branch.
>
> Any comments are welcome.
>
> Best regards,
> Alexandre
>
|