View Issue Details

IDProjectCategoryView StatusLast Update
0001460unrealircdpublic2015-05-28 18:42
Reporterfez Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityalways
Status closedResolutionno change required 
Platformx86OSLinuxOS Version2.4.x
Product Version3.2-beta19 
Summary0001460: leafs and autoconnect...
DescriptionIn order to maintain network stability, many times leafs are configured to link to multiple hubs, in case one goes down...

However, I think that if the server is compiled to be a leaf, then it should not try to autoconnect to another server if it's already connected to one...

e.g.,
leaf1 can link to hub1 or hub2
hub1 dies
leaf1 connects to hub2
because both hub1 and hub2 are on autoconnect,
leaf1 tries to connect to hub1 over and over...

1st: leaf1 is trying to act like a hub which it should not...
2nd: the only point of multiple autoconnects is so that the server is connected to one OR the other, not one AND the other...

so, I think that if a server is compiled as a leaf, there should be some code so that if multiple servers are on autoconnect, it will not actually autoconnect as long is it is connected SOMEWHERE...

Maybe we have differing philosophies
What are your thoughts???

 -- fez
TagsNo tags attached.
3rd party modules

Relationships

child of 0003286 closedsyzop More intelligent link handling 

Activities

penna22

2003-12-31 09:44

reporter   ~0004484

Last edited: 2003-12-31 09:45

can easily done with deny link block (older d/D lines)

deny link { mask *; rule directcon(*); type auto; }

i didn't test it out but it should work this way

edited on: 12-31-03 09:45

syzop

2003-12-31 18:42

administrator   ~0004494

assuming hub1 and hub2 are connected to the net.. perhaps it just shouldn't try to connect to already-(indirectly)-linked-servers (ie: hub2)?

syzop

2004-01-22 00:28

administrator   ~0004761

*bump*

[dup posted in 0001506]

HERZ

2004-01-22 05:19

reporter   ~0004765

Sorry, i don`t see any fix for this problem.

1.) deny link masks cannot be the right way.
2.) bug is still there, but now closed...
3.) Bug will be from another person reopened because its
wrong way in linking system !

Regards

codemastr

2004-01-22 05:36

reporter   ~0004766

Last edited: 2004-01-22 05:39

HERZ, no one closed the bug... see this bug report right here? This one is open. Your post was a duplicate of this post, hence why it was closed. There is no reason to have two open bug reports for the same bug. We're not trying to say the problem is corrected, nor are we trying to say that we are neglecting the issue. We are merely saying this bug has been reported already.

edited on: 01-22-04 05:39

HERZ

2004-01-22 06:44

reporter   ~0004767

ah okay codemastr, i should better open my eyes :) sorry ...

DragonRyder

2006-11-28 23:44

reporter   ~0012758

i am curious if this was fixed or if there was a resolve for this.

it would help a lot of networks to be able to set it so there leafs connect adn when a hub dies they can connect to another hub, instead of having to go to each one and tell it to connect to 2nd hub manually

Stealth

2006-11-29 00:15

reporter   ~0012759

Last edited: 2006-11-29 00:16

> assuming hub1 and hub2 are connected to the net.. perhaps it just shouldn't try to connect to already-(indirectly)-linked-servers (ie: hub2)?

That would be an excellent thing to impliment... It would make networks with a multiple-hub link structure easier to impliment.

Network layouts could be (with autoconnects):
Hub1 <-> Hub2
Leaf1 <-> Hub1 or Hub2
Leaf2 <-> Hub1 or Hub2
Leaf3 <-> Hub1 or Hub2
and so on

Currently autoconnects will attempt to connect to anything not connected locally, unless a deny link were in place - and even those are tricky. So if Unreal automatically detected a server was connected to the network, it shouldn't attempt to connect to that server anyway.

djGrrr

2007-01-28 08:37

reporter   ~0013140

unreal already doesn't connect to a server if it sees it anywhere else in the network; the problem comes where when on hub1, leaf1 is set to be a leaf, and then hub2's connection becomes unstable, splits from hub1, then auto-connect on leaf1 or hub2 try to connect to each other, and are successful, before hub1 <-> hub2 link, then it will cause leaf1 to be forcefully disconnected from hub1, leaving leaf1 and hub2 off by itself, making the split even worse than it originally was.

i think the link block needs a new option (to be used on the leaf side), something like link::options::onlylink or something similar, which would prevent the leaf from accepting any new links if that link block is connected, then for all servers that are considered leafs, you would not have to worry about such problems that are created with autoconnect.

DragonRyder

2007-01-28 08:54

reporter   ~0013141

hub1
-leaf1
-leaf2
`-hub2
 |-leaf3
 |-leaf4

