[ovs-discuss] tc ingress qdisc of tapB disappeared when del-port tapA from bridge
Ben Pfaff
blp at nicira.com
Wed Aug 19 22:54:10 UTC 2015
On Mon, Aug 10, 2015 at 09:36:51PM +0800, ychen wrote:
> There are still something puzzled me, can you do some help?
> 1. what's the meaning of the flag VALID_POLICING?
> I don't see any meaning of the flag VALID_POLICING in function netdev_linux_set_policing().
> you see, whether the parameter "kbits_rate"equals to 0, the clause netdev->cache_valid |= VALID_POLICING; will be executed only if the conditions matches error !=0
I don't think that's true. The full condition checks for error == 0 or
error == ENODEV:
if (!error || error == ENODEV) {
netdev->netdev_policing_error = error;
netdev->cache_valid |= VALID_POLICING;
}
> another strange phenomenon is that, when i set breakpoint on function netdev_linux_set_policing, I found that netdev->cache_valid equals to 0x73 which means VALID_POLICING has set before this function
> but I can't find anywhere to set this flag except in function netdev_linux_set_policing. why?
I also only see netdev_linux_set_policing() setting this flag.
> 2. which event triggered message RTM_NEWLINK?
> I found that when use command "add-port br0 tap111", first function netdev_linux_set_policing() will be called, then netdev_linux_update() with message RTM_NEWLINK
> and this message will lead to netdev->cache_valid to clear the flag VALID_POLICING.
> my question is, the port tap111 is a system port, I have created it in kernel before add it to ovs bridge.
> and I didn't to anything like up the port or change the port's namespace or change mtu/mac etc, but why RTM_NEWLINK is trigerred?
I'm not an expert on that aspect of Linux. You can read the kernel
source code as easily as I can, I guess.
More information about the discuss
mailing list