Hello My Beloved One

2018-11-21 Thread Aisha Gaddafi
Assalamu alaikum,
I came across your e-mail contact prior a private search while in need 
of a 
trusted person. My name is Mrs. Aisha Gaddafi, a single Mother and a 
Widow 
with three Children. I am the only biological Daughter of late Libyan 
President (Late Colonel Muammar Gaddafi)I have a business Proposal for 
you 
worth $5.8Million dollars and I need mutual respect, trust, honesty, 
transparency, adequate support and assistance, Hope to hear from you 
for 
more details.
 regards
Mrs Aisha Gaddafi



Hello, this is the second times am sending you this mail and you refused to reply to my email why?

2018-11-12 Thread KATIE HIGGINS




Hello My Dear Friend,

2018-10-24 Thread Mr Marc Joseph Hebert



I am Mr Marc Joseph Hebert a I work in the Finance Risk control/Accounts Broker 
Unit of a prestigious bank in London. Under varying state laws in United 
Kingdom, financial institutions and other companies are required to turn over 
any funds considered "abandoned," including uncashed paychecks, forgotten bank 
account balances, unclaimed refunds, insurance payouts and contents of safe 
deposit boxes. I have the official duty to process and release unclaimed funds 
in the bank to government treasury.

Recently, there are multiple abandoned accounts in the bank which I have 
transferred some to the government treasury. Some of these funds are what I 
want to transfer (10.6m GBP) out of the bank to a sincere and

trustworthy person for either investment purpose or sharing between us.  Can 
you handle this with confidentiality, sincerity and seriousness?

Please indicate your interest by simply replying to this email with your full 
personal details below.

(1) Your Full Name:
(2) Full Residential Address:
(3) Phone And Fax Number:
(4) Occupation:
(5) Whatsapp Number:

I anticipate your urgent response to this financial deal.

Your responds should be forwarded to my private email below.

marc.joseph.hebe...@gmail.com

Sincerely,

Mr Marc Joseph Hebert
Finance Risk control/Accounts Broker Unit.


Hello My Dear Friend,

2018-10-16 Thread Mr Marc Joseph Hebert
I am Mr Marc Joseph Hebert a I work in the Finance Risk
control/Accounts Broker Unit of a prestigious bank in London. Under
varying state laws in United Kingdom, financial institutions and other
companies are required to turn over any funds considered "abandoned,"
including uncashed paychecks, forgotten bank account balances,
unclaimed refunds, insurance payouts and contents of safe deposit
boxes. I have the official duty to process and release unclaimed funds
in the bank to government treasury.

Recently, there are multiple abandoned accounts in the bank which I
have transferred some to the government treasury. Some of these funds
are what I want to transfer (10.6m GBP) out of the bank to a sincere
and

trustworthy person for either investment purpose or sharing between
us.  Can you handle this with confidentiality, sincerity and
seriousness?

Please indicate your interest by simply replying to this email with
your full personal details below.

(1) Your Full Name:
(2) Full Residential Address:
(3) Phone And Fax Number:
(4) Occupation:
(5) Whatsapp Number:

I anticipate your urgent response to this financial deal.

Your responds should be forwarded to my private email below.

marc.joseph.hebe...@gmail.com

Sincerely,

Mr Marc Joseph Hebert
Finance Risk control/Accounts Broker Unit.


Hello Friend

2018-09-19 Thread Danny Chan
Dear,

I am working in financial firm in Asia. I have a business to transfer the sum 
of $19.000.000.00 of abandon fund in my office.
If you are,interested in the transaction reply on my email for more details.

Best Regards,
Danny Chan.



Hello dear.

2018-08-28 Thread Mrs Aisha Gaddafi
Hello dear. 
It is wonderful to contact you, I want us to have correspondence. I 
wish you will have the desire so that we can get acquainted to each 
other. Life itself is a mystery, you never know where it might lead 
you.
I'm Aisha.gaddafi, the only biological douther of Qi,muamar gaddafi of 
libya . I will be pleased if you reply 
through (mrsaishagaddaf...@gmail.com)
thanks aisha.gaddafi


re: hello

2018-08-01 Thread Erika@EuropeMillions




--
Congratulations, You Have won SIX HUNDRED AND FIFTY THOUSAND EURO in the
monthly Euro/ Google draws on July 1, 2018. reply to fill your claim 
form.


Erika Hermann
Online Coordinator
Desk038984EU


Hello

2018-07-30 Thread Mr. Kamalesh Ashu



DEAR  FRIENDI am(Mr.Kamalesh Ashu),With the business proposal deal of 
US(US$10.5 million) to transfer into your account, if you are interested get 
back to me for more detail at my E-mail(ashukamalesh4...@gmail.com)Best Regard
Mr. Kamalesh Ashu

Hello Dear

2018-07-27 Thread Tracy William



Hello Dear, 

how are you today,I hope you are doing great. 

It is my great pleasure to contact you,I want to make a new and special 
friend,I hope you don't mind. My name is Tracy William from the United States, 
Am a french and English nationality. I will give you pictures and more details 
about my self as soon as i hear from you in my email account bellow, 

Thanks 
Tracy


Hello Beautiful

2018-07-22 Thread Jack
Hi Dear, my name is Jack and i am seeking for a relationship in which i will 
feel loved after a series of failed relationships. 

I am hoping that you would be interested and we could possibly get to know each 
other more if you do not mind. I am open to answering questions from you as i 
think my approach is a little inappropriate. Hope to hear back from you.

Jack.


Hello Beautiful

2018-07-12 Thread Jack
Hi Dear, my name is Jack and i am seeking for a relationship in which i will 
feel loved after a series of failed relationships. 

I am hoping that you would be interested and we could possibly get to know each 
other more if you do not mind. I am open to answering questions from you as i 
think my approach is a little inappropriate. Hope to hear back from you.

Jack.


Hello Dear

2018-07-09 Thread Smadar Barber-Tsadik
My name is Smadar Barber-Tsadik, I'm the Chief Executive Officer (C.P.A) of the 
First International Bank of Israel (FIBI). I'm getting in touch with you in 
regards to a very important and urgent matter. Kindly respond back at your 
earliest convinience so I can provide you the details.

Faithfully,
Smadar Barber-Tsadik


Hello Dear

2018-06-07 Thread Charles Koch
Hello Fellow

Charles Koch here, ceo charles koch foundation worldwide (the largest charity 
foundation in the world).
This year under our motto of "Give while living", i and the foundation have 
decided to award $500,000.00
to a few selected lucky individuals and on receipt of this email kindly get 
back to me.


Regards,
Charles Koch.
chkoch2...@dbzmail.com


hello

2018-05-25 Thread las...@ono.com
we came across your e-mail contact prior a private search while in need 
of help

Get your bank atm card, I prepare card that worth huge amount of money
loaded in the card is $3,000,000m us dollars, with this card you can 
make
maximum withdrawals of $500 us dollars daily from any atm machine in
your country. get back to us by this email, mathewthomson746@gmail,com

Mr. mr. mathewthomson,
Manager  director atm card department


Hello,

2018-05-25 Thread Mrs. Annabelle Edo.
Hello,

Good day, How you are today and your family, i hope you are in good
health, my name is Mrs. Annabelle, I saw your email on Web. Media, I
have something to discuss with you my late unclaimed fund, please
reply me for more information,

Mrs. Annabelle Ed


hello from laminata

2018-05-19 Thread Laminata
Hello, Happy weekend,
Please contact me on my direct email, laminatasu...@gmail.com, i have
something important to discuss with you,
Hope to read from you soonest,
Yours beloved Laminata


Hello

2018-05-04 Thread Faruk Sakawo
I have a business to discuss with you, can we talk?


Regards
Faruk Sakawo


Hello from Lisa

2018-04-27 Thread Lisa Johnson
Hello dear,
I am Miss Lisa. I have very important thing to discuss with you
please, this information is very vital. Contact me with my private
email so we can talk (lisajohnsonsalima...@hotmail.com )
Lisa.


Hello Beautiful

2018-03-25 Thread Jack
Hi Dear, my name is Jack and i am seeking for a relationship in which i will 
feel loved after a series of failed relationships. 

I am hoping that you would be interested and we could possibly get to know each 
other more if you do not mind. I am open to answering questions from you as i 
think my approach is a little inappropriate. Hope to hear back from you.

Jack.


Hello Beautiful

2018-03-25 Thread Jack
Hi Dear, my name is Jack and i am seeking for a relationship in which i will 
feel loved after a series of failed relationships. 

I am hoping that you would be interested and we could possibly get to know each 
other more if you do not mind. I am open to answering questions from you as i 
think my approach is a little inappropriate. Hope to hear back from you.

Jack.


Hello Beautiful

2018-03-25 Thread Jack
Cześć Drogi, nazywam się Jack i szukam związku, w którym będę czuć się kochany 
po serii nieudanych związków.

Mam nadzieję, że byłbyś zainteresowany i moglibyśmy się lepiej poznać, jeśli 
nie masz nic przeciwko. Jestem otwarty na udzielanie odpowiedzi na pytania od 
ciebie, ponieważ uważam, że moje podejście jest trochę niewłaściwe. Mam 
nadzieję, że odezwę się od ciebie.

Jacek.


Hello

2018-03-22 Thread Mrs. Pamela Atuegbe
Am Mrs.Pamela Atuegbe, I work in one of the prime bank here in burkina 
faso, i want the bank to transfer the money left by our late customer 
is a foreigner from Korea. can you investment this money and also help 
the poor' the amount value at $13,300,000.00 (Thirteen Million Three 
Hundred Thousand United States American Dollars), left in his account 
still unclaimed. more details will be giving to you if you are 
interested.

Yours sincerely

Name: Mrs. Pamela Atuegbe








Hello,

2018-03-21 Thread Abdulahi Issa
Hello,

I am Mr. Abdulahi Issa, from Burkina Faso in West African region. I
work with the Bank of Africa here Which i am the audit manager . Can
you safe Guard these amount( $18 Million USD) for me in your Country??
Further Details will be given to you if you show Interest.

Regards

Mr. Abdulahi Issa.


Hello Dear,

2018-02-15 Thread Musa


Hello Dear,

I am Mr.Musa Ali
I have a Geniue business transaction of (10.5Million Dollars) to do with You
Hence You Co-operate with me  I am assured you that within (7) seven banking 
working days, this said amount will enter your given Bank account with 
immediate alacrity. If you agree to my business proposal, further details of 
the transfer will be forwarded to you as soon as I receive your wiliness to 
join hand with me.
Am awaiting your urgent response with this informations
Name:...
Sex:...
Age:...
Occupation:
Address:...
Tel/ Fax:...
State:.
Country Of origin:..
Have a nice day!!
Mr.Musa Ali


hello

2018-02-13 Thread Musa


Hello Dear,

I am Mr.Musa Ali
I have a Geniue business transaction of (10.5Million Dollars) to do with You
Hence You Co-operate with me  I am assured you that within (7) seven banking 
working days, this said amount will enter your given Bank account with 
immediate alacrity. If you agree to my business proposal, further details of 
the transfer will be forwarded to you as soon as I receive your wiliness to 
join hand with me.
Am awaiting your urgent response with this informations
Name:...
Sex:...
Age:...
Occupation:
Address:...
Tel/ Fax:...
State:.
Country Of origin:..
Have a nice day!!
Mr.Musa Ali


Hello Beautiful

2018-02-10 Thread jack
Good day dear, i hope this mail meets you well? my name is Jack, from the U.S. 
I know this may seem inappropriate so i ask for your forgiveness but i wish to 
get to know you better, if I may be so bold. I consider myself an easy-going 
man, adventurous, honest and fun loving person but I am currently looking for a 
relationship in which I will feel loved. I promise to answer any question that 
you may want to ask me...all i need is just your attention and the chance to 
know you more.

Please tell me more about yourself, if you do not mind. Hope to hear back from 
you soon.

Jack.


Hello dear

2018-01-24 Thread verify


  
Hello dear
My name is abudul  Ahassan, I work with one of the leading Banks here in Africa.
 I have a business proposal worth 18$million dollars for more information 
contact me 
on my private email
(maliahassan57@gmail. com)
I urgently hope to get your response as soon as possible.
Yours Sincerely, 
Abudu Ahassan



Hello dear