hub2 dies cause the idiot running the dedi doesn't warn you they are doing a kernel upgrade. leafs 3 & 4 do not have an auto connect for hub1, and the server admins for the leafs 3 &4 are off @ work or vacation (w/e). now the NetAdmin has to get off his lazy a** and manually connect the leafs 3 & 4 to hub1.

what i am referring to is, if the hub2 dies (for w/e reasons) how can we make it so the leafs on it auto connect to hub1. cause if you set auto connect to both hubs in the leafs config - any admin sitting on that leaf will see it constantly trying to attempt a connect to hub1 while it is already connected to hub2 - which can cause problems over time.

penna

2007-01-28 09:44

reporter   ~0013144

http://www.vulnscan.org/UnrealIRCd/unreal32docs.html#denylinkblock
Unreal has deny link blocks
I didn't try it out but that should work so unreal only tries to connect to the links if it isn't already linked:

deny link {
  mask = *;
  rule = connected(*);
  type = auto;
};

DragonRyder

2007-01-28 09:53

reporter   ~0013145

i have not even needed to add the deny link like you showed -- it is NOT connecting to hub1 while connected to hub2 - it is making an ATTEMPT to connect, my issue and many others is - we do want to use autoconnect - but we do not want to have to sit there and see the connect attempt to another hub made over and over while it is connected. fact is i do not even have the deny link on my hubs for the leafs - and they do not even connect unless a hub dies. so if hub2 dies - it auto connects to hub1 just fine - the issue is the having to see it making the attempt to connect to hub1 while hub2 connection is in effect and working.

djGrrr

2007-01-28 10:03

reporter   ~0013146

penna, that example deny link block wouldn't do what i want, but i think these one would:

deny link {
  mask hub1;
  rule (directcon(hub2) || directcon(hub3));
  type all;
};

deny link {
  mask hub2;
  rule (directcon(hub1) || directcon(hub3));
  type all;
};

deny link {
  mask hub3;
  rule (directcon(hub1) || directcon(hub2));
  type all;
};

could someone verify this ? i never realized the deny link block could be so powerful

syzop

2015-05-28 18:42

administrator   ~0018374

Since 3.2.8 or 3.2.9 it's no longer a problem if you connect to X servers at the same time, UnrealIRCd will deal with it. Previously this resulted in chaos and de-linking servers, but not anymore.

Therefore this is no longer needed. Just put autoconnect in all your link blocks to your hubs and use a low connfreq.

Issue History

Date Modified Username Field Change
2003-12-30 22:27 fez New Issue
2003-12-31 09:44 penna22 Note Added: 0004484
2003-12-31 09:45 penna22 Note Edited: 0004484
2003-12-31 18:42 syzop Note Added: 0004494
2004-01-22 00:28 syzop Note Added: 0004761
2004-01-22 05:19 HERZ Note Added: 0004765
2004-01-22 05:36 codemastr Note Added: 0004766
2004-01-22 05:39 codemastr Note Edited: 0004766
2004-01-22 06:44 HERZ Note Added: 0004767
2006-11-28 23:44 DragonRyder Note Added: 0012758
2006-11-29 00:15 Stealth Note Added: 0012759
2006-11-29 00:16 Stealth Note Edited: 0012759
2007-01-28 08:37 djGrrr Note Added: 0013140
2007-01-28 08:54 DragonRyder Note Added: 0013141
2007-01-28 09:44 penna Note Added: 0013144
2007-01-28 09:53 DragonRyder Note Added: 0013145
2007-01-28 10:03 djGrrr Note Added: 0013146
2007-04-19 03:22 stskeeps Relationship added child of 0003286
2007-04-19 03:23 stskeeps Status new => acknowledged
2015-05-28 18:42 syzop Note Added: 0018374
2015-05-28 18:42 syzop Status acknowledged => closed
2015-05-28 18:42 syzop Assigned To => syzop
2015-05-28 18:42 syzop Resolution open => no change required