aya: rename LinkInner::FdLink to LinkInner::Fd to standardize

Renaming to implement a macro for TryFrom<link> for FdLink for various
program types

Refs: #1264

Co-authored-by: Benjamin Barzen <bbarzen@amazon.com>
reviewable/pr1264/r4
Mehnaz Yunus 3 weeks ago
parent 6314e6100e
commit 469d982a38

@ -87,7 +87,7 @@ impl Iter {
self.data
.links
.insert(IterLink::new(PerfLinkInner::FdLink(FdLink::new(link_fd))))
.insert(IterLink::new(PerfLinkInner::Fd(FdLink::new(link_fd))))
}
}
@ -108,7 +108,7 @@ impl TryFrom<IterLink> for FdLink {
type Error = LinkError;
fn try_from(value: IterLink) -> Result<Self, Self::Error> {
if let PerfLinkInner::FdLink(fd) = value.into_inner() {
if let PerfLinkInner::Fd(fd) = value.into_inner() {
Ok(fd)
} else {
Err(LinkError::InvalidLink)
@ -122,7 +122,7 @@ impl TryFrom<FdLink> for IterLink {
fn try_from(fd_link: FdLink) -> Result<Self, Self::Error> {
let info = bpf_link_get_info_by_fd(fd_link.fd.as_fd())?;
if info.type_ == (BPF_LINK_TYPE_ITER as u32) {
return Ok(Self::new(PerfLinkInner::FdLink(fd_link)));
return Ok(Self::new(PerfLinkInner::Fd(fd_link)));
}
Err(LinkError::InvalidLink)
}
@ -142,7 +142,7 @@ impl IterLink {
/// Converts [`IterLink`] into a [`File`] that can be used to retrieve the
/// outputs of the iterator program.
pub fn into_file(self) -> Result<File, LinkError> {
if let PerfLinkInner::FdLink(fd) = self.into_inner() {
if let PerfLinkInner::Fd(fd) = self.into_inner() {
let fd = bpf_create_iter(fd.fd.as_fd()).map_err(|io_error| {
LinkError::SyscallError(SyscallError {
call: "bpf_iter_create",

@ -131,7 +131,7 @@ impl TryFrom<KProbeLink> for FdLink {
type Error = LinkError;
fn try_from(value: KProbeLink) -> Result<Self, Self::Error> {
if let PerfLinkInner::FdLink(fd) = value.into_inner() {
if let PerfLinkInner::Fd(fd) = value.into_inner() {
Ok(fd)
} else {
Err(LinkError::InvalidLink)
@ -145,7 +145,7 @@ impl TryFrom<FdLink> for KProbeLink {
fn try_from(fd_link: FdLink) -> Result<Self, Self::Error> {
let info = bpf_link_get_info_by_fd(fd_link.fd.as_fd())?;
if info.type_ == (bpf_link_type::BPF_LINK_TYPE_KPROBE_MULTI as u32) {
return Ok(Self::new(PerfLinkInner::FdLink(fd_link)));
return Ok(Self::new(PerfLinkInner::Fd(fd_link)));
}
Err(LinkError::InvalidLink)
}

@ -26,7 +26,7 @@ pub(crate) enum PerfLinkIdInner {
#[derive(Debug)]
pub(crate) enum PerfLinkInner {
FdLink(FdLink),
Fd(FdLink),
PerfLink(PerfLink),
}
@ -35,14 +35,14 @@ impl Link for PerfLinkInner {
fn id(&self) -> Self::Id {
match self {
Self::FdLink(link) => PerfLinkIdInner::FdLinkId(link.id()),
Self::Fd(link) => PerfLinkIdInner::FdLinkId(link.id()),
Self::PerfLink(link) => PerfLinkIdInner::PerfLinkId(link.id()),
}
}
fn detach(self) -> Result<(), ProgramError> {
match self {
Self::FdLink(link) => link.detach(),
Self::Fd(link) => link.detach(),
Self::PerfLink(link) => link.detach(),
}
}
@ -101,7 +101,7 @@ pub(crate) fn perf_attach(
call: "bpf_link_create",
io_error,
})?;
Ok(PerfLinkInner::FdLink(FdLink::new(link_fd)))
Ok(PerfLinkInner::Fd(FdLink::new(link_fd)))
} else {
perf_attach_either(prog_fd, fd, None)
}

@ -192,7 +192,7 @@ impl TryFrom<PerfEventLink> for FdLink {
type Error = LinkError;
fn try_from(value: PerfEventLink) -> Result<Self, Self::Error> {
if let PerfLinkInner::FdLink(fd) = value.into_inner() {
if let PerfLinkInner::Fd(fd) = value.into_inner() {
Ok(fd)
} else {
Err(LinkError::InvalidLink)
@ -206,7 +206,7 @@ impl TryFrom<FdLink> for PerfEventLink {
fn try_from(fd_link: FdLink) -> Result<Self, Self::Error> {
let info = bpf_link_get_info_by_fd(fd_link.fd.as_fd())?;
if info.type_ == (bpf_link_type::BPF_LINK_TYPE_PERF_EVENT as u32) {
return Ok(Self::new(PerfLinkInner::FdLink(fd_link)));
return Ok(Self::new(PerfLinkInner::Fd(fd_link)));
}
Err(LinkError::InvalidLink)
}

@ -231,7 +231,7 @@ impl SchedClassifier {
let prog_fd = self.fd()?;
let prog_fd = prog_fd.as_fd();
match link.into_inner() {
TcLinkInner::FdLink(link) => {
TcLinkInner::Fd(link) => {
let fd = link.fd;
let link_fd = fd.as_fd();
@ -244,7 +244,7 @@ impl SchedClassifier {
self.data
.links
.insert(SchedClassifierLink::new(TcLinkInner::FdLink(FdLink::new(
.insert(SchedClassifierLink::new(TcLinkInner::Fd(FdLink::new(
fd,
))))
}
@ -314,7 +314,7 @@ impl SchedClassifier {
self.data
.links
.insert(SchedClassifierLink::new(TcLinkInner::FdLink(FdLink::new(
.insert(SchedClassifierLink::new(TcLinkInner::Fd(FdLink::new(
link_fd,
))))
}
@ -414,7 +414,7 @@ pub(crate) enum TcLinkIdInner {
#[derive(Debug)]
pub(crate) enum TcLinkInner {
FdLink(FdLink),
Fd(FdLink),
NlLink(NlLink),
}
@ -423,14 +423,14 @@ impl Link for TcLinkInner {
fn id(&self) -> Self::Id {
match self {
Self::FdLink(link) => TcLinkIdInner::FdLinkId(link.id()),
Self::Fd(link) => TcLinkIdInner::FdLinkId(link.id()),
Self::NlLink(link) => TcLinkIdInner::NlLinkId(link.id()),
}
}
fn detach(self) -> Result<(), ProgramError> {
match self {
Self::FdLink(link) => link.detach(),
Self::Fd(link) => link.detach(),
Self::NlLink(link) => link.detach(),
}
}
@ -442,7 +442,7 @@ impl<'a> TryFrom<&'a SchedClassifierLink> for &'a FdLink {
type Error = LinkError;
fn try_from(value: &'a SchedClassifierLink) -> Result<Self, Self::Error> {
if let TcLinkInner::FdLink(fd) = value.inner() {
if let TcLinkInner::Fd(fd) = value.inner() {
Ok(fd)
} else {
Err(LinkError::InvalidLink)
@ -454,7 +454,7 @@ impl TryFrom<SchedClassifierLink> for FdLink {
type Error = LinkError;
fn try_from(value: SchedClassifierLink) -> Result<Self, Self::Error> {
if let TcLinkInner::FdLink(fd) = value.into_inner() {
if let TcLinkInner::Fd(fd) = value.into_inner() {
Ok(fd)
} else {
Err(LinkError::InvalidLink)
@ -468,7 +468,7 @@ impl TryFrom<FdLink> for SchedClassifierLink {
fn try_from(fd_link: FdLink) -> Result<Self, Self::Error> {
let info = bpf_link_get_info_by_fd(fd_link.fd.as_fd())?;
if info.type_ == (bpf_link_type::BPF_LINK_TYPE_TCX as u32) {
return Ok(Self::new(TcLinkInner::FdLink(fd_link)));
return Ok(Self::new(TcLinkInner::Fd(fd_link)));
}
Err(LinkError::InvalidLink)
}

@ -103,7 +103,7 @@ impl TryFrom<TracePointLink> for FdLink {
type Error = LinkError;
fn try_from(value: TracePointLink) -> Result<Self, Self::Error> {
if let PerfLinkInner::FdLink(fd) = value.into_inner() {
if let PerfLinkInner::Fd(fd) = value.into_inner() {
Ok(fd)
} else {
Err(LinkError::InvalidLink)
@ -117,7 +117,7 @@ impl TryFrom<FdLink> for TracePointLink {
fn try_from(fd_link: FdLink) -> Result<Self, Self::Error> {
let info = bpf_link_get_info_by_fd(fd_link.fd.as_fd())?;
if info.type_ == (bpf_link_type::BPF_LINK_TYPE_TRACING as u32) {
return Ok(Self::new(PerfLinkInner::FdLink(fd_link)));
return Ok(Self::new(PerfLinkInner::Fd(fd_link)));
}
Err(LinkError::InvalidLink)
}

@ -224,7 +224,7 @@ impl TryFrom<UProbeLink> for FdLink {
type Error = LinkError;
fn try_from(value: UProbeLink) -> Result<Self, Self::Error> {
if let PerfLinkInner::FdLink(fd) = value.into_inner() {
if let PerfLinkInner::Fd(fd) = value.into_inner() {
Ok(fd)
} else {
Err(LinkError::InvalidLink)
@ -238,7 +238,7 @@ impl TryFrom<FdLink> for UProbeLink {
fn try_from(fd_link: FdLink) -> Result<Self, Self::Error> {
let info = bpf_link_get_info_by_fd(fd_link.fd.as_fd())?;
if info.type_ == (bpf_link_type::BPF_LINK_TYPE_TRACING as u32) {
return Ok(Self::new(PerfLinkInner::FdLink(fd_link)));
return Ok(Self::new(PerfLinkInner::Fd(fd_link)));
}
Err(LinkError::InvalidLink)
}

@ -158,7 +158,7 @@ impl Xdp {
})?;
self.data
.links
.insert(XdpLink::new(XdpLinkInner::FdLink(FdLink::new(link_fd))))
.insert(XdpLink::new(XdpLinkInner::Fd(FdLink::new(link_fd))))
} else {
let if_index = if_index as i32;
unsafe { netlink_set_xdp_fd(if_index, Some(prog_fd), None, flags.bits()) }
@ -197,7 +197,7 @@ impl Xdp {
let prog_fd = self.fd()?;
let prog_fd = prog_fd.as_fd();
match link.into_inner() {
XdpLinkInner::FdLink(fd_link) => {
XdpLinkInner::Fd(fd_link) => {
let link_fd = fd_link.fd;
bpf_link_update(link_fd.as_fd(), prog_fd, None, 0).map_err(|io_error| {
SyscallError {
@ -208,7 +208,7 @@ impl Xdp {
self.data
.links
.insert(XdpLink::new(XdpLinkInner::FdLink(FdLink::new(link_fd))))
.insert(XdpLink::new(XdpLinkInner::Fd(FdLink::new(link_fd))))
}
XdpLinkInner::NlLink(nl_link) => {
let if_index = nl_link.if_index;
@ -280,7 +280,7 @@ pub(crate) enum XdpLinkIdInner {
#[derive(Debug)]
pub(crate) enum XdpLinkInner {
FdLink(FdLink),
Fd(FdLink),
NlLink(NlLink),
}
@ -289,14 +289,14 @@ impl Link for XdpLinkInner {
fn id(&self) -> Self::Id {
match self {
Self::FdLink(link) => XdpLinkIdInner::FdLinkId(link.id()),
Self::Fd(link) => XdpLinkIdInner::FdLinkId(link.id()),
Self::NlLink(link) => XdpLinkIdInner::NlLinkId(link.id()),
}
}
fn detach(self) -> Result<(), ProgramError> {
match self {
Self::FdLink(link) => link.detach(),
Self::Fd(link) => link.detach(),
Self::NlLink(link) => link.detach(),
}
}
@ -308,7 +308,7 @@ impl TryFrom<XdpLink> for FdLink {
type Error = LinkError;
fn try_from(value: XdpLink) -> Result<Self, Self::Error> {
if let XdpLinkInner::FdLink(fd) = value.into_inner() {
if let XdpLinkInner::Fd(fd) = value.into_inner() {
Ok(fd)
} else {
Err(LinkError::InvalidLink)
@ -323,7 +323,7 @@ impl TryFrom<FdLink> for XdpLink {
// unwrap of fd_link.fd will not panic since it's only None when being dropped.
let info = bpf_link_get_info_by_fd(fd_link.fd.as_fd())?;
if info.type_ == (bpf_link_type::BPF_LINK_TYPE_XDP as u32) {
return Ok(Self::new(XdpLinkInner::FdLink(fd_link)));
return Ok(Self::new(XdpLinkInner::Fd(fd_link)));
}
Err(LinkError::InvalidLink)
}

Loading…
Cancel
Save