BR_LEARNING
mask |= BR_LEARNING;
if (flags.mask & BR_LEARNING)
!!(flags.val & BR_LEARNING));
if (flags.mask & ~(BR_LEARNING))
if (flags.mask & BR_LEARNING) {
if (flags.val & BR_LEARNING)
supported |= BR_LEARNING;
if (flags.mask & BR_LEARNING)
!!(flags.val & BR_LEARNING));
if (flags.mask & ~(BR_LEARNING | BR_ISOLATED))
if (flags.mask & (BR_LEARNING | BR_ISOLATED)) {
if (flags.mask & BR_LEARNING)
p->learning = !!(flags.val & BR_LEARNING);
if (flags.mask & ~(BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
if (flags.mask & BR_LEARNING)
flags.val & BR_LEARNING ? 0 : SA_DIS);
if (flags.mask & ~(BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
if (flags.mask & BR_LEARNING) {
bool learning = !!(flags.val & BR_LEARNING);
BR_LEARNING))
if (flags.mask & BR_LEARNING)
priv->ports[port].learning = !!(flags.val & BR_LEARNING);
if (block != old_block || (flags.mask & BR_LEARNING)) {
if (flags.mask & ~(BR_LEARNING | BR_ISOLATED))
if (flags.mask & BR_LEARNING) {
flags.val & BR_LEARNING);
(BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD)
if (flags.mask & ~(BR_LEARNING))
if (flags.mask & BR_LEARNING) {
(flags.val & BR_LEARNING) ? 0 : BIT(port));
if (flags.mask & BR_LEARNING) {
enable = !!(flags.val & BR_LEARNING);
if (flags.mask & ~(BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
if (flags.mask & BR_LEARNING) {
val = flags.val & BR_LEARNING ? 0 : A5PSW_INPUT_LEARN_DIS(port);
if (flags.mask & ~(BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
if (flags.mask & BR_LEARNING) {
bool learn_ena = !!(flags.val & BR_LEARNING);
if (flags.mask & ~BR_LEARNING)
if (flags.mask & BR_LEARNING) {
u32 val = flags.val & BR_LEARNING ? BIT(port) : 0;
if (flags.mask & BR_LEARNING) {
bool learning = flags.val & BR_LEARNING;
if (flags.mask & ~(BR_HAIRPIN_MODE | BR_LEARNING | BR_FLOOD |
if (flags.mask & ~(BR_LEARNING | BR_BCAST_FLOOD | BR_FLOOD |
if (flags.mask & BR_LEARNING) {
bool learn_ena = !!(flags.val & BR_LEARNING);
learn_ena = br_port_flag_is_set(netdev, BR_LEARNING);
~(BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD | BR_PORT_LOCKED))
err = prestera_port_learning_set(port, br_port->flags & BR_LEARNING);
br_port->flags = BR_LEARNING | BR_FLOOD | BR_LEARNING_SYNC |
if (attr->u.brport_flags.mask & ~(BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD)) {
bridge_port->flags & BR_LEARNING);
if (adding && !br_port_flag_is_set(dev, BR_LEARNING))
bridge_port->flags = BR_LEARNING | BR_FLOOD | BR_LEARNING_SYNC |
if (flags.mask & ~(BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
if (flags.mask & BR_LEARNING) {
flags.val & BR_LEARNING);
if (flags.mask & BR_LEARNING)
!!(flags.val & BR_LEARNING));
BR_LEARNING))
flags.mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD;
flags.mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD;
flags.val = flags.mask & ~BR_LEARNING;
if (flags.mask & ~(BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
if (flags.mask & BR_LEARNING)
!!(flags.val & BR_LEARNING));
flags.mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD;
flags.mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD;
flags.val = flags.mask & ~BR_LEARNING;
ofdpa_port->brport_flags = BR_LEARNING;
!!(ofdpa_port->brport_flags & BR_LEARNING));
if ((orig_flags ^ ofdpa_port->brport_flags) & BR_LEARNING)
!!(ofdpa_port->brport_flags & BR_LEARNING));
*p_brport_flags_support = BR_LEARNING;
if (flags.mask & ~(BR_LEARNING | BR_MCAST_FLOOD))
if (flags.mask & ~(BR_LEARNING | BR_MCAST_FLOOD))
if (brport_flags.mask & ~(BR_LEARNING | BR_MCAST_FLOOD))
#define BR_AUTO_MASK (BR_FLOOD | BR_LEARNING)
p->flags = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD;
nla_put_u8(skb, IFLA_BRPORT_LEARNING, !!(flags & BR_LEARNING)) ||
br_set_port_flag(&set, &clear, tb, IFLA_BRPORT_LEARNING, BR_LEARNING);
(!(flags & BR_PORT_LOCKED) || !(flags & BR_LEARNING))) {
#define BR_PORT_FLAGS_HW_OFFLOAD (BR_LEARNING | BR_FLOOD | BR_PORT_MAB | \
IFLA_BRPORT_LEARNING, BR_LEARNING) ||
.mask = BR_LEARNING,
const unsigned long mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
const unsigned long mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD |
if (flags.mask & BR_LEARNING) {
bool learning = flags.val & BR_LEARNING;