2018-01-20 Thread verify
  
Hello dear
My name is abudul  Ahassan, I work with one of the leading Banks here in Africa.
 I have a business proposal worth 18$million dollars for more information 
contact me on
my private email
<maliahassa...@gmail.com>
I urgently hope to get your response as soon as possible.
Yours Sincerely, 
Abudu Ahassan   






HELLO!

2017-11-26 Thread Mr. G. CHA
I have important transaction for you as next of kin to claim US$8.37m  email me 
at changgordo...@yahoo.com.hk so I can send you more details


Hello Dear

2017-11-20 Thread Mr Sheng Li Hung
Hello Dear

I am Mr.Sheng Li Hung, from china I got your information while search for
a reliable person, I have a very profitable business proposition for you
and i can assure you that you will not regret been part of this mutual
beneficial transaction after completion. Kindly get back to me for more
details on this email id: shenglil...@hotmail.com


Thanks
Sheng Li Hung


Hello Dear...

2017-11-15 Thread M,Shakour Rosarita
Hello Dear...

I know that this message will come to you as a surprise. I hoped that
you will not expose or betray this trust and confident that I am about
to repose on you, my name is M, Shakour Rosarita. I am 19 years old
Girl, female, from Tartu Syria, (never married) 61 kg, white in
complexion, and I am currently living in the refugee camp here in
Abidjan Ivory Coast, My late beloved father M,Shakour Hassin was a
renowned businessman and owner of Natour Petrol Station in Syria, he
was killed in a stampede riot in Tartu, Syria.
When I got the news about my parents. I fled to a nearby country
Jordan before I joined a ferry to Africa and came to Abidjan capital
city Ivory Coast West Africa find safety here.
I came in 2015 to Abidjan and I now live in refugee camps here as
refugees are allowed freely to enter here without, My late father
deposited (US$6.200.000.00m) My late father kept the money at the bank
of Africa, I want you to help me transfer the money to your hand so
that you will help me bring me into your country for my continue
education.

I sent my pictures here for you to see. Who I am seriously looking for
a good-person in my life, so I want to hear from you soon and learn
more about you.

I am an open-minded and friendly girl to share a good time with you
and have fun and enjoy on the go, bird watching, the rest of our
lives. My Hobbies, tourism books, dance, music, soccer, tennis,
swimming and cinema.
I would just think about you, including your dose and doesn’t .I
believe we will do well together, and live like one family.
Thank you and God bless you, for you in your promise to help me here,
looking forward to your reply by the grace of God and have a good day.
I hope you send me your photos as well? I await your next reply in
faith please reply through my private email at
(mshakourrosarit...@gmail.com):
Thanks.
Ms Rosarita


Hello Dear...

2017-11-13 Thread M,Shakour Rosarita
Hello Dear...

I know that this message will come to you as a surprise. I hoped that
you will not expose or betray this trust and confident that I am about
to repose on you, my name is M, Shakour Rosarita. I am 19 years old
Girl, female, from Tartu Syria, (never married) 61 kg, white in
complexion, and I am currently living in the refugee camp here in
Abidjan Ivory Coast, My late beloved father M,Shakour Hassin was a
renowned businessman and owner of Natour Petrol Station in Syria, he
was killed in a stampede riot in Tartu, Syria.
When I got the news about my parents. I fled to a nearby country
Jordan before I joined a ferry to Africa and came to Abidjan capital
city Ivory Coast West Africa find safety here.
I came in 2015 to Abidjan and I now live in refugee camps here as
refugees are allowed freely to enter here without, My late father
deposited (US$6.200.000.00m) My late father kept the money at the bank
of Africa, I want you to help me transfer the money to your hand so
that you will help me bring me into your country for my continue
education.

I sent my pictures here for you to see. Who I am seriously looking for
a good-person in my life, so I want to hear from you soon and learn
more about you.

I am an open-minded and friendly girl to share a good time with you
and have fun and enjoy on the go, bird watching, the rest of our
lives. My Hobbies, tourism books, dance, music, soccer, tennis,
swimming and cinema.
I would just think about you, including your dose and doesn’t .I
believe we will do well together, and live like one family.
Thank you and God bless you, for you in your promise to help me here,
looking forward to your reply by the grace of God and have a good day.
I hope you send me your photos as well? I await your next reply in
faith please reply through my private email at
(mshakourrosarit...@gmail.com):
Thanks.
Ms Rosarita


Hello Friend

2017-11-10 Thread Wang Jianlin

I intend to give you a portion of my wealth as a free-will financial
donation to you, Respond to partake.
Wang Jianlin
Wanda Group


Hello

2017-10-23 Thread Mrs. Liz
Dear Sir/Madam

Greetings to you My name is Mrs. Liz Clayton I am 73 years old, I am a dying 
woman who has decided to donate what I have to you/churches/ motherless 
babies/less privileged/widows.I was diagnosed with cancer for about 2 years 
ago. I have been touched by God to donate from what I have inherited from my 
late husband to you for good work of God. Please if you are ready to assist me 
to distribute my funds of Twenty Million Dollars to charity. Awaiting your 
reply.


Your sister in Christ,
Mrs. Liz Clayton.


Hello

2017-10-16 Thread Mrs. AmiraaWilliams
Hello Dear,

Please forgive me for stressing you with my predicaments as I know
that this letter may come to you as big surprise. Actually, I came
across your E-mail from my personal search afterward I decided to
email you directly believing that you will be honest to fulfill my
final wish before i die. Meanwhile, I am Mrs. Amiraa Williams, 62
years old, from America, and I am suffering from a long time cancer
and from all indication my condition is really deteriorating as my
doctors have confirmed and courageously Advised me that I may not live
beyond two months from now for the reason that my tumor has reached a
critical stage which has defiled all forms of medical treatment, As a
matter of fact, registered nurse by profession while my husband was
dealing on Gold Dust and Gold Dory Bars in Burkina Faso till his
sudden death the year 2008 then I took over his business till date. In
fact, at this moment I have a deposit sum of four million five hundred
thousand US dollars [$4,500,000.00] with one of the leading bank in
Burkina Faso but unfortunately I cannot visit the bank since I’m
critically sick and powerless to do anything myself but my bank
account officer advised me to assign any of my trustworthy relative,
friends or partner with authorization letter to stand as the recipient
of my money but sorrowfully I don’t have any reliable relative and no
child.

Therefore, I want you to receive the money and take 50% to take care
of yourself and family while 50% should be use basically on
humanitarian purposes mostly to orphanages home, Motherless babies
home, less privileged and disable citizens and widows around the
world.  as soon as I receive your respond I shall send you the full
details with my pictures, banking records and with full contacts of my
banking institution to communicate them on the matter.

Hope to hear from you soon.
Yours Faithfully,
Mrs. Amiraa Williams


Hello

2017-10-12 Thread Daria Yoong Shang
Hello,

Can i trust an investment project in your country? accepted please send email 
for more details.

Best Regards 
Daria Yoong Shang


Hello Friend

2017-09-11 Thread Mr. LEUNG Cheung
I NEED YOUR ASSISTANCE INTO THIS TRANSACTION


Hello Friend

2017-09-10 Thread Mr. LEUNG Cheung
I NEED YOUR ASSISTANCE INTO THIS TRANSACTION


Hello

2017-08-24 Thread Mr. Mehdi Afrendo
Greetings dear Friend,

I have a proposal for you, this however is not mandatory nor will I in
any manner compel you to honor against your will, Please read
carefully. I am Mr Mehdi A. Al-Shamali, A former executive director
with Arab Tunisian Bank here in Tunis; I retired 1 year 7 months ago
after putting in 28 years of meticulous service. During my days with
Arab Tunisian Bank, I was the personal account officer and one of the
financial advisers to Zine Al-Abidine Ben Ali the past Tunisian
President in self exile at Saudi Arabia.

During his trying period, he instructed me to move all his investment
in my care which consists of US$115M and 767KG of gold out of the Gulf
States for safe keeping; and that I successfully did by moving US$50
Million to Madrid Spain, US$50 Million to Dubai United Arab Emirate,
US$15 Million to Burkina Faso and the 767KG of gold to Burkina Faso in
West Africa as an anonymous deposits, so that the funds will in no way
be traced to him. He has instructed me to find an investor who would
stand as the anonymous depositor of the fund and gold; and claim it
for further investment.

Consequent upon the above, my proposal is that I would like you as a
foreigner to stand in as the anonymous depositor of this fund and gold
that I have successfully moved outside the country and provide an
account overseas where this said fund will be transferred into. It is
a careful network and my voluntary retirement from the Arab Tunisian
Bank is to ensure a hitch-free operation as all modalities for you to
stand as beneficiary and owner of the deposits has been perfected by
me. Mr. Zine al-Abidine Ben Ali will be offering you 20% of the total
investment if you can be the investor and claim this deposits in Spain
and Burkina Faso as the anonymous depositor.

Now my questions are:-

1. Can you handle this transaction?
2. Can I give you this trust?

Consider this and get back to me as soon as possible so that I can
give you more details regarding this transaction. Finally, it is my
humble request that the information as contained herein be accorded
the necessary attention, urgency as well as the secrecy it deserves.

I expect your urgent response if you can handle this project.

Respectfully yours,

Mr Mehdi A. Al-Shamali.


Hello

2017-07-25 Thread Mrs Liz
Dear Sir/Madam

Greetings of the session July, My name is Mrs. Liz Clayton I am 63 years old, I 
am a dying woman who has decided to donate what I have to you/churches/ 
motherless babies/less privileged/widows.I was diagnosed with cancer for about 
2 years ago. I have been touched by God to donate from what I have inherited 
from my late husband to you for good work of God. Please if you are ready to 
assist me to distribute my funds of Twenty Million Dollars to charity. Awaiting 
your reply.


Your sister in Christ,
Mrs. Liz Clayton.


Re: [PATCH net] net: bridge: start hello timer only if device is up

