restore lost packages from 0.2.3 + fix overwritten 0.2.4 files
- Restore 29 recipe symlinks (libdrm, qtbase, dbus, sddm, pipewire, etc.) - Restore 33 patches (KDE, libdrm, mesa, pipewire, sddm, wireplumber) - Restore 20+ local/scripts (audit, lint, test, build helpers) - Restore src/cook/scheduler.rs, status.rs, gnu-config/ - Restore scripts/patch-inclusion-gate.sh, run_mini1.sh, validate-collision-log.sh - Recover TLC source from HEAD (was overwritten by 0.2.3 checkout) - Recover 11 local/docs plans from HEAD (were overwritten) - Recover qt6-wayland-smoke symlink from HEAD - Fix MOTD: remove garbled ASCII art, use clean text - Update version: 0.2.0 -> 0.2.4 in os-release, motd, config - Reduce filesystem_size: 1536 -> 512 MiB - Add ABSOLUTE RULE to AGENTS.md: never delete/ignore packages - Reduce pcid scheme log verbosity: info -> debug
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _LINUX_IF_MACVLAN_H
|
||||
#define _LINUX_IF_MACVLAN_H
|
||||
|
||||
#include <linux/if_link.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <net/netlink.h>
|
||||
#include <linux/u64_stats_sync.h>
|
||||
|
||||
struct macvlan_port;
|
||||
|
||||
#define MACVLAN_MC_FILTER_BITS 8
|
||||
#define MACVLAN_MC_FILTER_SZ (1 << MACVLAN_MC_FILTER_BITS)
|
||||
|
||||
struct macvlan_dev {
|
||||
struct net_device *dev;
|
||||
struct list_head list;
|
||||
struct hlist_node hlist;
|
||||
struct macvlan_port *port;
|
||||
struct net_device *lowerdev;
|
||||
netdevice_tracker dev_tracker;
|
||||
void *accel_priv;
|
||||
struct vlan_pcpu_stats __percpu *pcpu_stats;
|
||||
|
||||
DECLARE_BITMAP(mc_filter, MACVLAN_MC_FILTER_SZ);
|
||||
|
||||
netdev_features_t set_features;
|
||||
enum macvlan_mode mode;
|
||||
u16 flags;
|
||||
unsigned int macaddr_count;
|
||||
u32 bc_queue_len_req;
|
||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||
struct netpoll *netpoll;
|
||||
#endif
|
||||
};
|
||||
|
||||
static inline void macvlan_count_rx(const struct macvlan_dev *vlan,
|
||||
unsigned int len, bool success,
|
||||
bool multicast)
|
||||
{
|
||||
if (likely(success)) {
|
||||
struct vlan_pcpu_stats *pcpu_stats;
|
||||
|
||||
pcpu_stats = get_cpu_ptr(vlan->pcpu_stats);
|
||||
u64_stats_update_begin(&pcpu_stats->syncp);
|
||||
u64_stats_inc(&pcpu_stats->rx_packets);
|
||||
u64_stats_add(&pcpu_stats->rx_bytes, len);
|
||||
if (multicast)
|
||||
u64_stats_inc(&pcpu_stats->rx_multicast);
|
||||
u64_stats_update_end(&pcpu_stats->syncp);
|
||||
put_cpu_ptr(vlan->pcpu_stats);
|
||||
} else {
|
||||
this_cpu_inc(vlan->pcpu_stats->rx_errors);
|
||||
}
|
||||
}
|
||||
|
||||
extern void macvlan_common_setup(struct net_device *dev);
|
||||
|
||||
struct rtnl_newlink_params;
|
||||
|
||||
extern int macvlan_common_newlink(struct net_device *dev,
|
||||
struct rtnl_newlink_params *params,
|
||||
struct netlink_ext_ack *extack);
|
||||
|
||||
extern void macvlan_dellink(struct net_device *dev, struct list_head *head);
|
||||
|
||||
extern int macvlan_link_register(struct rtnl_link_ops *ops);
|
||||
|
||||
#if IS_ENABLED(CONFIG_MACVLAN)
|
||||
static inline struct net_device *
|
||||
macvlan_dev_real_dev(const struct net_device *dev)
|
||||
{
|
||||
struct macvlan_dev *macvlan = netdev_priv(dev);
|
||||
|
||||
return macvlan->lowerdev;
|
||||
}
|
||||
#else
|
||||
static inline struct net_device *
|
||||
macvlan_dev_real_dev(const struct net_device *dev)
|
||||
{
|
||||
BUG();
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline void *macvlan_accel_priv(struct net_device *dev)
|
||||
{
|
||||
struct macvlan_dev *macvlan = netdev_priv(dev);
|
||||
|
||||
return macvlan->accel_priv;
|
||||
}
|
||||
|
||||
static inline bool macvlan_supports_dest_filter(struct net_device *dev)
|
||||
{
|
||||
struct macvlan_dev *macvlan = netdev_priv(dev);
|
||||
|
||||
return macvlan->mode == MACVLAN_MODE_PRIVATE ||
|
||||
macvlan->mode == MACVLAN_MODE_VEPA ||
|
||||
macvlan->mode == MACVLAN_MODE_BRIDGE;
|
||||
}
|
||||
|
||||
static inline int macvlan_release_l2fw_offload(struct net_device *dev)
|
||||
{
|
||||
struct macvlan_dev *macvlan = netdev_priv(dev);
|
||||
|
||||
macvlan->accel_priv = NULL;
|
||||
return dev_uc_add(macvlan->lowerdev, dev->dev_addr);
|
||||
}
|
||||
#endif /* _LINUX_IF_MACVLAN_H */
|
||||
Reference in New Issue
Block a user