2017-06-01 Thread Sebastian Ott
On Thu, 1 Jun 2017, Nikolay Aleksandrov wrote:
> When the transition of NO_STP -> KERNEL_STP was fixed by always calling
> mod_timer in br_stp_start, it introduced a new regression which causes
> the timer to be armed even when the bridge is down, and since we stop
> the timers in its ndo_stop() function, they never get disabled if the
> device is destroyed before it's upped.
> 
> To reproduce:
> $ while :; do ip l add br0 type bridge hello_time 100; brctl stp br0 on;
> ip l del br0; done;
> 
> CC: Xin Long 
> CC: Ivan Vecera 
> CC: Sebastian Ott 
> Reported-by: Sebastian Ott 
> Fixes: 6d18c732b95c ("bridge: start hello_timer when enabling KERNEL_STP in 
> br_stp_start")
> Signed-off-by: Nikolay Aleksandrov 
> ---
> Sebastian it'd be great if you can test the patch as well.

I did and can confirm that it fixes the problem.

Thanks,
Sebastian



Re: [PATCH net] net: bridge: start hello timer only if device is up

2017-06-01 Thread David Miller
From: Nikolay Aleksandrov 
Date: Thu,  1 Jun 2017 18:07:55 +0300

> When the transition of NO_STP -> KERNEL_STP was fixed by always calling
> mod_timer in br_stp_start, it introduced a new regression which causes
> the timer to be armed even when the bridge is down, and since we stop
> the timers in its ndo_stop() function, they never get disabled if the
> device is destroyed before it's upped.
> 
> To reproduce:
> $ while :; do ip l add br0 type bridge hello_time 100; brctl stp br0 on;
> ip l del br0; done;
> 
> CC: Xin Long 
> CC: Ivan Vecera 
> CC: Sebastian Ott 
> Reported-by: Sebastian Ott 
> Fixes: 6d18c732b95c ("bridge: start hello_timer when enabling KERNEL_STP in 
> br_stp_start")
> Signed-off-by: Nikolay Aleksandrov 

Applied and queued up for -stable.


[PATCH net] net: bridge: start hello timer only if device is up

2017-06-01 Thread Nikolay Aleksandrov
When the transition of NO_STP -> KERNEL_STP was fixed by always calling
mod_timer in br_stp_start, it introduced a new regression which causes
the timer to be armed even when the bridge is down, and since we stop
the timers in its ndo_stop() function, they never get disabled if the
device is destroyed before it's upped.

To reproduce:
$ while :; do ip l add br0 type bridge hello_time 100; brctl stp br0 on;
ip l del br0; done;

CC: Xin Long 
CC: Ivan Vecera 
CC: Sebastian Ott 
Reported-by: Sebastian Ott 
Fixes: 6d18c732b95c ("bridge: start hello_timer when enabling KERNEL_STP in 
br_stp_start")
Signed-off-by: Nikolay Aleksandrov 
---
Sebastian it'd be great if you can test the patch as well.

 net/bridge/br_stp_if.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index 4efd5d54498a..89110319ef0f 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -173,7 +173,8 @@ static void br_stp_start(struct net_bridge *br)
br_debug(br, "using kernel STP\n");
 
/* To start timers on any ports left in blocking */
-   mod_timer(>hello_timer, jiffies + br->hello_time);
+   if (br->dev->flags & IFF_UP)
+   mod_timer(>hello_timer, jiffies + br->hello_time);
br_port_state_selection(br);
}
 
-- 
2.1.4



Re: [PATCH net-next v2] bridge: fix hello and hold timers starting/stopping

2017-05-22 Thread David Miller
From: Ivan Vecera <c...@cera.cz>
Date: Fri, 19 May 2017 19:30:43 +0200

> Current bridge code incorrectly handles starting/stopping of hello and
> hold timers during STP enable/disable.
> 
> 1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
>transition. The timers are already stopped in NO_STP state so
>this is confusing no-op.
> 
> 2. During USER_STP->NO_STP transition the timers are started. This
>does not make sense and is confusion because the timer should not be
>active in NO_STP state.
> 
> Cc: da...@davemloft.net
> Cc: sas...@cumulusnetworks.com
> Cc: step...@networkplumber.org
> Cc: bri...@lists.linux-foundation.org
> Cc: lucien@gmail.com
> Cc: niko...@cumulusnetworks.com
> Signed-off-by: Ivan Vecera <c...@cera.cz>

Applied.


Re: [PATCH net-next v2] bridge: fix hello and hold timers starting/stopping

2017-05-20 Thread Hangbin Liu
On Sat, May 20, 2017 at 09:06:16AM +0200, Ivan Vecera wrote:
> 2017-05-20 7:57 GMT+02:00 Hangbin Liu <liuhang...@gmail.com>:
> > On Fri, May 19, 2017 at 07:30:43PM +0200, Ivan Vecera wrote:
> >> Current bridge code incorrectly handles starting/stopping of hello and
> >> hold timers during STP enable/disable.
> >>
> >> 1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
> >>transition. The timers are already stopped in NO_STP state so
> >>    this is confusing no-op.
> >
> > Hi Ivan,
> >
> > Shouldn't we start hello timer in br_stp_start when NO_STP -> BR_KERNEL_STP 
> > ?
> 
> As Nikolay mentioned, this is fixed by
> https://patchwork.ozlabs.org/patch/764685/

Ah, sorry. My mistake. I only saw xin's patch and your v2 patch. So I mixed
them up and thought this is xin's V2 patch. That's why I wonder we didn't
start hello timer in br_stp_start...

Now I see your v1 patch with:

The patch is a follow-up for "bridge: start hello_timer when enabling
KERNEL_STP in br_stp_start" patch from Xin Long."

Sorry for mixed them up.
> 
> >>
> >> 2. During USER_STP->NO_STP transition the timers are started. This
> >>does not make sense and is confusion because the timer should not be
> >>active in NO_STP state.
> >
> > Yes, but what about BR_KERNEL_STP -> NO_STP in function br_stp_stop() ?
> 
> The timer is lazily stopped by itself in its handler... or not rearmed
> respectively.

Yes, with xin's patch this timer will stoped by itself.

Thanks
Hangbin


Re: [PATCH net-next v2] bridge: fix hello and hold timers starting/stopping

2017-05-20 Thread Ivan Vecera
2017-05-20 7:57 GMT+02:00 Hangbin Liu <liuhang...@gmail.com>:
> On Fri, May 19, 2017 at 07:30:43PM +0200, Ivan Vecera wrote:
>> Current bridge code incorrectly handles starting/stopping of hello and
>> hold timers during STP enable/disable.
>>
>> 1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
>>transition. The timers are already stopped in NO_STP state so
>>this is confusing no-op.
>
> Hi Ivan,
>
> Shouldn't we start hello timer in br_stp_start when NO_STP -> BR_KERNEL_STP ?

As Nikolay mentioned, this is fixed by
https://patchwork.ozlabs.org/patch/764685/

>>
>> 2. During USER_STP->NO_STP transition the timers are started. This
>>does not make sense and is confusion because the timer should not be
>>active in NO_STP state.
>
> Yes, but what about BR_KERNEL_STP -> NO_STP in function br_stp_stop() ?

The timer is lazily stopped by itself in its handler... or not rearmed
respectively.

>> Cc: da...@davemloft.net
>> Cc: sas...@cumulusnetworks.com
>> Cc: step...@networkplumber.org
>> Cc: bri...@lists.linux-foundation.org
>> Cc: lucien@gmail.com
>> Cc: niko...@cumulusnetworks.com
>> Signed-off-by: Ivan Vecera <c...@cera.cz>
>> ---
>>  net/bridge/br_stp_if.c | 11 ---
>>  1 file changed, 11 deletions(-)
>>
>> diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
>> index 08341d2aa9c9..a05027027513 100644
>> --- a/net/bridge/br_stp_if.c
>> +++ b/net/bridge/br_stp_if.c
>> @@ -150,7 +150,6 @@ static int br_stp_call_user(struct net_bridge *br, char 
>> *arg)
>>
>>  static void br_stp_start(struct net_bridge *br)
>>  {
>> - struct net_bridge_port *p;
>>   int err = -ENOENT;
>>
>>   if (net_eq(dev_net(br->dev), _net))
>> @@ -169,11 +168,6 @@ static void br_stp_start(struct net_bridge *br)
>>   if (!err) {
>>   br->stp_enabled = BR_USER_STP;
>>   br_debug(br, "userspace STP started\n");
>> -
>> - /* Stop hello and hold timers */
>> - del_timer(>hello_timer);
>> - list_for_each_entry(p, >port_list, list)
>> - del_timer(>hold_timer);
>
> I'm not sure if user space daemon will send bpdu or not? In comment
> 76b91c32dd86 ("bridge: stp: when using userspace stp stop kernel hello and
> hold timers"). Nikolay said we should not handle it with BR_USER_STP.
>
>>   } else {
>>   br->stp_enabled = BR_KERNEL_STP;
>>   br_debug(br, "using kernel STP\n");
>> @@ -187,7 +181,6 @@ static void br_stp_start(struct net_bridge *br)
>>
>>  static void br_stp_stop(struct net_bridge *br)
>>  {
>> - struct net_bridge_port *p;
>>   int err;
>>
>>   if (br->stp_enabled == BR_USER_STP) {
>> @@ -196,10 +189,6 @@ static void br_stp_stop(struct net_bridge *br)
>>   br_err(br, "failed to stop userspace STP (%d)\n", err);
>>
>>   /* To start timers on any ports left in blocking */
>> - mod_timer(>hello_timer, jiffies + br->hello_time);
>> - list_for_each_entry(p, >port_list, list)
>> - mod_timer(>hold_timer,
>> -   round_jiffies(jiffies + BR_HOLD_TIME));
>
> If we do not del hello_timer. after it expired in br_hello_timer_expired(),
> Our state is br->dev->flags & IFF_UP and br->stp_enabled == NO_STP, it will
> call mod_timer(>hello_timer, round_jiffies(jiffies + br->hello_time))
> and we will keep sending bpdu message even after stp stoped.
>
>>   spin_lock_bh(>lock);
>>   br_port_state_selection(br);
>>   spin_unlock_bh(>lock);
>> --
>
> So how about just like
>
> diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
> index d8ad73b..0198f62 100644
> --- a/net/bridge/br_stp_if.c
> +++ b/net/bridge/br_stp_if.c
> @@ -183,6 +183,7 @@ static void br_stp_start(struct net_bridge *br)
> } else {
> br->stp_enabled = BR_KERNEL_STP;
> br_debug(br, "using kernel STP\n");
> +   mod_timer(>hello_timer, jiffies + br->hello_time);
>
> /* To start timers on any ports left in blocking */
> br_port_state_selection(br);
> @@ -202,7 +203,6 @@ static void br_stp_stop(struct net_bridge *br)
> br_err(br, "failed to stop userspace STP (%d)\n", 
> err);
>
> /* To start timers on any ports left in blocking */
> -   mod_timer(>hello_timer, jiffies + br->hello_time);
> list_for_each_entry(p, >port_list, list)
> mod_timer(>hold_timer,
>   round_jiffies(jiffies + BR_HOLD_TIME));
> @@ -211,6 +211,7 @@ static void br_stp_stop(struct net_bridge *br)
> spin_unlock_bh(>lock);
> }
>
> +   del_timer_sync(>hello_timer);
> br->stp_enabled = BR_NO_STP;
>  }
>
> Thanks
> Hangbin


Re: [PATCH net-next v2] bridge: fix hello and hold timers starting/stopping

2017-05-20 Thread Nikolay Aleksandrov

On 5/20/17 8:57 AM, Hangbin Liu wrote:

On Fri, May 19, 2017 at 07:30:43PM +0200, Ivan Vecera wrote:

Current bridge code incorrectly handles starting/stopping of hello and
hold timers during STP enable/disable.

1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
transition. The timers are already stopped in NO_STP state so
this is confusing no-op.


Hi Ivan,

Shouldn't we start hello timer in br_stp_start when NO_STP -> BR_KERNEL_STP ?


Please see Xin Long's recent -net patch that fixes exactly this issue.
It will answer your questions below, too.

https://patchwork.ozlabs.org/patch/764685/



2. During USER_STP->NO_STP transition the timers are started. This
does not make sense and is confusion because the timer should not be
active in NO_STP state.


Yes, but what about BR_KERNEL_STP -> NO_STP in function br_stp_stop() ?


Cc: da...@davemloft.net
Cc: sas...@cumulusnetworks.com
Cc: step...@networkplumber.org
Cc: bri...@lists.linux-foundation.org
Cc: lucien@gmail.com
Cc: niko...@cumulusnetworks.com
Signed-off-by: Ivan Vecera <c...@cera.cz>
---
  net/bridge/br_stp_if.c | 11 ---
  1 file changed, 11 deletions(-)

diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index 08341d2aa9c9..a05027027513 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -150,7 +150,6 @@ static int br_stp_call_user(struct net_bridge *br, char 
*arg)
  
  static void br_stp_start(struct net_bridge *br)

  {
-   struct net_bridge_port *p;
int err = -ENOENT;
  
  	if (net_eq(dev_net(br->dev), _net))

@@ -169,11 +168,6 @@ static void br_stp_start(struct net_bridge *br)
if (!err) {
br->stp_enabled = BR_USER_STP;
br_debug(br, "userspace STP started\n");
-
-   /* Stop hello and hold timers */
-   del_timer(>hello_timer);
-   list_for_each_entry(p, >port_list, list)
-   del_timer(>hold_timer);


I'm not sure if user space daemon will send bpdu or not? In comment
76b91c32dd86 ("bridge: stp: when using userspace stp stop kernel hello and
hold timers"). Nikolay said we should not handle it with BR_USER_STP >

} else {
br->stp_enabled = BR_KERNEL_STP;
br_debug(br, "using kernel STP\n");
@@ -187,7 +181,6 @@ static void br_stp_start(struct net_bridge *br)
  
  static void br_stp_stop(struct net_bridge *br)

  {
-   struct net_bridge_port *p;
int err;
  
  	if (br->stp_enabled == BR_USER_STP) {

@@ -196,10 +189,6 @@ static void br_stp_stop(struct net_bridge *br)
br_err(br, "failed to stop userspace STP (%d)\n", err);
  
  		/* To start timers on any ports left in blocking */

-   mod_timer(>hello_timer, jiffies + br->hello_time);
-   list_for_each_entry(p, >port_list, list)
-   mod_timer(>hold_timer,
- round_jiffies(jiffies + BR_HOLD_TIME));


If we do not del hello_timer. after it expired in br_hello_timer_expired(),
Our state is br->dev->flags & IFF_UP and br->stp_enabled == NO_STP, it will
call mod_timer(>hello_timer, round_jiffies(jiffies + br->hello_time))
and we will keep sending bpdu message even after stp stoped.


Again see Xin Long's recent -net patch.




spin_lock_bh(>lock);
br_port_state_selection(br);
spin_unlock_bh(>lock);
--


So how about just like

diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index d8ad73b..0198f62 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -183,6 +183,7 @@ static void br_stp_start(struct net_bridge *br)
 } else {
 br->stp_enabled = BR_KERNEL_STP;
 br_debug(br, "using kernel STP\n");
+   mod_timer(>hello_timer, jiffies + br->hello_time);

 /* To start timers on any ports left in blocking */
 br_port_state_selection(br);
@@ -202,7 +203,6 @@ static void br_stp_stop(struct net_bridge *br)
 br_err(br, "failed to stop userspace STP (%d)\n", err);

 /* To start timers on any ports left in blocking */
-   mod_timer(>hello_timer, jiffies + br->hello_time);
 list_for_each_entry(p, >port_list, list)
 mod_timer(>hold_timer,
   round_jiffies(jiffies + BR_HOLD_TIME));
@@ -211,6 +211,7 @@ static void br_stp_stop(struct net_bridge *br)
 spin_unlock_bh(>lock);
 }

+   del_timer_sync(>hello_timer);
 br->stp_enabled = BR_NO_STP;
  }

Thanks
Hangbin





Re: [PATCH net-next v2] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Hangbin Liu
On Fri, May 19, 2017 at 07:30:43PM +0200, Ivan Vecera wrote:
> Current bridge code incorrectly handles starting/stopping of hello and
> hold timers during STP enable/disable.
> 
> 1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
>transition. The timers are already stopped in NO_STP state so
>this is confusing no-op.

Hi Ivan,

Shouldn't we start hello timer in br_stp_start when NO_STP -> BR_KERNEL_STP ?
> 
> 2. During USER_STP->NO_STP transition the timers are started. This
>does not make sense and is confusion because the timer should not be
>active in NO_STP state.

Yes, but what about BR_KERNEL_STP -> NO_STP in function br_stp_stop() ?
> 
> Cc: da...@davemloft.net
> Cc: sas...@cumulusnetworks.com
> Cc: step...@networkplumber.org
> Cc: bri...@lists.linux-foundation.org
> Cc: lucien@gmail.com
> Cc: niko...@cumulusnetworks.com
> Signed-off-by: Ivan Vecera <c...@cera.cz>
> ---
>  net/bridge/br_stp_if.c | 11 ---
>  1 file changed, 11 deletions(-)
> 
> diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
> index 08341d2aa9c9..a05027027513 100644
> --- a/net/bridge/br_stp_if.c
> +++ b/net/bridge/br_stp_if.c
> @@ -150,7 +150,6 @@ static int br_stp_call_user(struct net_bridge *br, char 
> *arg)
>  
>  static void br_stp_start(struct net_bridge *br)
>  {
> - struct net_bridge_port *p;
>   int err = -ENOENT;
>  
>   if (net_eq(dev_net(br->dev), _net))
> @@ -169,11 +168,6 @@ static void br_stp_start(struct net_bridge *br)
>   if (!err) {
>   br->stp_enabled = BR_USER_STP;
>   br_debug(br, "userspace STP started\n");
> -
> - /* Stop hello and hold timers */
> - del_timer(>hello_timer);
> - list_for_each_entry(p, >port_list, list)
> -     del_timer(>hold_timer);

I'm not sure if user space daemon will send bpdu or not? In comment
76b91c32dd86 ("bridge: stp: when using userspace stp stop kernel hello and
hold timers"). Nikolay said we should not handle it with BR_USER_STP.

>   } else {
>   br->stp_enabled = BR_KERNEL_STP;
>   br_debug(br, "using kernel STP\n");
> @@ -187,7 +181,6 @@ static void br_stp_start(struct net_bridge *br)
>  
>  static void br_stp_stop(struct net_bridge *br)
>  {
> - struct net_bridge_port *p;
>   int err;
>  
>   if (br->stp_enabled == BR_USER_STP) {
> @@ -196,10 +189,6 @@ static void br_stp_stop(struct net_bridge *br)
>   br_err(br, "failed to stop userspace STP (%d)\n", err);
>  
>   /* To start timers on any ports left in blocking */
> - mod_timer(>hello_timer, jiffies + br->hello_time);
> - list_for_each_entry(p, >port_list, list)
> - mod_timer(>hold_timer,
> -   round_jiffies(jiffies + BR_HOLD_TIME));

If we do not del hello_timer. after it expired in br_hello_timer_expired(),
Our state is br->dev->flags & IFF_UP and br->stp_enabled == NO_STP, it will
call mod_timer(>hello_timer, round_jiffies(jiffies + br->hello_time))
and we will keep sending bpdu message even after stp stoped.

>   spin_lock_bh(>lock);
>   br_port_state_selection(br);
>   spin_unlock_bh(>lock);
> -- 

So how about just like

diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index d8ad73b..0198f62 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -183,6 +183,7 @@ static void br_stp_start(struct net_bridge *br)
} else {
br->stp_enabled = BR_KERNEL_STP;
br_debug(br, "using kernel STP\n");
+   mod_timer(>hello_timer, jiffies + br->hello_time);

/* To start timers on any ports left in blocking */
br_port_state_selection(br);
@@ -202,7 +203,6 @@ static void br_stp_stop(struct net_bridge *br)
br_err(br, "failed to stop userspace STP (%d)\n", err);

/* To start timers on any ports left in blocking */
-   mod_timer(>hello_timer, jiffies + br->hello_time);
list_for_each_entry(p, >port_list, list)
mod_timer(>hold_timer,
  round_jiffies(jiffies + BR_HOLD_TIME));
@@ -211,6 +211,7 @@ static void br_stp_stop(struct net_bridge *br)
spin_unlock_bh(>lock);
}

+   del_timer_sync(>hello_timer);
br->stp_enabled = BR_NO_STP;
 }

Thanks
Hangbin


Re: [PATCH net-next v2] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Nikolay Aleksandrov

On 5/19/17 8:30 PM, Ivan Vecera wrote:

Current bridge code incorrectly handles starting/stopping of hello and
hold timers during STP enable/disable.

1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
transition. The timers are already stopped in NO_STP state so
this is confusing no-op.

2. During USER_STP->NO_STP transition the timers are started. This
does not make sense and is confusion because the timer should not be
active in NO_STP state.

Cc: da...@davemloft.net
Cc: sas...@cumulusnetworks.com
Cc: step...@networkplumber.org
Cc: bri...@lists.linux-foundation.org
Cc: lucien@gmail.com
Cc: niko...@cumulusnetworks.com
Signed-off-by: Ivan Vecera <c...@cera.cz>
---
  net/bridge/br_stp_if.c | 11 ---
  1 file changed, 11 deletions(-)



LGTM, thanks!

Acked-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com>




Re: [PATCH net-next v2] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Xin Long
On Sat, May 20, 2017 at 1:30 AM, Ivan Vecera <c...@cera.cz> wrote:
> Current bridge code incorrectly handles starting/stopping of hello and
> hold timers during STP enable/disable.
>
> 1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
>transition. The timers are already stopped in NO_STP state so
>this is confusing no-op.
>
> 2. During USER_STP->NO_STP transition the timers are started. This
>does not make sense and is confusion because the timer should not be
>active in NO_STP state.
>
> Cc: da...@davemloft.net
> Cc: sas...@cumulusnetworks.com
> Cc: step...@networkplumber.org
> Cc: bri...@lists.linux-foundation.org
> Cc: lucien@gmail.com
> Cc: niko...@cumulusnetworks.com
> Signed-off-by: Ivan Vecera <c...@cera.cz>
Reviewed-by: Xin Long <lucien@gmail.com>

> ---
>  net/bridge/br_stp_if.c | 11 ---
>  1 file changed, 11 deletions(-)
>
> diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
> index 08341d2aa9c9..a05027027513 100644
> --- a/net/bridge/br_stp_if.c
> +++ b/net/bridge/br_stp_if.c
> @@ -150,7 +150,6 @@ static int br_stp_call_user(struct net_bridge *br, char 
> *arg)
>
>  static void br_stp_start(struct net_bridge *br)
>  {
> -   struct net_bridge_port *p;
> int err = -ENOENT;
>
> if (net_eq(dev_net(br->dev), _net))
> @@ -169,11 +168,6 @@ static void br_stp_start(struct net_bridge *br)
> if (!err) {
> br->stp_enabled = BR_USER_STP;
> br_debug(br, "userspace STP started\n");
> -
> -   /* Stop hello and hold timers */
> -   del_timer(>hello_timer);
> -   list_for_each_entry(p, >port_list, list)
> -   del_timer(>hold_timer);
> } else {
> br->stp_enabled = BR_KERNEL_STP;
> br_debug(br, "using kernel STP\n");
> @@ -187,7 +181,6 @@ static void br_stp_start(struct net_bridge *br)
>
>  static void br_stp_stop(struct net_bridge *br)
>  {
> -   struct net_bridge_port *p;
> int err;
>
> if (br->stp_enabled == BR_USER_STP) {
> @@ -196,10 +189,6 @@ static void br_stp_stop(struct net_bridge *br)
> br_err(br, "failed to stop userspace STP (%d)\n", 
> err);
>
> /* To start timers on any ports left in blocking */
> -   mod_timer(>hello_timer, jiffies + br->hello_time);
> -   list_for_each_entry(p, >port_list, list)
> -   mod_timer(>hold_timer,
> - round_jiffies(jiffies + BR_HOLD_TIME));
> spin_lock_bh(>lock);
> br_port_state_selection(br);
> spin_unlock_bh(>lock);
> --
> 2.13.0
>


[PATCH net-next v2] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Ivan Vecera
Current bridge code incorrectly handles starting/stopping of hello and
hold timers during STP enable/disable.

1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
   transition. The timers are already stopped in NO_STP state so
   this is confusing no-op.

2. During USER_STP->NO_STP transition the timers are started. This
   does not make sense and is confusion because the timer should not be
   active in NO_STP state.

Cc: da...@davemloft.net
Cc: sas...@cumulusnetworks.com
Cc: step...@networkplumber.org
Cc: bri...@lists.linux-foundation.org
Cc: lucien@gmail.com
Cc: niko...@cumulusnetworks.com
Signed-off-by: Ivan Vecera <c...@cera.cz>
---
 net/bridge/br_stp_if.c | 11 ---
 1 file changed, 11 deletions(-)

diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index 08341d2aa9c9..a05027027513 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -150,7 +150,6 @@ static int br_stp_call_user(struct net_bridge *br, char 
*arg)
 
 static void br_stp_start(struct net_bridge *br)
 {
-   struct net_bridge_port *p;
int err = -ENOENT;
 
if (net_eq(dev_net(br->dev), _net))
@@ -169,11 +168,6 @@ static void br_stp_start(struct net_bridge *br)
if (!err) {
br->stp_enabled = BR_USER_STP;
br_debug(br, "userspace STP started\n");
-
-   /* Stop hello and hold timers */
-   del_timer(>hello_timer);
-   list_for_each_entry(p, >port_list, list)
-   del_timer(>hold_timer);
} else {
br->stp_enabled = BR_KERNEL_STP;
br_debug(br, "using kernel STP\n");
@@ -187,7 +181,6 @@ static void br_stp_start(struct net_bridge *br)
 
 static void br_stp_stop(struct net_bridge *br)
 {
-   struct net_bridge_port *p;
int err;
 
if (br->stp_enabled == BR_USER_STP) {
@@ -196,10 +189,6 @@ static void br_stp_stop(struct net_bridge *br)
br_err(br, "failed to stop userspace STP (%d)\n", err);
 
/* To start timers on any ports left in blocking */
-   mod_timer(>hello_timer, jiffies + br->hello_time);
-   list_for_each_entry(p, >port_list, list)
-   mod_timer(>hold_timer,
- round_jiffies(jiffies + BR_HOLD_TIME));
spin_lock_bh(>lock);
br_port_state_selection(br);
spin_unlock_bh(>lock);
-- 
2.13.0



Re: [PATCH net] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Xin Long
On Sat, May 20, 2017 at 12:25 AM, Ivan Vecera <c...@cera.cz> wrote:
[...]
> @@ -197,13 +191,14 @@ static void br_stp_stop(struct net_bridge *br)
> br_err(br, "failed to stop userspace STP (%d)\n", 
> err);
>
> /* To start timers on any ports left in blocking */
> -   mod_timer(>hello_timer, jiffies + br->hello_time);
> -   list_for_each_entry(p, >port_list, list)
> -   mod_timer(>hold_timer,
> - round_jiffies(jiffies + BR_HOLD_TIME));
> spin_lock_bh(>lock);
> br_port_state_selection(br);
> spin_unlock_bh(>lock);
> +   } else {
> +   /* BR_KERNEL_STP - stop hello and hold timers */
> +   del_timer(>hello_timer);
> +   list_for_each_entry(p, >port_list, list)
> +   del_timer(>hold_timer);
> }
>
> br->stp_enabled = BR_NO_STP;
I have a question here, br->stp_enabled is not atomic, and it is being
changed without holding br->lock here, while it may be checked in
br_hello_timer_expired, is it safe ?

(sorry if I misunderstood or overthought about it)

> --
> 2.13.0
>


Re: [PATCH net] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Ivan Vecera
2017-05-19 18:55 GMT+02:00 Nikolay Aleksandrov <niko...@cumulusnetworks.com>:
> On 5/19/17 7:25 PM, Ivan Vecera wrote:
>>
>> Current bridge code incorrectly handles starting/stopping of hello and
>> hold timers during STP enable/disable.
>>
>> 1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
>> transition. This is not correct as the timers are stopped in NO_STP
>> case.
>
>
> This really is a noop, but ok.

Yes, stopping of stopped timers are safe but confusing.

>> 2. Timers are started in br_stp_stop() during USER_STP->NO_STP transition.
>> This is not also correct as the timers should be stopped in NO_STP
>> state.
>
>
> Indeed, but the actual end result is almost as them being stopped because
> in the timers there are specific checks if the STP == KERNEL_STP (see
> br_transmit_config()) and the hold_timers will simply expire and not rearm
> in any other mode. The only real problem is the hello_timer which continues
> to rearm itself, but with Xin's earlier patch that is taken care of too.

Yes, this is clean-up as well. The starting of timers are more
confusing than dangerous
but from a reader's point of view the starting of timers is non-sense
when STP is
going to be disabled.

>>
>> 3. Timers are NOT stopped in br_stp_stop() during KERNEL_STP->NO_STP
>> transition. They should be stopped as they are running in KERNEL_STP
>> state and should not run in NO_STP case.
>
>
> Same comment as for point 2.
This can be removed... and leave hello_timer handler to stop itself.

>> The patch is a follow-up for "bridge: start hello_timer when enabling
>> KERNEL_STP in br_stp_start" patch from Xin Long.
>>
>
> I'd say this is more of a cleanup/improvement after Xin's patch and thus
> would
> suggest targeting net-next. The only real issue is fixed by his patch.
Agree... will send resend against net-next.

Thanks for comments,
Ivan


Re: [PATCH net] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Nikolay Aleksandrov

On 5/19/17 7:25 PM, Ivan Vecera wrote:

Current bridge code incorrectly handles starting/stopping of hello and
hold timers during STP enable/disable.

1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
transition. This is not correct as the timers are stopped in NO_STP
case.


This really is a noop, but ok.



2. Timers are started in br_stp_stop() during USER_STP->NO_STP transition.
This is not also correct as the timers should be stopped in NO_STP
state.


Indeed, but the actual end result is almost as them being stopped because
in the timers there are specific checks if the STP == KERNEL_STP (see
br_transmit_config()) and the hold_timers will simply expire and not rearm
in any other mode. The only real problem is the hello_timer which continues
to rearm itself, but with Xin's earlier patch that is taken care of too.



3. Timers are NOT stopped in br_stp_stop() during KERNEL_STP->NO_STP
transition. They should be stopped as they are running in KERNEL_STP
state and should not run in NO_STP case.


Same comment as for point 2.



The patch is a follow-up for "bridge: start hello_timer when enabling
KERNEL_STP in br_stp_start" patch from Xin Long.



I'd say this is more of a cleanup/improvement after Xin's patch and thus would
suggest targeting net-next. The only real issue is fixed by his patch.


Cc: da...@davemloft.net
Cc: sas...@cumulusnetworks.com
Cc: step...@networkplumber.org
Cc: bri...@lists.linux-foundation.org
Cc: lucien@gmail.com
Cc: niko...@cumulusnetworks.com
Signed-off-by: Ivan Vecera <c...@cera.cz>
---
  net/bridge/br_stp_if.c | 15 +--
  1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index 0db8102995a5..f137ebf27755 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -150,7 +150,6 @@ static int br_stp_call_user(struct net_bridge *br, char 
*arg)
  
  static void br_stp_start(struct net_bridge *br)

  {
-   struct net_bridge_port *p;
int err = -ENOENT;
  
  	if (net_eq(dev_net(br->dev), _net))

@@ -169,11 +168,6 @@ static void br_stp_start(struct net_bridge *br)
if (!err) {
br->stp_enabled = BR_USER_STP;
br_debug(br, "userspace STP started\n");
-
-   /* Stop hello and hold timers */
-   del_timer(>hello_timer);
-   list_for_each_entry(p, >port_list, list)
-   del_timer(>hold_timer);
} else {
br->stp_enabled = BR_KERNEL_STP;
br_debug(br, "using kernel STP\n");
@@ -197,13 +191,14 @@ static void br_stp_stop(struct net_bridge *br)
br_err(br, "failed to stop userspace STP (%d)\n", err);
  
  		/* To start timers on any ports left in blocking */

-   mod_timer(>hello_timer, jiffies + br->hello_time);
-   list_for_each_entry(p, >port_list, list)
-   mod_timer(>hold_timer,
- round_jiffies(jiffies + BR_HOLD_TIME));
spin_lock_bh(>lock);
br_port_state_selection(br);
    spin_unlock_bh(>lock);
+   } else {
+   /* BR_KERNEL_STP - stop hello and hold timers */
+   del_timer(>hello_timer);
+   list_for_each_entry(p, >port_list, list)
+   del_timer(>hold_timer);
}
  
  	br->stp_enabled = BR_NO_STP;






Re: [PATCH net] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Ivan Vecera
2017-05-19 18:51 GMT+02:00 Xin Long <lucien@gmail.com>:
> On Sat, May 20, 2017 at 12:25 AM, Ivan Vecera <c...@cera.cz> wrote:
>> Current bridge code incorrectly handles starting/stopping of hello and
>> hold timers during STP enable/disable.
>>
>> 1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
>>transition. This is not correct as the timers are stopped in NO_STP
>>case.
>>
>> 2. Timers are started in br_stp_stop() during USER_STP->NO_STP transition.
>>This is not also correct as the timers should be stopped in NO_STP
>>state.
>>
>> 3. Timers are NOT stopped in br_stp_stop() during KERNEL_STP->NO_STP
>>transition. They should be stopped as they are running in KERNEL_STP
>>state and should not run in NO_STP case.
>>
>> The patch is a follow-up for "bridge: start hello_timer when enabling
>> KERNEL_STP in br_stp_start" patch from Xin Long.
>>
>> Cc: da...@davemloft.net
>> Cc: sas...@cumulusnetworks.com
>> Cc: step...@networkplumber.org
>> Cc: bri...@lists.linux-foundation.org
>> Cc: lucien@gmail.com
>> Cc: niko...@cumulusnetworks.com
>> Signed-off-by: Ivan Vecera <c...@cera.cz>
>> ---
>>  net/bridge/br_stp_if.c | 15 +--
>>  1 file changed, 5 insertions(+), 10 deletions(-)
>>
>> diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
>> index 0db8102995a5..f137ebf27755 100644
>> --- a/net/bridge/br_stp_if.c
>> +++ b/net/bridge/br_stp_if.c
>> @@ -150,7 +150,6 @@ static int br_stp_call_user(struct net_bridge *br, char 
>> *arg)
>>
>>  static void br_stp_start(struct net_bridge *br)
>>  {
>> -   struct net_bridge_port *p;
>> int err = -ENOENT;
>>
>> if (net_eq(dev_net(br->dev), _net))
>> @@ -169,11 +168,6 @@ static void br_stp_start(struct net_bridge *br)
>> if (!err) {
>> br->stp_enabled = BR_USER_STP;
>> br_debug(br, "userspace STP started\n");
>> -
>> -   /* Stop hello and hold timers */
>> -   del_timer(>hello_timer);
>> -   list_for_each_entry(p, >port_list, list)
>> -   del_timer(>hold_timer);
>> } else {
>> br->stp_enabled = BR_KERNEL_STP;
>> br_debug(br, "using kernel STP\n");
>> @@ -197,13 +191,14 @@ static void br_stp_stop(struct net_bridge *br)
>> br_err(br, "failed to stop userspace STP (%d)\n", 
>> err);
>>
>> /* To start timers on any ports left in blocking */
>> -   mod_timer(>hello_timer, jiffies + br->hello_time);
>> -   list_for_each_entry(p, >port_list, list)
>> -   mod_timer(>hold_timer,
>> - round_jiffies(jiffies + BR_HOLD_TIME));
>> spin_lock_bh(>lock);
>> br_port_state_selection(br);
>> spin_unlock_bh(>lock);
>> +   } else {
>> +   /* BR_KERNEL_STP - stop hello and hold timers */
>> +   del_timer(>hello_timer);
>> +   list_for_each_entry(p, >port_list, list)
>> +   del_timer(>hold_timer);
> I'm thinking, what if the timers are running when deleting them ?
> del_timer may not be going to delete it, and still have to stop itself
> next time when br->stp_enabled = BR_NO_STP.
>
> So do you think it's better to do nothing here and just leave it to be
> stopped by itself when checking br->stp_enabled  in
> br_hello_timer_expired ?

Yes, this kind of "lazy stopping" could be safer.

I.


Re: [PATCH net] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Xin Long
On Sat, May 20, 2017 at 12:25 AM, Ivan Vecera <c...@cera.cz> wrote:
> Current bridge code incorrectly handles starting/stopping of hello and
> hold timers during STP enable/disable.
>
> 1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
>transition. This is not correct as the timers are stopped in NO_STP
>case.
>
> 2. Timers are started in br_stp_stop() during USER_STP->NO_STP transition.
>This is not also correct as the timers should be stopped in NO_STP
>state.
>
> 3. Timers are NOT stopped in br_stp_stop() during KERNEL_STP->NO_STP
>transition. They should be stopped as they are running in KERNEL_STP
>state and should not run in NO_STP case.
>
> The patch is a follow-up for "bridge: start hello_timer when enabling
> KERNEL_STP in br_stp_start" patch from Xin Long.
>
> Cc: da...@davemloft.net
> Cc: sas...@cumulusnetworks.com
> Cc: step...@networkplumber.org
> Cc: bri...@lists.linux-foundation.org
> Cc: lucien@gmail.com
> Cc: niko...@cumulusnetworks.com
> Signed-off-by: Ivan Vecera <c...@cera.cz>
> ---
>  net/bridge/br_stp_if.c | 15 +--
>  1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
> index 0db8102995a5..f137ebf27755 100644
> --- a/net/bridge/br_stp_if.c
> +++ b/net/bridge/br_stp_if.c
> @@ -150,7 +150,6 @@ static int br_stp_call_user(struct net_bridge *br, char 
> *arg)
>
>  static void br_stp_start(struct net_bridge *br)
>  {
> -   struct net_bridge_port *p;
> int err = -ENOENT;
>
> if (net_eq(dev_net(br->dev), _net))
> @@ -169,11 +168,6 @@ static void br_stp_start(struct net_bridge *br)
> if (!err) {
> br->stp_enabled = BR_USER_STP;
> br_debug(br, "userspace STP started\n");
> -
> -   /* Stop hello and hold timers */
> -   del_timer(>hello_timer);
> -   list_for_each_entry(p, >port_list, list)
> -   del_timer(>hold_timer);
> } else {
> br->stp_enabled = BR_KERNEL_STP;
> br_debug(br, "using kernel STP\n");
> @@ -197,13 +191,14 @@ static void br_stp_stop(struct net_bridge *br)
> br_err(br, "failed to stop userspace STP (%d)\n", 
> err);
>
> /* To start timers on any ports left in blocking */
> -   mod_timer(>hello_timer, jiffies + br->hello_time);
> -   list_for_each_entry(p, >port_list, list)
> -   mod_timer(>hold_timer,
> - round_jiffies(jiffies + BR_HOLD_TIME));
> spin_lock_bh(>lock);
> br_port_state_selection(br);
> spin_unlock_bh(>lock);
> +   } else {
> +   /* BR_KERNEL_STP - stop hello and hold timers */
> +   del_timer(>hello_timer);
> +   list_for_each_entry(p, >port_list, list)
> +   del_timer(>hold_timer);
I'm thinking, what if the timers are running when deleting them ?
del_timer may not be going to delete it, and still have to stop itself
next time when br->stp_enabled = BR_NO_STP.

So do you think it's better to do nothing here and just leave it to be
stopped by itself when checking br->stp_enabled  in
br_hello_timer_expired ?

> }
>
> br->stp_enabled = BR_NO_STP;
> --
> 2.13.0
>


Re: [PATCH net] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Stephen Hemminger
On Fri, 19 May 2017 18:25:43 +0200
Ivan Vecera <c...@cera.cz> wrote:

> Current bridge code incorrectly handles starting/stopping of hello and
> hold timers during STP enable/disable.
> 
> 1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
>transition. This is not correct as the timers are stopped in NO_STP
>case.
> 
> 2. Timers are started in br_stp_stop() during USER_STP->NO_STP transition.
>This is not also correct as the timers should be stopped in NO_STP
>state.
> 
> 3. Timers are NOT stopped in br_stp_stop() during KERNEL_STP->NO_STP
>transition. They should be stopped as they are running in KERNEL_STP
>state and should not run in NO_STP case.
> 
> The patch is a follow-up for "bridge: start hello_timer when enabling
> KERNEL_STP in br_stp_start" patch from Xin Long.
> 
> Cc: da...@davemloft.net
> Cc: sas...@cumulusnetworks.com
> Cc: step...@networkplumber.org
> Cc: bri...@lists.linux-foundation.org
> Cc: lucien@gmail.com
> Cc: niko...@cumulusnetworks.com
> Signed-off-by: Ivan Vecera <c...@cera.cz>

Overall, this looks correct but the wording of commit message
is too terse.

It would be better to add a more complete description of the impact
of this from a user's point of view. I am concerned that this
might have other side effects.

For example, what is the sequence of commands to validated this.

What is the impact, should this go to stable?




[PATCH net] bridge: fix hello and hold timers starting/stopping

2017-05-19 Thread Ivan Vecera
Current bridge code incorrectly handles starting/stopping of hello and
hold timers during STP enable/disable.

1. Timers are stopped in br_stp_start() during NO_STP->USER_STP
   transition. This is not correct as the timers are stopped in NO_STP
   case.

2. Timers are started in br_stp_stop() during USER_STP->NO_STP transition.
   This is not also correct as the timers should be stopped in NO_STP
   state.

3. Timers are NOT stopped in br_stp_stop() during KERNEL_STP->NO_STP
   transition. They should be stopped as they are running in KERNEL_STP
   state and should not run in NO_STP case.

The patch is a follow-up for "bridge: start hello_timer when enabling
KERNEL_STP in br_stp_start" patch from Xin Long.

Cc: da...@davemloft.net
Cc: sas...@cumulusnetworks.com
Cc: step...@networkplumber.org
Cc: bri...@lists.linux-foundation.org
Cc: lucien@gmail.com
Cc: niko...@cumulusnetworks.com
Signed-off-by: Ivan Vecera <c...@cera.cz>
---
 net/bridge/br_stp_if.c | 15 +--
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index 0db8102995a5..f137ebf27755 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -150,7 +150,6 @@ static int br_stp_call_user(struct net_bridge *br, char 
*arg)
 
 static void br_stp_start(struct net_bridge *br)
 {
-   struct net_bridge_port *p;
int err = -ENOENT;
 
if (net_eq(dev_net(br->dev), _net))
@@ -169,11 +168,6 @@ static void br_stp_start(struct net_bridge *br)
if (!err) {
br->stp_enabled = BR_USER_STP;
br_debug(br, "userspace STP started\n");
-
-   /* Stop hello and hold timers */
-   del_timer(>hello_timer);
-   list_for_each_entry(p, >port_list, list)
-   del_timer(>hold_timer);
} else {
br->stp_enabled = BR_KERNEL_STP;
br_debug(br, "using kernel STP\n");
@@ -197,13 +191,14 @@ static void br_stp_stop(struct net_bridge *br)
br_err(br, "failed to stop userspace STP (%d)\n", err);
 
/* To start timers on any ports left in blocking */
-   mod_timer(>hello_timer, jiffies + br->hello_time);
-   list_for_each_entry(p, >port_list, list)
-   mod_timer(>hold_timer,
- round_jiffies(jiffies + BR_HOLD_TIME));
spin_lock_bh(>lock);
br_port_state_selection(br);
    spin_unlock_bh(>lock);
+   } else {
+   /* BR_KERNEL_STP - stop hello and hold timers */
+   del_timer(>hello_timer);
+   list_for_each_entry(p, >port_list, list)
+   del_timer(>hold_timer);
}
 
br->stp_enabled = BR_NO_STP;
-- 
2.13.0



HELLO!!!!!

2017-05-19 Thread MR. NEIL TROTTER
HELLO!

I am Mr  Neil Trotter, the current winner of 108  Euro millions jackpot, if you 
have received this email then you are of the lucky fellows to benefit from 
me,so do get back to me for a better understanding. Here is the website for 
proof
http://www.huffingtonpost.co.uk/2014/03/18/neil-trotter-euromillions-winner_n_4984234.html}
Contact Email;(mr.neiltrotter...@outlook.com)

THANKS,
MR. NEIL TROTTER.


Re: Hello

2017-05-10 Thread Rechel Diarra
-- 
Hello, I have something important to discuss with you as soon as you reply back.
Regards.
Miss.Rechel


hello dear

2017-03-30 Thread terumi barger


Hello nice to meet you my name is Terumi. Your profile really impressed
me, send me a message  through my private email address
(terumibar...@gmail.com) so that i will tell you more about me and send my
pictures to you . I'm looking forward to hear from you.






Hello

2017-03-21 Thread Shri Gandhi
Hello Friend,

Compliment of the day, I got your contact information from a reputable 
business/professional directory of your country which gives me assurance of 
your legibility as a person. I send you this brief letter to solicit your 
partnership to transfer ($22,500,000.00 USD) from Reserve Bank of India ( 
R.B.I) to your country. I shall furnish you with more info when I get a 
positive reply from you. Reply me Via E-mail if you are interested.

Best Regards,
Mr.Shri Gandhi


HELLO DEAR

2017-03-08 Thread Mrs. Aruna Assabah
Dear Friend,

I assume that this message will reach you in good health. My name is
Mrs. Aruna Sabbah,the foreign operation manager of the African
Development Bank Burkina Faso (ADB) I have the opportunity of
transferring the left over funds what of ($25.2Million Dollars) from
the account of our bank's customer who died along with his entire
family in a plane crash. However, it's just my urgent need for foreign
partner that made me to contact you for this transaction.

I assured you honesty and reliability to champion this business
opportunity. I am contacting you for this business while the money
will be shared between us in the ratio of 50/50,on the acceptance of
my proposal, Further details of the transfer will be forwarded to you
as soon as i receive your response. Hoping to hear from you as soon as
possible.

Regards
Mrs. Aruna Sabbah


hello

2017-03-07 Thread duncan
hi


HELLO DEAR

2017-02-14 Thread Fidelia Abbie
Hello, nice to meet you , How are you doing today? My name is Fidelia.
Please, I am sorry for intruding into your privacy because this letter
may come to you as a surprising. I have an important matter which i
want to discuss with you. I can also send my pictures to you as soon
as i have receive your letter.
Thanks, I will be waiting for your immediate answer.
Fidelia


Hello Forgive My Intrusion From Silvia.

2017-02-02 Thread Silviana Olander


Hello Friend,
 
I'm Silviana Olander and I'm Swede. I found your email contact while surfing 
the Internet. I don't think you have a clue but my reason for writing you is to 
seek your friendship! Just being adventurous and decided to use this letter as 
a resource tool to get your attention.As a matter of fact, I've been wanting to 
try this a while now to chat, to ask you things, to comment on trivial matters 
or even to talk a bit about each other. But I've been clueless on how to go 
about it. Maybe you find it strange that I'm using something as cold as this 
means to reach you. But this is the best I can do for now.
 
In short: the purpose of this letter is just to ask you if you want to be my 
friend. And if you agree, just say yes and we can take it on from there.
 
I look forward to hear hearing from you.
 
Yours Silvia.


Hello Beautiful

2016-12-15 Thread Bentley
How you doing today? I hope you are doing well. My name is Bentley, from the 
US. I'm in Syria right now fighting ISIS. I want to get to know you better, if 
I may be so bold. I consider myself an easy-going man, and I am currently 
looking for a relationship in which I feel loved. Please tell me more about 
yourself, if you don't mind.

Hope to hear from you soon.

Regards,
Bentley.


Hello Beautiful

2016-12-03 Thread Bentley
Hello beautiful, How you doing today? I hope you are doing well. My name is 
Bentley, from the US. I'm in Syria right now fighting ISIS. I want to get to 
know you better, if I may be so bold. I consider myself an easy-going man, and 
I am currently looking for a relationship in which I feel loved. Please tell me 
more about yourself, if you don't mind.

Hope to hear from you soon.

Regards,
Bentley.


HELLO

2016-11-16 Thread Wilfred Kabore
Dear Friend,

Greetings and hope this mail meets you well!

I want you to be my partner in the transfer of the sum of $6.7 Million dollars 
discovered in my  department in one of the leading Banks (EcoBank Plc) here in 
Burkina-Faso. I shall give you more information on this proposal when I get 
your reply, but rest assured that I will give you 40%  of the total sum once 
the transfer is completed but you have to maintain secrecy of this business 
deal if you are ready to work with me.

God bless you as I wait for your response.

Dr. Kabore Wilfred


Re: [PATCH net-next 0/4] bridge: add support for PIM hello router ports

2016-10-31 Thread David Miller
From: Nikolay Aleksandrov <niko...@cumulusnetworks.com>
Date: Mon, 31 Oct 2016 13:21:01 +0100

> The first 3 patches of this set do minor cleanups and add some helpers to
> the PIM header file. Patch 4 adds a way to detect mcast router ports via
> PIM hello messages, they're marked as temporary and are not considered for
> querier. There's more detailed information in patch 4's commit message.

Looks pretty straight-forward and reasonable, series applied, thanks
Nikolay.


[PATCH net-next 4/4] bridge: mcast: add router port on PIM hello message

2016-10-31 Thread Nikolay Aleksandrov
When we receive a PIM Hello message on a port we can consider that it
has a multicast router attached, thus it is correct to add it to the
router list. The only catch is it shouldn't be considered for a querier.

Using Daniel's description:
leaf-11  leaf-12  leaf-13
   \   |/
bridge-1
 /\
host-11  host-12

 - all ports in bridge-1 are in a single vlan aware bridge
 - leaf-11 is the IGMP querier
 - leaf-13 is the PIM DR
 - host-11 TXes packets to 226.10.10.10
 - bridge-1 only forwards the 226.10.10.10 traffic out the port to
   leaf-11, it should also forward this traffic out the port to leaf-13

Suggested-by: Daniel Walton <dwal...@cumulusnetworks.com>
Signed-off-by: Nikolay Aleksandrov <niko...@cumulusnetworks.com>
---
 net/bridge/br_multicast.c | 22 +-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 2136e45f5277..073d54afa056 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -25,6 +25,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #if IS_ENABLED(CONFIG_IPV6)
 #include 
@@ -1638,6 +1639,21 @@ static void br_multicast_err_count(const struct 
net_bridge *br,
u64_stats_update_end(>syncp);
 }
 
+static void br_multicast_pim(struct net_bridge *br,
+struct net_bridge_port *port,
+const struct sk_buff *skb)
+{
+   unsigned int offset = skb_transport_offset(skb);
+   struct pimhdr *pimhdr, _pimhdr;
+
+   pimhdr = skb_header_pointer(skb, offset, sizeof(_pimhdr), &_pimhdr);
+   if (!pimhdr || pim_hdr_version(pimhdr) != PIM_VERSION ||
+   pim_hdr_type(pimhdr) != PIM_TYPE_HELLO)
+   return;
+
+   br_multicast_mark_router(br, port);
+}
+
 static int br_multicast_ipv4_rcv(struct net_bridge *br,
 struct net_bridge_port *port,
 struct sk_buff *skb,
@@ -1650,8 +1666,12 @@ static int br_multicast_ipv4_rcv(struct net_bridge *br,
err = ip_mc_check_igmp(skb, _trimmed);
 
if (err == -ENOMSG) {
-   if (!ipv4_is_local_multicast(ip_hdr(skb)->daddr))
+   if (!ipv4_is_local_multicast(ip_hdr(skb)->daddr)) {
BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
+   } else if (pim_ipv4_all_pim_routers(ip_hdr(skb)->daddr)) {
+   if (ip_hdr(skb)->protocol == IPPROTO_PIM)
+   br_multicast_pim(br, port, skb);
+   }
return 0;
} else if (err < 0) {
br_multicast_err_count(br, port, skb->protocol);
-- 
2.1.4



[PATCH net-next 0/4] bridge: add support for PIM hello router ports

2016-10-31 Thread Nikolay Aleksandrov
Hi,
The first 3 patches of this set do minor cleanups and add some helpers to
the PIM header file. Patch 4 adds a way to detect mcast router ports via
PIM hello messages, they're marked as temporary and are not considered for
querier. There's more detailed information in patch 4's commit message.

Thanks,
 Nik


Nikolay Aleksandrov (4):
  net: pim: add common pimhdr struct and helpers
  net: pim: add a helper to check for IPv4 all pim routers address
  net: pim: add all RFC7761 message types
  bridge: mcast: add router port on PIM hello message

 include/linux/pim.h   | 81 +--
 net/bridge/br_multicast.c | 22 -
 net/ipv4/ipmr.c   |  2 +-
 net/ipv6/ip6mr.c  |  2 +-
 4 files changed, 95 insertions(+), 12 deletions(-)

-- 
2.1.4



Re: Hello

2016-10-17 Thread Alexander Alemayhu
On Fri, Oct 14, 2016 at 05:17:36PM +0800, yuehaibing wrote:
> subscribe linux-kernel
> 

Try sending subscribe linux-kernel to majord...@vger.kernel.org


Re: hello

2016-10-17 Thread Alexander Alemayhu
On Fri, Oct 14, 2016 at 05:18:10PM +0800, maowenan wrote:
> i want to subscribe this mail, thank you very much.
> 

Try sending subscribe netdev to majord...@vger.kernel.org


hello

2016-10-14 Thread maowenan
i want to subscribe this mail, thank you very much.



Hello

2016-10-14 Thread yuehaibing
subscribe linux-kernel



Hello !

2016-10-11 Thread Benoît QUEMIN
‎
We have seen your message and are glad to know you :)
We love your work and hope to hear from you soon <3
Xx



Hello

2016-09-16 Thread Hasher Al Maktoum
Dear Friend,

Your contact details came to me by recommendation, I am interested in investing 
in your country and I believe you have the capabilities of providing the needed 
assistance, solutions and advise in actualizing this, Let me know if you are 
willing to understake this task for me so we can discuss more. I hope to hear 
from you soon.

Regards,
Hasher Al Maktoum
Chairman/Chief Executive Officer
Dubai International Holding Company.


Hello

2016-09-05 Thread Amira Hamza
Hello,
I am Amira, 24 years young female. Please i will like to discuss something 
important with you. Please Reply


Hello Beautiful,

2016-08-28 Thread Jack
Good day dear, i hope this mail meets you well? my name is Jack, from the U.S. 
I know this may seem inappropriate so i ask for your forgiveness but i wish to 
get to know you better, if I may be so bold. I consider myself an easy-going 
man, adventurous, honest and fun loving person but I am currently looking for a 
relationship in which I will feel loved. I promise to answer any question that 
you may want to ask me...all i need is just your attention and the chance to 
know you more.

Please tell me more about yourself, if you do not mind. Hope to hear back from 
you soon.

Jack.


hello

2016-08-25 Thread jennifer dogolea15
Hello,
My name is jennifer
I saw your profile today on solidot.org and get interested to know you,
because you look very nice in your profile, here is my email address
(jenniferdogo...@hotmail.com) please send me an email so that i will
send you my photos. and tell you more about my self. mail me at
(jenniferdogo...@hotmail.com)
Remember distance, color, religion or tribe does not matter but love
matters a lot.
kiss my dear love
jennifer


hello

2016-08-02 Thread Patience Darko


Our Company Yokohama Rubber Company is interested in your services as 
collection representative in your country, you will be on 10% commission for 
all payment received on behalf of our company, if interested get back to me for 
details Email: chen.kumik...@outlook.com
Thank you.
Chen Kumiko




Hello

2016-05-28 Thread program9
Hi,
I am Kristi and i saw your contact through google page of your country which 
impress me and i feel we can be friends to share ideals and reason together for 
good,if not bad then let us know more about each other and i hope there will be 
no problem for us to be friend with no bad intention.You can also reply me 
through email(cplkristiba...@outlook.com) so that i can share details about 
myself, i will be waiting to hear from you soon. 


∝ Hello

2016-05-19 Thread hi
welcome to our electronics shop
tv,camera,laptop,bike,dj,iphone,samsung product.50% discount for all of our 
product
www.  slooone .com

HELLO DEAR

2016-04-22 Thread Melissa Robert


Hello Dear,
how are you doing hope fine, I am (Melissa Robert) by name. i will like
to
know more about you believing that friendship is a free gift of nature.
Please get back to me as soon as possible through this my private Email.
(mr4785...@gmail.com)
thank you.



Hello DEAR

2016-04-15 Thread Mitchell H Peacock
Hi my name is Mitchell H Peacock. I'm an American soldier currently in Syria 
fighting IS. This might be a little strange for you but Its very lonely out 
here. I miss normal human interaction and being loved by someone so I would 
love to get to know you and keep in touch with you. I'm loving, Funny and have 
a lot to offer emotionally.Tell me about you?hope to hear back from you soon

Mitchell


Hello....!!

2016-04-09 Thread Paul Lukas
PEASE URGENT RESPONSE,

I am Dr Paul Lukas,the Audit and Account Manager (A.D.B)Bank in Ouagadougou 
Burkina Faso,west africa

I have a business transaction for you.In my department i discovered an 
abandoned Sum of US$10.2 Million Dollars.In an account that belongs to one of 
our late foreign customer who died on Air crash with his family member. ever 
Since he died,Nobody to claim the left over balance in the account.
It is therefore upon this discovery that I decided to seek your assistance to 
present you as his business associate for my bank to transfer the funds to your 
account.

If you accept i would give you the guide lines of how we can achieve this 
transfer of the balance $10.2 Million Dollars to your account.
the fund will be share 50-50%. by both of us

if you are capable to handle this transaction please furnish me the following 
information for more details.

Full names:...
Country:..
Your pravite phone number:...
Your Age/Sex:..

Regards,
Dr Paul Lukas.


Hello

2016-02-17 Thread hi
Hello
Good news for you
laptop, camera, iPhone, TV, bicycle, gultar, watching 
Shipping is free
iphone6s, 368euro
www . elecdigitalvip .com

if you do not want to receive our email. please reply to us, we will never send 
email to you 


Hello There

2016-02-05 Thread Ms.Ella Golan


I am Ms.Ella Golan, I am the Executive Vice President Banking Division with 
FIRST INTERNATIONAL BANK OF ISRAEL LTD (FIBI).
I am getting in touch with you regarding an extremely important and urgent
matter. If you would oblige me the opportunity, I shall provide you with
details upon your response.

Faithfully,
Ms.Ella Golan


Hello There

2016-02-05 Thread Ms.Ella Golan


I am Ms.Ella Golan, I am the Executive Vice President Banking Division with 
FIRST INTERNATIONAL BANK OF ISRAEL LTD (FIBI).
I am getting in touch with you regarding an extremely important and urgent
matter. If you would oblige me the opportunity, I shall provide you with
details upon your response.

Faithfully,
Ms.Ella Golan


Hello There

2016-02-05 Thread Ms.Ella Golan


I am Ms.Ella Golan, I am the Executive Vice President Banking Division with 
FIRST INTERNATIONAL BANK OF ISRAEL LTD (FIBI).
I am getting in touch with you regarding an extremely important and urgent
matter. If you would oblige me the opportunity, I shall provide you with
details upon your response.

Faithfully,
Ms.Ella Golan


Hello There

2016-02-05 Thread Ms.Ella Golan


I am Ms.Ella Golan, I am the Executive Vice President Banking Division with 
FIRST INTERNATIONAL BANK OF ISRAEL LTD (FIBI).
I am getting in touch with you regarding an extremely important and urgent
matter. If you would oblige me the opportunity, I shall provide you with
details upon your response.

Faithfully,
Ms.Ella Golan


Hello There

2016-02-05 Thread Ms.Ella Golan


I am Ms.Ella Golan, I am the Executive Vice President Banking Division with 
FIRST INTERNATIONAL BANK OF ISRAEL LTD (FIBI).
I am getting in touch with you regarding an extremely important and urgent
matter. If you would oblige me the opportunity, I shall provide you with
details upon your response.

Faithfully,
Ms.Ella Golan


Hello

2015-09-03 Thread pcdndz



The prestigious Microsoft and AOL has set out and successfully organized a
Sweepstakes. Your email address has subsequently won you 2,000,000.00
GBP(Two Million Great Britain Pound Sterling) as one of the jackpot winner
in this draw. To file for your claim Please Contact your fiduciary agent.
Here below are the details of your Fiduciary agent. You are to contact him
via email

Megan Burkhart
Microsoft Promotion Award Team
Head Sweepstakes Organizing Committee.
Email: claims-des...@safe-mail.net
Microsoft Team.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net v2] bridge: stp: when using userspace stp stop kernel hello and hold timers

2015-07-29 Thread David Miller
From: Nikolay Aleksandrov niko...@cumulusnetworks.com
Date: Thu, 23 Jul 2015 11:01:05 -0700

 From: Nikolay Aleksandrov ra...@blackwall.org
 
 These should be handled only by the respective STP which is in control.
 They become problematic for devices with limited resources with many
 ports because the hold_timer is per port and fires each second and the
 hello timer fires each 2 seconds even though it's global. While in
 user-space STP mode these timers are completely unnecessary so it's better
 to keep them off.
 Also ensure that when the bridge is up these timers are started only when
 running with kernel STP.
 
 Signed-off-by: Satish Ashok sas...@cumulusnetworks.com
 Signed-off-by: Nikolay Aleksandrov niko...@cumulusnetworks.com

Applied, thanks.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH net] bridge: stp: when using userspace stp stop kernel hello and hold timers

2015-07-23 Thread Nikolay Aleksandrov
From: Satish Ashok sas...@cumulusnetworks.com

Stop the kernel STP hello and hold timers when user-space STP is being
used to stop generating both packets. These should be handled only by
the respective STP which is in control. Also ensure that when the bridge
is up these timers are started only when running with kernel STP.
The kernel STP should function as before.

Test done using user-space RSTP.
Before patch:
14:55:35.043194 52:54:00:28:9d:4c  01:80:c2:00:00:00, 802.3, length 52:
LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03: STP
802.1d, Config, Flags [none], bridge-id 8000.52:54:00:28:9d:4c.8001,
length 35
message-age 0.00s, max-age 20.00s, hello-time 2.00s,
forwarding-delay 15.00s
root-id 8000.52:54:00:28:9d:4c, root-pathcost 0
^^^
Kernel STP.

14:55:35.333807 52:54:00:28:9d:4c  01:80:c2:00:00:00, 802.3, length 53:
LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03: STP
802.1w, Rapid STP, Flags [Learn, Forward], bridge-id
8000.52:54:00:28:9d:4c.8001, length 36
message-age 0.00s, max-age 20.00s, hello-time 3.00s,
forwarding-delay 15.00s
root-id 8000.52:54:00:28:9d:4c, root-pathcost 0, port-role
Designated
^^^
User-space STP (rstpd, configured with 3s hello-time)

After patch:
15:02:31.821511 52:54:00:28:9d:4c  01:80:c2:00:00:00, 802.3, length 52:
LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03: STP
802.1d, Config, Flags [Topology change], bridge-id
8000.52:54:00:28:9d:4c.8002, length 35
message-age 0.00s, max-age 20.00s, hello-time 3.00s,
forwarding-delay 15.00s
root-id 8000.52:54:00:28:9d:4c, root-pathcost 0

15:02:34.821819 52:54:00:28:9d:4c  01:80:c2:00:00:00, 802.3, length 52:
LLC, dsap STP (0x42) Individual, ssap STP (0x42) Command, ctrl 0x03: STP
802.1d, Config, Flags [Topology change], bridge-id
8000.52:54:00:28:9d:4c.8002, length 35
message-age 0.00s, max-age 20.00s, hello-time 3.00s,
forwarding-delay 15.00s
root-id 8000.52:54:00:28:9d:4c, root-pathcost 0
^
Only user-space STP.

Signed-off-by: Satish Ashok sas...@cumulusnetworks.com
Signed-off-by: Nikolay Aleksandrov niko...@cumulusnetworks.com
---
 net/bridge/br_stp.c   |  5 +++--
 net/bridge/br_stp_if.c| 15 ++-
 net/bridge/br_stp_timer.c |  4 +++-
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c
index b4b6dab9c285..ed74ffaa851f 100644
--- a/net/bridge/br_stp.c
+++ b/net/bridge/br_stp.c
@@ -209,8 +209,9 @@ void br_transmit_config(struct net_bridge_port *p)
br_send_config_bpdu(p, bpdu);
p-topology_change_ack = 0;
p-config_pending = 0;
-   mod_timer(p-hold_timer,
- round_jiffies(jiffies + BR_HOLD_TIME));
+   if (p-br-stp_enabled == BR_KERNEL_STP)
+   mod_timer(p-hold_timer,
+ round_jiffies(jiffies + BR_HOLD_TIME));
}
 }
 
diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index a2730e7196cd..962a149b117a 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -48,7 +48,8 @@ void br_stp_enable_bridge(struct net_bridge *br)
struct net_bridge_port *p;
 
spin_lock_bh(br-lock);
-   mod_timer(br-hello_timer, jiffies + br-hello_time);
+   if (br-stp_enabled == BR_KERNEL_STP)
+   mod_timer(br-hello_timer, jiffies + br-hello_time);
mod_timer(br-gc_timer, jiffies + HZ/10);
 
br_config_bpdu_generation(br);
@@ -127,6 +128,7 @@ static void br_stp_start(struct net_bridge *br)
int r;
char *argv[] = { BR_STP_PROG, br-dev-name, start, NULL };
char *envp[] = { NULL };
+   struct net_bridge_port *p;
 
r = call_usermodehelper(BR_STP_PROG, argv, envp, UMH_WAIT_PROC);
 
@@ -140,6 +142,12 @@ static void br_stp_start(struct net_bridge *br)
if (r == 0) {
br-stp_enabled = BR_USER_STP;
br_debug(br, userspace STP started\n);
+   /* Stop hello and hold timer */
+   spin_lock_bh(br-lock);
+   del_timer(br-hello_timer);
+   list_for_each_entry(p, br-port_list, list)
+   del_timer(p-hold_timer);
+   spin_unlock_bh(br-lock);
} else {
br-stp_enabled = BR_KERNEL_STP;
br_debug(br, using kernel STP\n);
@@ -156,12 +164,17 @@ static void br_stp_stop(struct net_bridge *br)
int r;
char *argv[] = { BR_STP_PROG, br-dev-name, stop, NULL };
char *envp[] = { NULL };
+   struct net_bridge_port *p;
 
if (br-stp_enabled == BR_USER_STP) {
r = call_usermodehelper(BR_STP_PROG, argv, envp, UMH_WAIT_PROC);
br_info(br, userspace STP stopped, return code %d\n, r);
 
/* To start timers on any ports left in blocking */
+   mod_timer(br-hello_timer, jiffies + br-hello_time

Re: [PATCH net] bridge: stp: when using userspace stp stop kernel hello and hold timers

2015-07-23 Thread Stephen Hemminger
On Thu, 23 Jul 2015 09:07:37 -0700
Nikolay Aleksandrov niko...@cumulusnetworks.com wrote:

 + /* Stop hello and hold timer */
 + spin_lock_bh(br-lock);
 + del_timer(br-hello_timer);
 + list_for_each_entry(p, br-port_list, list)
 + del_timer(p-hold_timer);
 + spin_unlock_bh(br-lock);

Wouldn't it be easier to use del_timer_sync here?
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net] bridge: stp: when using userspace stp stop kernel hello and hold timers

2015-07-23 Thread Stephen Hemminger
On Thu, 23 Jul 2015 19:05:56 +0200
Nikolay Aleksandrov niko...@cumulusnetworks.com wrote:

 On 07/23/2015 06:59 PM, Stephen Hemminger wrote:
  On Thu, 23 Jul 2015 09:07:37 -0700
  Nikolay Aleksandrov niko...@cumulusnetworks.com wrote:

  +  /* Stop hello and hold timer */
  +  spin_lock_bh(br-lock);
  +  del_timer(br-hello_timer);
  +  list_for_each_entry(p, br-port_list, list)
  +  del_timer(p-hold_timer);
  +  spin_unlock_bh(br-lock);  
  
  Wouldn't it be easier to use del_timer_sync here?

 I think it should work. Also I have an error in the commit message
 about the kernel BPDU sending which I need to correct. I'll prepare
 a v2 with your suggestion and fixed commit message.

The one thing to watch out for with del_timer_sync is that
the timer routine and the caller can't be using the same lock
otherwise timer will be spinning waiting to get lock that
is held by caller who is waiting for timer.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH net] bridge: stp: when using userspace stp stop kernel hello and hold timers

2015-07-23 Thread Nikolay Aleksandrov
On 07/23/2015 07:13 PM, Stephen Hemminger wrote:
 On Thu, 23 Jul 2015 19:05:56 +0200
 Nikolay Aleksandrov niko...@cumulusnetworks.com wrote:
 
 On 07/23/2015 06:59 PM, Stephen Hemminger wrote:
 On Thu, 23 Jul 2015 09:07:37 -0700
 Nikolay Aleksandrov niko...@cumulusnetworks.com wrote:
   
 +  /* Stop hello and hold timer */
 +  spin_lock_bh(br-lock);
 +  del_timer(br-hello_timer);
 +  list_for_each_entry(p, br-port_list, list)
 +  del_timer(p-hold_timer);
 +  spin_unlock_bh(br-lock);  

 Wouldn't it be easier to use del_timer_sync here?
   
 I think it should work. Also I have an error in the commit message
 about the kernel BPDU sending which I need to correct. I'll prepare
 a v2 with your suggestion and fixed commit message.
 
 The one thing to watch out for with del_timer_sync is that
 the timer routine and the caller can't be using the same lock
 otherwise timer will be spinning waiting to get lock that
 is held by caller who is waiting for timer.
 

Actually I just noticed the locking was wrong in the patch, also we should use
del_timer() only because a spin_lock is acquired before that and cannot
use the blocking del_timer_sync() inside.
I'll fix it all up in the second version.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH net v2] bridge: stp: when using userspace stp stop kernel hello and hold timers

2015-07-23 Thread Nikolay Aleksandrov
From: Nikolay Aleksandrov ra...@blackwall.org

These should be handled only by the respective STP which is in control.
They become problematic for devices with limited resources with many
ports because the hold_timer is per port and fires each second and the
hello timer fires each 2 seconds even though it's global. While in
user-space STP mode these timers are completely unnecessary so it's better
to keep them off.
Also ensure that when the bridge is up these timers are started only when
running with kernel STP.

Signed-off-by: Satish Ashok sas...@cumulusnetworks.com
Signed-off-by: Nikolay Aleksandrov niko...@cumulusnetworks.com
---
v2: fixed a locking issue and the commit message which was wrong
Stephen: I didn't use the del_timer_sync() because br-lock is acquired
 in br_stp_start() and we shouldn't block.

 net/bridge/br_stp.c   |  5 +++--
 net/bridge/br_stp_if.c| 13 -
 net/bridge/br_stp_timer.c |  4 +++-
 3 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c
index b4b6dab9c285..ed74ffaa851f 100644
--- a/net/bridge/br_stp.c
+++ b/net/bridge/br_stp.c
@@ -209,8 +209,9 @@ void br_transmit_config(struct net_bridge_port *p)
br_send_config_bpdu(p, bpdu);
p-topology_change_ack = 0;
p-config_pending = 0;
-   mod_timer(p-hold_timer,
- round_jiffies(jiffies + BR_HOLD_TIME));
+   if (p-br-stp_enabled == BR_KERNEL_STP)
+   mod_timer(p-hold_timer,
+ round_jiffies(jiffies + BR_HOLD_TIME));
}
 }
 
diff --git a/net/bridge/br_stp_if.c b/net/bridge/br_stp_if.c
index a2730e7196cd..4ca449a16132 100644
--- a/net/bridge/br_stp_if.c
+++ b/net/bridge/br_stp_if.c
@@ -48,7 +48,8 @@ void br_stp_enable_bridge(struct net_bridge *br)
struct net_bridge_port *p;
 
spin_lock_bh(br-lock);
-   mod_timer(br-hello_timer, jiffies + br-hello_time);
+   if (br-stp_enabled == BR_KERNEL_STP)
+   mod_timer(br-hello_timer, jiffies + br-hello_time);
mod_timer(br-gc_timer, jiffies + HZ/10);
 
br_config_bpdu_generation(br);
@@ -127,6 +128,7 @@ static void br_stp_start(struct net_bridge *br)
int r;
char *argv[] = { BR_STP_PROG, br-dev-name, start, NULL };
char *envp[] = { NULL };
+   struct net_bridge_port *p;
 
r = call_usermodehelper(BR_STP_PROG, argv, envp, UMH_WAIT_PROC);
 
@@ -140,6 +142,10 @@ static void br_stp_start(struct net_bridge *br)
if (r == 0) {
br-stp_enabled = BR_USER_STP;
br_debug(br, userspace STP started\n);
+   /* Stop hello and hold timers */
+   del_timer(br-hello_timer);
+   list_for_each_entry(p, br-port_list, list)
+   del_timer(p-hold_timer);
} else {
br-stp_enabled = BR_KERNEL_STP;
br_debug(br, using kernel STP\n);
@@ -156,12 +162,17 @@ static void br_stp_stop(struct net_bridge *br)
int r;
char *argv[] = { BR_STP_PROG, br-dev-name, stop, NULL };
char *envp[] = { NULL };
+   struct net_bridge_port *p;
 
if (br-stp_enabled == BR_USER_STP) {
r = call_usermodehelper(BR_STP_PROG, argv, envp, UMH_WAIT_PROC);
br_info(br, userspace STP stopped, return code %d\n, r);
 
/* To start timers on any ports left in blocking */
+   mod_timer(br-hello_timer, jiffies + br-hello_time);
+   list_for_each_entry(p, br-port_list, list)
+   mod_timer(p-hold_timer,
+ round_jiffies(jiffies + BR_HOLD_TIME));
spin_lock_bh(br-lock);
br_port_state_selection(br);
spin_unlock_bh(br-lock);
diff --git a/net/bridge/br_stp_timer.c b/net/bridge/br_stp_timer.c
index 7caf7fae2d5b..5f0f5af0ec35 100644
--- a/net/bridge/br_stp_timer.c
+++ b/net/bridge/br_stp_timer.c
@@ -40,7 +40,9 @@ static void br_hello_timer_expired(unsigned long arg)
if (br-dev-flags  IFF_UP) {
br_config_bpdu_generation(br);
 
-   mod_timer(br-hello_timer, round_jiffies(jiffies + 
br-hello_time));
+   if (br-stp_enabled != BR_USER_STP)
+   mod_timer(br-hello_timer,
+ round_jiffies(jiffies + br-hello_time));
}
spin_unlock(br-lock);
 }
-- 
2.4.3

--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


  1   2   >